P4-M 4/28 Binary Lesson HACKS
Learn the basics of binary including truth tables, boolean expressions, binary conversions, and binary searches.
Lesson Note Taker
Fill in the blanks below during the binary presentation. You can visit our website here!^ Due to last minute deployment issues, may need to run a local server
- git clone https://github.com/TheoH32/Runtime_Terror.git
- run:
- bundle install
- bundle exec jekyll serve
Binary
- Binary is a base 2 number system.
- 0 represents 1 and 1 represents 2.
- A byte is the minimum unit of binary information stored in a computer system.
Boolean Expressions
- A boolean experssion is a logical statement that is either TRUE or FALSE and compares data.
Truth Tables
- The logical operations shown in truth tables are and, or, not, and xor.
# AND
5 > 3 and 5 == 3 + 2
5 < 3 and 5 == 5
5 == 5 or 5 != 5
5 < 3 or 5 != 5
age = 18
citizen = True
if age >= 18 and citizen:
print("You are eligible to vote.")
else:
print("You are not eligible to vote.")
Binary Conversions
Binary to Decimal
- We can count in binary by using powers of 2.
- In binary, we read from right to left.
- 0111 has a value of 7.
Binary Search
- For a binary search, the list must be sorted.
- In a binary search, computers start at the front (front,middle,end)/
- The number of steps required in a binary search follows the equation: log2(n)+1.
- Binary searches also work with a list of strings. We can sort them alphabetically.
- Binary searches can be represented in Tree diagrams.
Hacks
You will NOT be awarded any points for sections that are INCOMPLETE
Note Taker
- Fill in all of the blanks above.
Lesson Quiz
- Complete the lesson quiz
-
SCREENSHOT SCORE and paste it here (or paste screenshot with submission)' ### Binary Game
-
Complete the Binary game and reach a minimum score of 10!
- SCREENSHOT SCORE and paste it here (or with submission)
Binary Conversions Practice
-
How do you convert the decimal number "17" into binary? Answer: Divide 17 by 2 repeatedly and write the remainders in reverse order: 10001.
-
How do you convert the binary number 1010 into decimal? Answer: Multiply each digit by its corresponding power of 2 and sum the results: 10.
-
How do you convert the decimal number "122" into hexadecimal? Answer: Divide 122 by 16 repeatedly and write the remainders in reverse order: 7A.
-
How do you convert the hexadecimal number "09" into binary? Answer: Replace each digit with its 4-bit binary equivalent: 1001.
Binary Search Questions
- Make a binary search tree of different the list [1,2,4,15,25,30,31]
- Put this list of strings in a order that can be used for binary search ["Donut”,"Cake”,"Soda”,"Banana”,"Fruit”]
- Explain why Binary Search is more efficient than Sequential Search.
- Binary search is more efficient than sequential search because it has a time complexity of O(log n) whereas sequential search has a time complexity of O(n).
class Node:
def __init__(self, val):
self.left = None
self.right = None
self.val = val
def insert(root, val):
if not root:
return Node(val)
elif root.val < val:
root.right = insert(root.right, val)
else:
root.left = insert(root.left, val)
return root
def inorder(root):
if root:
inorder(root.left)
print(root.val)
inorder(root.right)
# Create a binary search tree from a list
list1 = [1, 2, 4, 15, 25, 30, 31]
root = None
for i in list1:
root = insert(root, i)
# Print the inorder traversal of the binary search tree
inorder(root)
# Given list of strings
list2 = ["Donut", "Cake", "Soda", "Banana", "Fruit"]
# Sort the list alphabetically
list2.sort()
# Print the sorted list
print(list2)
Hacks Scoring
Hack | Comments | Grade |
---|---|---|
Note Taker | fill in the blanks above | 0.1 |
Lesson Quiz | under 100% = 0.1 only | 0.2 |
Binary Game | must score at least 10 points | 0.2 |
Binary Conversions Practice | if incorrect= 0.2 awarded | 0.2 |
Binary Search Questions | if incorrect= 0.2 awarded | 0.2 |
Extra Credit | MUST SHOW WORK | 0.1 |
Total | expected= 0.9/1 | 1/1 |