二叉树:
(建议你去百度,感觉百度还是很详细的)这个东西怎么说,很复杂,想要理解很难; 但是要懂也简单 , 懂了就是懂了,不懂,那就没办法了 , 我想说 , 我是似懂非懂...
例子: 用二叉树 进行排序:
#二叉树
class BTree:
root = None
class Node:
data = None
left = None
right = None
def zhongxu(self):
if self.left is not None:
self.left.zhongxu()
print(self.data)
if self.right is not None:
self.right.zhongxu()
def add(self, node):
if self.data > node.data:
if self.left is None:
self.left = node
else:
self.left.add(node)
if self.data < node.data:
if self.right is None:
self.right = node
else:
self.right.add(node)
def add(self, data):
node = self.Node()
node.data = data
if self.root is None:
self.root = node
else :
self.root.add(node)
def zhongxu(self):
self.root.zhongxu()
if __name__ == '__main__':
btree = BTree()
btree.add(10)
btree.add(5)
btree.add(8)
btree.add(20)
btree.add(31)
btree.zhongxu()
'''
5
8
10
20
31
'''