Skip to content
Snippets Groups Projects
Verified Commit 6aa28209 authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

feat: looks like known characters are working

parent 8cf6c914
No related branches found
No related tags found
No related merge requests found
......@@ -13,21 +13,8 @@ class Node:
right: Node | None = None
def char_in_tree(tree: Node, char: str) -> Node | None:
if tree.left != None:
char_in_tree(tree.left, char)
elif tree.right != None:
char_in_tree(tree.right, char)
if tree.value == char:
return tree
else:
return None
def swap(tree: Node):
if tree.left and tree.right:
# print("weeeeeeeeeeeeeeesh")
if tree.left.weight > tree.right.weight:
print(f'({tree.left.weight}, {tree.right.weight})')
tmp = tree.right
......@@ -35,6 +22,12 @@ def swap(tree: Node):
tree.left = tmp
def insert_char(tree: Node, char: str):
if tree.left:
if tree.left.value == char:
tree.left.weight += 1
tree.weight += 1
return
# Leaf case
if tree.left == None and tree.right == None:
tree.left = Node()
......@@ -49,10 +42,10 @@ def insert_char(tree: Node, char: str):
if tree.right:
insert_char(tree.right, char)
tree.weight += 1
swap(tree)
def compute_vitter_params(m: int) -> (int, int):
e = math.floor(np.log2(m))
r = m - (2 ** e)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment