演算法導論程式23 有根樹的表示(Python)

2021-08-01 15:46:49 字數 414 閱讀 2600

用鏈式資料結構表示有根樹的問題。

樹的結點用物件表示,每個結點都含有乙個關鍵字key。

二叉樹:

屬性p:指標指向父結點

left:指向左孩子

right:指向右孩子

如果x.p=nil,則x是根結點

如果結點x沒有左孩子,則x.left=nil。右孩子的情況類似。

屬性t.root指向整棵樹t的根結點。如果t.root=nil.則該樹為空。

分支無限制的有根樹:

有乙個巧妙的方法可以用來表示孩子數任意的樹。對任意n個結點的有根樹,只需要o(n)的儲存空間。

左孩子右兄弟表示法:

每個結點中包含:

1.x.left_child指向x最左邊的孩子結點。

2.x.right-sibling指向x右側相鄰的兄弟結點。

演算法導論10 4有根樹的表示習題

10.4 2 偽 x t.root tree key print x print x.key if x.left nil tree key print x.left if x.right nil tree key print x.right end 10.4 3 思路 前序遍歷思想 初始時把根元素壓...

《演算法導論》筆記 第10章 10 4 有根樹的表示

用二叉數表示有多個子女的樹 left x 表示最左邊的兒子,right x 右邊的兄弟。10.4 1 畫出由下列域表示的 根在下標6處的二叉樹。10.4 2 請寫出乙個o n 時間的遞迴過程,在給定含n個結點的二叉樹後,它可以將樹中的每個結點的關鍵字輸出來。void dfs int x 10.4 3...

左孩子右兄弟表示法的任意有根樹的遍歷

演算法導論 p.248 10.4 4題目描述 對於乙個含n個結點的任意有根樹,寫出乙個o n 時間的過程,輸出其所有關鍵字,該樹以左孩子右兄弟表示法儲存。與二叉樹的遍歷類似 class tree def init self,val self.val val self.left child none ...