Binary Search Trees are an effective solution to store data in a computer program and perform a binary search. The benefits of using a BST (Binary Search Tree) data structure is that data can be added to the tree as…
The Huffman Coding algorithm is used to implement lossless compression. For the purpose of this blog post, we will investigate how this algorithm can be implemented to encode/compress textual information. The principle of this algorithm is to replace each character…
For her PSHE homework on the importance of sleep, Clarisse has decided to collect data from pupils of different year groups from her school. She will do so using a short survey. The aim of the survey will be to…
Reverse Polish notation (RPN), also known as Polish postfix notation or simply postfix notation, is a mathematical notation in which operators follow their operands. This notation is an alternative notation to the standard infix notation in which operators are located…
The purpose of this blog post is to write a Python script that will interpret a Boolean expression and output its full Truth Table. Boolean Expressions & Truth Tables Before attempting this challenge, you should test your understanding of Boolean…
Digital data consists of binary information and is stored as a collection of 0’s and 1’s. On a computer system, numbers, text, pictures, sound files, video clips and computer programs are all stored using binary code. Storing text files in…
In our previous blog post “from transistors to processors” we found out that the CPU consists of logic gates, which are made using transistors. In this blog post we are looking at how these logic gates can be combined to…
In this post we will create an Arithmetic & Logic Unit (ALU) using logic gates. The ALU is one of the main component of the CPU. It is used in the Execution stage of the FDE cycle to perform all…
A binary shift is a binary operation that consists of shifting all the digit of a binary number either to the left or to the right by a fixed amount. Binary shifts can be used to multiply a number by…
Binary comparators are logic gates circuit used to compare two binary inputs. There are two types of binary comparators: Equality Comparators are used to check if the two binary inputs (A and B) are equal or not. Magnitude Comparators are…