python實現二叉樹及插入,遍歷操作

2021-08-04 07:56:33 字數 1346 閱讀 2218

」』

author:xzfreewind

」』class treenode(object):

definit(self,value,left=none,right=none):

self.vaule = value

self.left = left

self.right = right

class binary_tree(object):

#初始化二叉樹

definit(self):

self.root = treenode()

#插入資料

def add_date(self,data):

node = treenode(data)

#如果二叉樹為空,則將資料寫入根節點

if self.isempty():

self.root = node

else: #如果二叉樹非空,則通過列表遍歷其左右節點,直至有節點為空,並寫入

tree_node = self.root

queue =

while queue:

tree_node = queue.pop()

if tree_node.left == none:

tree_node.left = node

return

if tree_node.right == none:

tree_node.right = node

return

else:

#先序遍歷

def pre_map(self,root):

if root == none:

return

print root.value

self.pre_map(root.left)

self.pre_map(root.right)

#中序遍歷

def middle_map(self,root):

if root == none:

return

self.middle_map(root.left)

print root.value

self.middle_map(root.right)

#後序遍歷

def later_map(self,root):

if root == none:

return

self.later_map(root.left)

self.later_map(root.right)

print root.value

python實現二叉樹

初學python,需要實現乙個決策樹,首先實踐一下利用python實現乙個二叉樹資料結構。建樹的時候做了處理,保證建立的二叉樹是平衡二叉樹。coding utf 8 from collections import deque class node def init self,val,left non...

二叉樹遍歷python 在Python中遍歷二叉樹

我幾乎完成了乙個專案,讓我們建立乙個字典類,利用二叉樹結構。然而,我一直糾結於如何實現乙個列印出樹中所有元素的方法,我只是對二進位制樹沒有太多的經驗,所以在如何對其進行編碼上相當混亂。我試圖找出的方法是keys方法,它將遍歷整個樹並返回所有鍵的列表。我認識的人暗示我應該建立乙個私有的helper函式...

python 二叉樹查詢 Python二叉樹搜尋

stack depth is initialised to 0 def find in tree node,find condition,stack depth assert stack depth max stack depth deeper than max depth stack depth ...