二進位制搜尋樹 - 插入(Python)
這是使用 Python 進行二進位制搜尋樹插入的簡單實現。
一個例子如下所示:
http://i.stack.imgur.com/3NG0e.gif
在程式碼片段之後,每個影象都顯示了執行視覺化,這使得更容易視覺化此程式碼的工作方式。
class Node:
def __init__(self, val):
self.l_child = None
self.r_child = None
self.data = val
def insert(root, node):
if root is None:
root = node
else:
if root.data > node.data:
if root.l_child is None:
root.l_child = node
else:
insert(root.l_child, node)
else:
if root.r_child is None:
root.r_child = node
else:
insert(root.r_child, node)
def in_order_print(root):
if not root:
return
in_order_print(root.l_child)
print root.data
in_order_print(root.r_child)
def pre_order_print(root):
if not root:
return
print root.data
pre_order_print(root.l_child)
pre_order_print(root.r_child)