今日學習-『二叉樹』
」自定義二叉樹結構「
下面代碼實現了二叉樹結構,實現二叉樹的創建,插入子節點以及前序遍歷,中序遍歷和後序遍歷等遍歷方式,同時還支持二叉樹中任意子樹的節點遍歷。
class BinaryTree:
def __init__(self,value):
self._left=None
self._right=None
self._data=value
def insertLeftChild(self,value): #創建左子樹
if self._left:
print("left child tree already exists.")
else:
self._left=BinaryTree(value)
return self._left
def insertRightChild(self,value): #創建右子樹
if self._right:
print("right child tree already exists.")
else:
self._right=BinaryTree(value)
return self._right
def show(self):
print(self._data)
def preOrder(self): #前序遍歷(根左右)
print(self._data)
if self._left:
self._left.preOrder
if self._right:
self._right.preOrder
def postOrder(self): #後序遍歷(左右根)
if self._left:
self._left.postOrder
if self._right:
self._right.postOrder
print(self._data)
def inOrder(self): #中序遍歷(左根右)
if self._left:
self._left.inOrder
print(self._data)
if self._right:
self._right.inOrder
if __name__=="__main__":
print("Please use me as a module.")
將上述代碼保存為BinaryTree.py文件,下面的代碼創建了下圖所示的二叉樹,並對該二叉樹進行遍歷。
1 ==== RESTART: C:/Users/Administrator/Desktop/時間寶/python/BinaryTree.py ====
2 Please use me as a module.
3 >>> import BinaryTree
4 >>> root=BinaryTree.BinaryTree("root")
5 >>> b=root.insertRightChild("B")
6 >>> a=root.insertLeftChild("A")
7 >>> c=a.insertLeftChild("c")
8 >>> d=b.insertRightChild("D")
9 >>> e=c.insertLeftChild("E")
10 >>> f=e.insertLeftChild("F")
11 >>> root.inOrder
12 F
13 E
14 c
15 A
16 root
17 B
18 D
19 >>> root.inOrder
20 F
21 E
22 c
23 A
24 root
25 B
26 D
27 >>> root.postOrder
28 F
29 E
30 c
31 A
32 D
33 B
34 root
35 >>> b.inOrder
36 B
37 D
以上就是我的今日總結,有什麼問題或者錯誤可以告訴我喲!繼續加油,努力!
※Servlet做簡單的ajax增刪改查(分頁)
※Oracle 11g DG手工switchover切換標準化流程
※Oracle PL/SQL引用型變數
※linux 自動備份資料庫
TAG:達人科技 |
※風水擇吉學習-二十四山-辰山戌向擇日
※風水擇吉學習-二十四山-巽山乾向擇日
※風水擇吉學習-二十四山-巳山亥向擇日
※風水學習-二十四山擇吉-艮山坤向擇日
※風水學習-二十四山擇吉-艮山坤向擇日
※風水擇吉學習-二十四山-丑山未向擇日
※風水擇吉學習-二十四山-癸山丁向擇日
※風水擇吉學習-二十四山-子山午向擇日
※風水擇吉學習-二十四山-子山午向擇日
※風水擇吉學習-二十四山-寅山申向擇日
※二十四山-壬山丙向-日課大全——風水擇吉學習
※學習乾貨 日語的學習
※每日學習一個學位:湧泉穴
※每日十分鐘經典學習
※在陝西教育學院學習的日子
※【日語學習】N2-N3辭彙練習
※學霸分享 日語學習經驗
※學習日!四六級每日單詞 帶音標
※學習日語的一些建議
※每天學習一點古人智慧(2)