二叉樹類及相關操作
阿新 • • 發佈:2019-02-18
class BinTree(): def __init__(self,root=None,left=None,right=None): self._root=root # 初始化 空樹 self._left = left self._right=right def is_empty(self): return self._root == None def set_root(self,ele):# 設定樹根 self._root =ele def left(self): # 檢視左兒子 return self._left def set_left(self,left): # 設定左兒子 self._left=left def right(self): return self._right def set_right(self,right): self._right=right def travel(self,bt): # 遍歷函式 if bt is None: return 0 else: print(bt._root) self.travel(bt._left) self.travel(bt._right) def main(): a=BinTree() a.set_root('A') a.set_left(BinTree('B')) a.set_right(BinTree(3)) a.travel(a) # 總結:可以看出,樹的類只能是定義 最小的巢狀單元,真正實行起來,必須得巢狀表示, #但是例項可以是最小類單元組成的複雜結構,並且可以進行修改,遍歷的操作