先建立二叉樹節點,有乙個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...