python使用List和類的方式構建樹和二叉樹

2021-08-14 09:30:22 字數 1317 閱讀 5967

#使用list構建樹

g = ['g',]

h=['h',]

i=['i',]

k=['k',]

e=['e',[g,h,i,k]]

d=['d',]

f=['f',]

a=['a',[d,e]]

b=['b',]

c=['c',[f]]

root=['root',[a,b,c]]

print(root)

class

btree:

#二叉樹節點

def__init__

(self,value):

#初始化函式

self.left = none

#左兒子

self.right = none

#右兒子

self.data = value #節點值

definsertleft

(self,value):

#左子樹插入節點

self.left = btree(value)

return self.left

definsertright

(self,value):

#右子樹插入節點

self.right = btree(value)

return self.right

defshow

(self):

#輸出節點資料

print(self.data)

if __name__=='__main__':

root=btree('root') #根節點

a=root.insertleft('a') #根結點插入a節點

c=a.insertleft('c')

d = a.insertright('d')

f = d.insertleft('f')

g = d.insertright('g')

b = root.insertright('b')

e=b.insertright('e')

#輸入節點資料

root.show()

root.left.show()

root.right.show()

a=root.left

a.left.show()

root.left.right.show()

d=root.left.right

d.left.show()

d.right.show()

root.right.right.show()

List類的使用

我們常用的list分為以下三種 arraylist linkedlist vector。今天,我們就來從原始碼角度分析以下這三種list 一 arraylist linkedlist vector的異同與使用場景 一般來說,arraylist與vector都是使用陣列來儲存,linkedlist是使...

Python入門(二) List和Tuple型別

1 list的建立 list是一種 有序的集合,可以隨時新增和刪除其中的元素。構造list非常簡單,按照上面的 直接用 把list的所有元素都括起來,就是乙個list物件。通常,我們會把list賦值給乙個變數,這樣,就可以通過變數來引 用list aeoob wanwan 123,true aeoo...

List類系列(二) List類的list 方法

1.用於將元組轉換為列表 元組與列表是非常類似的,區別在於元組的元素值不能修改,元組是放在括號中,列表是放於方括號中。以下例項展示了 list 函式的使用方法 usr bin python coding utf 8 atuple 123,xyz zara abc alist list atuple ...