python資料結構之二叉樹的建立例項

2022-10-05 00:12:26 字數 2357 閱讀 7287

先建立二叉樹節點,有乙個data資料域,left,right 兩個指標域

複製** **如下:

# -*- coding: utf - 8 - *-

class treenode(object):

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

self.left = left

self.right = right

self.data = data

複製** **如下:

class btree(object):

def __init__(self, root=0):

self.root = root

手動建立二叉樹

複製** **如下:

node1 = treenode(data=1)

node2 = treenode(node1, 0, 2)

node3 = treenode(data=3)

node4 = treenode(data=4)

node5 = treenode(node3, node4, 5)

node6 = treenode(node2, node5, 6)

node7 = treenode(node6, 0, 7)

node8 = treenode(dat

root = treenode(node7, node8, 'root')

bt = btree(root)

然後會生成下面的二叉樹

複製** **如下:

# 生成的二叉樹

# ------------------------

#          root

#       7        8

#     6

#   2   5

# 1    3 4

## -------------------------

除了 手動乙個個的制定 node 節點,還可以建立乙個 create 方法,接受使用者輸入新增二叉樹節點。。。使用前續方式新增 ,**如下:

複製** **如下:

# -*- coding: utf - 8 - *-

class treenode(object):

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

self.left = left

= right

self.data = data

class btree(object):

def __init__(self, root=0):

self.root = root

def is_empty(self):

if self.root is 0:

return true

else:

return false

def create(self):

temp = input('enter a value:')

if temp is '#':

return 0

程式設計客棧;      treenode = treenode(data=temp)

www.cppcns.com      if self.root is 0:

self.root = treenode

treenode.left = self.create()

treenode.right = self.create()

使用create建立二叉樹

複製** **如下:

#執行檔案 在互動直譯器下面執行

bt = btree()

bt.cre

enter a value:9

enter a value:7

enter a value:6

enter a value:2

enter a value:1

enter a value:'#'

enter a value:'#'

enter a value:'#'

enter a value:5

enter a value:3

enter a value:'#'

enter a value:'#'

enter a value:4

enter a value:'#'

enter a value:'#'

enter a value:'#'

enter a value:8

enter a value:'#'

enter a value:'#'

通過 create 也可以得到同樣的效果

本文標題: python資料結構之二叉樹的建立例項

本文位址:

資料結構之二叉樹

在二叉樹中每個節點最多只能有兩個子節點。即左子節點和有子節點。在二叉樹中最重要的操作應當是遍歷。即按照某一順序訪問二叉樹中的每乙個節點。一般有如下幾種遍歷方法 1 前序遍歷,即先訪問根幾點,然後再訪問左子節點,最後訪問右子節點。2 中序遍歷,即先訪問左子節點,然後再訪問根節點,最後訪問右子節點。3 ...

資料結構之二叉樹

定義 滿足以下條件的就是樹 1.有且僅有乙個特定的稱為根root的結點。2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...

資料結構之二叉樹

來看一下樹的結構 class treenode public treenode string value 首先,為了方便後面看到效果,先手動初始化乙個有4個節點的二叉樹 tree tree new tree treenode root new treenode root treenode node1...