基於python二叉樹的構造和列印例子

2022-09-27 03:03:14 字數 1215 閱讀 7714

寫在最前面:

帶你從最簡單的二叉樹構造開始,深入理解二叉樹的資料結構,ps:不會ozwujmrv資料結構的程式猿只能是三流的

首先,我們構造乙個二叉樹

這是最標準,也是最簡單的二叉樹構造方法

'''樹的構建:

39 20

15 7程式設計客棧

'''class tree():

'樹的實現'

def __init__(self,data,left = 0,right = 0):

self.left = left

self.right = right

self.data = data

def __str__(self):

return str(self.data)

# test tree

tree1 = tree(data=15)

= tree(data=7)

trozwujmrvee3 = tree(20,tree1,tree2)

tree4 = tree(data=9)

base = tree(3,tree4,tree3)

這裡我們需要定義二叉樹的根,左右節點,然後構造節點之間的關係

列印二叉樹函式

def function(root):

a =

result =

if not root:

return result

a.append(root)

while a:

current_root = a.pop(0)

result.append(current_root.data)

if current_root.left:

a.append(current_root.left)

if current_root.right:

a.append(current_root.right)

print(result)

return result

呼叫函式以及放入構造好的二叉樹

function(base)

輸出如下:

[3, 9, 20, 15, 7]

process finished with exit code 0

最近事情實在是太多,真的是每天人都很累,還是堅持每天更新一點,已經快要強迫症了。

本文標題: 基於python二叉樹的構造和列印例子

本文位址:

二叉樹構造

題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。public int findvalptr vectorarr,int val return i 查詢子樹的根節點 publi...

構造二叉樹

題目 根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 理解從前序中可以直接找到根節點,然後從中序中找到這個根節點並...

構造二叉樹

例 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 二叉樹 3 9 20 15 7 definition for a binary tree node.struct treenode class solution treenode buildtr...