Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if node_lst[root_index].r_type != 0 and node_lst[root_index].l_type != 0:
- last_huff = HuffmanTree()
- last_huff.right = generate_tree_postorder(node_lst[:-1], root_index - 1)
- index_jump = #TODO CALL YOUR LENGTH FUNCTION HERE
- last_huff.left = generate_tree_postorder(node_lst[:-index_jump - 1], root_index - 1 - index_jump)
- return last_huff
- elif node_lst[root_index].l_type != 0 and node_lst[root_index].r_type == 0:
- last_huff = HuffmanTree()
- last_huff.right = HuffmanTree(node_lst[root_index].r_data)
- last_huff.left = generate_tree_postorder(node_lst[:-1], root_index - 1)
- return last_huff
- elif node_lst[root_index].r_type != 0 and node_lst[root_index].l_type == 0:
- last_huff = HuffmanTree()
- last_huff.left = HuffmanTree(node_lst[root_index].l_data)
- last_huff.right = generate_tree_postorder(node_lst[:-1], root_index - 1)
- return last_huff
- else:
- last_huff = HuffmanTree()
- last_huff.left = HuffmanTree(node_lst[root_index].l_data)
- last_huff.right = HuffmanTree(node_lst[root_index].r_data)
- return last_huff
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement