日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python二叉树的创建与遍历

發(fā)布時(shí)間:2023/12/15 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二叉树的创建与遍历 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

二叉樹的基本概念:

一個(gè)結(jié)點(diǎn)的層次直觀上來(lái)說(shuō)就是其所在的行,其中根結(jié)點(diǎn)層次為1(第一行),其子結(jié)點(diǎn)層次為2(第二行),以此類推

二叉樹的深度(高度):指的是二叉樹中的最大葉子結(jié)點(diǎn)所在的層。二叉樹的深度=max(左子樹深度,右子數(shù)深度)+1,可用遞歸的方式實(shí)現(xiàn)。

二叉樹結(jié)點(diǎn)的度:指該結(jié)點(diǎn)分支的個(gè)數(shù)(0,1,2)

完全二叉樹:若設(shè)二叉樹的高度為h,除第 h 層外,其它各層 (1-h-1) 的結(jié)點(diǎn)數(shù)都達(dá)到最大個(gè)數(shù),第h層有葉子結(jié)點(diǎn),并且葉子結(jié)點(diǎn)都是從左到右依次排布

滿二叉樹:除了葉結(jié)點(diǎn)外每一個(gè)結(jié)點(diǎn)都有左右子葉且葉子結(jié)點(diǎn)都處在最底層的二叉樹

平衡二叉樹(AVL):二叉排序樹,空,或左子樹和右子樹都是平衡二叉樹,且深度差<=1

性質(zhì):

(1) 在非空二叉樹中,第i層的結(jié)點(diǎn)總數(shù)不超過, i>=1;

(2) 深度為h的二叉樹最多有個(gè)結(jié)點(diǎn)(h>=1),最少有h個(gè)結(jié)點(diǎn);

(3) 對(duì)于任意一棵二叉樹,如果其葉結(jié)點(diǎn)數(shù)為N0,而度數(shù)為2的結(jié)點(diǎn)總數(shù)為N2,則N0=N2+1;度為1的結(jié)點(diǎn)數(shù)N1=N-N0-N2

(4) 具有n個(gè)結(jié)點(diǎn)的完全二叉樹的深度為(注:[ ]表示向下取整)

(5)有N個(gè)結(jié)點(diǎn)的完全二叉樹各結(jié)點(diǎn)如果用順序方式存儲(chǔ),則結(jié)點(diǎn)之間有如下關(guān)系:

若I為結(jié)點(diǎn)編號(hào)(編號(hào)從1開始)則 如果I>1,則其父結(jié)點(diǎn)的編號(hào)為I/2;

如果2*I<=N,則其左兒子(即左子樹的根結(jié)點(diǎn))的編號(hào)為2*I;若2*I>N,則無(wú)左兒子;

如果2*I+1<=N,則其右兒子的結(jié)點(diǎn)編號(hào)為2*I+1;若2*I+1>N,則無(wú)右兒子。

(若編號(hào)從0開始,設(shè)l為父節(jié)點(diǎn)編號(hào),則其左兒子的編號(hào)為2*l + 1, 其右兒子的編號(hào)為2*l + 2)

二叉樹的創(chuàng)建與遍歷:

# /usr/bin/pyhton #coding=utf-8 # #author:yumianzhanclass Tree_node():def __init__(self, v = None, l = None, r = None):self.value = vself.left = lself.right = r#創(chuàng)建二叉樹 def creat(root):a = input('Inter a key:')if a is '!':print(a)root = Noneelse:root = Tree_node(v = a)root.left = creat(root.left)root.right = creat(root.right)return root#前序遍歷 def preorder(root):if root is None:returnprint(root.value)preorder(root.left)preorder(root.right)#中序遍歷 def inorder(root):if root is None:returninorder(root.left)print(root.value)inorder(root.right)#后序遍歷 def postorder(root):if root is None:returnpostorder(root.left)postorder(root.right)print(root.value)#測(cè)試 def main():root = Noneroot = creat(root)print(root)print('前序遍歷:')preorder(root)print('中序遍歷:')inorder(root)print('后序遍歷:')postorder(root)if __name__ == '__main__':main()

運(yùn)行程序,建立二叉樹如下:

前序遍歷結(jié)果為: a ?b ?c ?d ?e ?f

中序遍歷結(jié)果為:c ?b ?d ?a ?f ?e?

后序遍歷結(jié)果為:c ?d ?b ?f ?e ?a?

總結(jié)

以上是生活随笔為你收集整理的python二叉树的创建与遍历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲视频在线观看一区二区三区 | 国产xxxx视频 | 中国一级特黄真人毛片免费观看 | 波波野结衣 | 亚洲午夜精品福利 | 在线免费精品视频 | 涩色网 | 久久久久久a | 琪琪伦伦影院理论片 | 人妻丝袜一区二区三区 | 欧美精品免费视频 | 驯服少爷漫画免费观看下拉式漫画 | 国产精品无码一区 | 天天舔日日操 | 日韩aⅴ片 | 天天射夜夜骑 | 爱如潮水3免费观看日本高清 | 国产永久免费观看 | 亚洲免费观看在线 | 日韩少妇裸体做爰视频 | 综合网五月 | 天堂…中文在线最新版在线 | av男女| 办公室大战高跟丝袜秘书经理ol | 91尤物国产福利在线观看 | 男人的天堂99 | 国产成人综合一区二区三区 | 99久久精品一区二区成人 | 欧美不卡在线视频 | 亚洲综合成人av | 99热99这里只有精品 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 美女露胸软件 | 婷婷久久丁香 | 精品一区久久久 | 久久久国产精品一区 | 毛片成人网 | www.超碰97 | 亚洲欧美综合另类 | 国产极品在线观看 | 福利二区 | 一级片日韩 | 黑人性高潮 | 中文字幕av影院 | 精品91自产拍在线观看二区 | 羞羞成人 | 午夜羞羞羞 | 在线视频欧美亚洲 | 日本不卡一 | 理论片大全免费理伦片 | 亚洲第一综合网 | 综合久久激情 | 国产精品一区二区入口九绯色 | 国产婷婷在线视频 | 美日韩精品视频 | 国产视频亚洲 | 一区二区三区波多野结衣 | 久久国语对白 | 色图社区 | 国模吧无码一区二区三区 | 日韩福利网站 | 日本成人动漫在线观看 | 久久国产麻豆 | 美国性生活大片 | jizz欧洲 | 黄色片高清 | 国产精品入口夜色视频大尺度 | 日韩精品免费视频 | 日本在线不卡一区二区 | 在线观看免费视频黄 | 爱情岛亚洲首页论坛 | 黄色91视频| 亚洲乱亚洲 | 国产第九页 | 久热国产视频 | 国产免费一区二区三区网站免费 | 美女视频久久久 | 香蕉一区二区 | 亚洲av成人无码一区二区三区在线观看 | 国产区免费 | 久久99中文字幕 | 日本黄网站色大片免费观看 | 亚洲爱 | 日本电影一区二区三区 | av中文字幕观看 | 日韩国产在线观看 | 麻豆精品国产精华精华液好用吗 | 一区二区成人精品 | 欧美激情在线观看视频 | 国产成人精品视频在线 | 97成人在线观看 | 丁香婷婷色 | 99riav1国产精品视频 | 国产视频99| 91亚洲影院 | 女同性αv亚洲女同志 | 成熟妇人a片免费看网站 | jizz网站| 黄色av免费看 |