您的位置:首页 > 编程语言 > Python开发

B树排序算法之Python版

2015-12-10 17:50 323 查看
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# added by kangye, dependent on python27

class BTree:
def __init__(self,value):
self.left=None
self.data=value
self.right=None

def insertLeft(self,value):
self.left=BTree(value)
return self.left

def insertRight(self,value):
self.right=BTree(value)
return self.right

def show(self):
print self.data

def inorder(node):
if node.data:
if node.left:
inorder(node.left)
node.show()
if node.right:
inorder(node.right)

def rinorder(node):
if node.data:
if node.right:
rinorder(node.right)
node.show()
if node.left:
rinorder(node.left)

def insert(node,value):
if value > node.data:
if node.right:
insert(node.right,value)
else:
node.insertRight(value)
else:
if node.left:
insert(node.left,value)
else:
node.insertLeft(value)

if __name__ == "__main__":

l=[88,11,2,33,22,4,55,33,221,34]
Root=BTree(l[0])
node=Root
for i in range(1,len(l)):
insert(Root,l[i])

print "1---->10"
inorder(Root)
print "10--->1"
rinorder(Root)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: