一棵樹當中沒有子結點(即度為0)的結點稱為葉子結點,簡稱「葉子」。 葉子是指度為0的結點,又稱為終端結點。
這個二叉樹有五個葉子節點,分別為7,8,9,5,6.
def leaf(self,root):
if root==none:
return 0 #當二叉樹為空時直接返回0
elif root.left==none and root.right==none:
return 1 ##當二叉樹只有乙個根,但是無左右孩子時,根節點就是乙個葉子節點
else:
return (self.leaf(root.left)+self.leaf(root.right)) #其他情況就需要根據遞迴來實現
tree=tree()
tree.add(1)
tree.add(2)
tree.add(3)
tree.add(4)
tree.add(5)
tree.add(6)
tree.add(7)
tree.add(8)
tree.add(9)
print(" ")
print("葉子節點的個數為:")
num=tree.leaf(tree.root)
print(num)
這裡的add方法在上面一起有實現,這篇文章中就直接呼叫了這個add方 二叉樹(補充)
1.二叉樹的下乙個節點 給定乙個二叉樹和其中的乙個結點,請找出中序遍歷 左,根,右 順序的下乙個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。2 當前節點的右子樹不存在且當前節點是其父節點的左子節點,則其父節點就是下一節點。3 當前節點的右子樹不存在且當前節點是其父節點...
python實現二叉樹
初學python,需要實現乙個決策樹,首先實踐一下利用python實現乙個二叉樹資料結構。建樹的時候做了處理,保證建立的二叉樹是平衡二叉樹。coding utf 8 from collections import deque class node def init self,val,left non...
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 ...