今天就跟大家聊聊有關(guān)如何分析python中二叉搜索樹的 AVL樹,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)主營(yíng)普蘭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開發(fā),普蘭h5小程序制作搭建,普蘭網(wǎng)站營(yíng)銷推廣歡迎普蘭等地區(qū)企業(yè)咨詢
二分搜索樹 遞歸實(shí)現(xiàn)
public void add(E e){ root = add(root,e); } /** * 二分搜索樹插入元素 遞歸實(shí)現(xiàn) */ private Node add(Node node ,E e){ if (node==null){ size++; return new Node(e); } if (e.compareTo(node.data)<0){ node.left = add(node.left,e); }else if (e.compareTo(node.data)>0){ node.right = add(node.right,e); } return node; }
二分搜索樹 查找遞歸實(shí)現(xiàn)
public boolean contains(E e){ return contains(root, e); } private boolean contains(Node node,E e){ if (node==null){ return false; }if (e.compareTo(node.data)==0){ return true; }else if(e.compareTo(node.data)<0){ return contains(node.left,e); }else { return contains(node.right,e); } }
二叉搜索樹一定程度上可以提高搜索效率,但是當(dāng)原序列有序時(shí),例如序列 A = {1,2,3,4,5,6},構(gòu)造二叉搜索樹如圖 1.1。依據(jù)此序列構(gòu)造的二叉搜索樹為右斜樹,同時(shí)二叉樹退化成單鏈表,搜索效率降低為 O(n)。
二叉搜索樹的查找效率取決于樹的高度,因此保持樹的高度最小,即可保證樹的查找效率。
平衡二叉查找樹:簡(jiǎn)稱平衡二叉樹。由前蘇聯(lián)的數(shù)學(xué)家 Adelse-Velskil 和 Landis 在 1962 年提出的高度平衡的二叉樹,根據(jù)科學(xué)家的英文名也稱為 AVL 樹。它具有如下幾個(gè)性質(zhì):
可以是空樹。
假如不是空樹,任何一個(gè)節(jié)點(diǎn)的左子樹與右子樹都是平衡二叉樹,并且高度之差的絕對(duì)值不超過 1。
看完上述內(nèi)容,你們對(duì)如何分析python中二叉搜索樹的 AVL樹有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
新聞標(biāo)題:如何分析python中二叉搜索樹的AVL樹
文章路徑:http://bm7419.com/article46/jcshhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)頁設(shè)計(jì)公司、微信小程序、網(wǎng)站改版、小程序開發(fā)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)