[英]inorder in non binary tree python
我想在 python 中構建一個函數,它獲取一些非二叉樹並將樹中的值從左到右按順序放在列表中。
您的代碼不包括所有子節點,因為您專門從first_half
和second_half
列表中選擇一個節點來遞歸並忽略其他所有內容。 可能您想循環遍歷這些列表中的每一個:
mid = int(len(children) / 2) + 1
first_half = children[:mid]
second_half = children[mid:]
for child in first_half:
child.iters(by_order)
by_order.append(self)
for child in second_half
child.iters(by_order)
值得注意的是,這個順序似乎有點尷尬。 您選擇將父節點固定在其子節點的正中間(或盡可能靠近,對於奇數個子節點),但這有點隨意。 雖然子節點有明確的順序,但不一定有明確的理由按與它們的任何特定關系對父節點進行排序。 實際上,對於某些類型的非二叉樹(如 B 樹),樹的每個節點中存儲有多個值,並且適當的中序遍歷會將它們交錯在子節點的值之間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.