• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            二叉排序樹(二叉排序樹平均查找長度)

            更新時間:2023-03-01 03:05:39 閱讀: 評論:0

            什么是二叉排序樹

            二叉排序樹(Binary Sort Tree),首先它是一棵樹,“二叉”這個描述已經(jīng)很明顯了,就是樹上的一根樹枝開兩個叉,于是遞歸下來就是二叉樹了(下圖所示),而這棵樹上的節(jié)點是已經(jīng)排好序的,具體的排序規(guī)則如下:

            若左子樹不空,則左子樹上所有節(jié)點的值均小于它的根節(jié)點的值

            若右子樹不空,則右字數(shù)上所有節(jié)點的值均大于它的根節(jié)點的值

            它的左、右子樹也分別為二叉排序數(shù)(遞歸定義)

            從圖中可以看出,二叉排序樹組織數(shù)據(jù)時,用于查找是比較方便的,因為每次經(jīng)過一次節(jié)點時,最多可以減少一半的可能,不過極端情況會出現(xiàn)所有節(jié)點都位于同一側(cè),直觀上看就是一條直線,那么這種查詢的效率就比較低了,因此需要對二叉樹左右子樹的高度進行平衡化處理,于是就有了平衡二叉樹(Balenced Binary Tree)

            所謂“平衡”,說的是這棵樹的各個分支的高度是均勻的,它的左子樹和右子樹的高度之差絕對值小于1,這樣就不會出現(xiàn)一條支路特別長的情況。于是,在這樣的平衡樹中進行查找時,總共比較節(jié)點的次數(shù)不超過樹的高度,這就確保了查詢的效率(時間復(fù)雜度為O(logn))


            二叉排序樹定義

            二叉排序樹(Binary Sort Tree),又稱二叉查找樹(Binary Search Tree),亦稱二叉搜索樹。是數(shù)據(jù)結(jié)構(gòu)中的一類。在一般情況下,查詢效率比鏈表結(jié)構(gòu)要高。

            定義一:

            一棵空樹,或者是具有下列性質(zhì)的二叉樹:
            (1)若左子樹不空,則左子樹上所有結(jié)點的值均小于它的根結(jié)點的值;
            (2)若右子樹不空,則右子樹上所有結(jié)點的值均大于它的根結(jié)點的值;
            (3)左、右子樹也分別為二叉排序樹;
            (4)沒有鍵值相等的結(jié)點。

            定義二:

            一棵空樹,或者是具有下列性質(zhì)的二叉樹:
            (1)若左子樹不空,則左子樹上所有結(jié)點的值均小于它的根結(jié)點的值;
            (2)若右子樹不空,則右子樹上所有結(jié)點的值均大于或等于它的根結(jié)點的值;
            (3)左、右子樹也分別為二叉排序樹。

            定義三:

            一棵空樹,或者是具有下列性質(zhì)的二叉樹:
            (1)若左子樹不空,則左子樹上所有結(jié)點的值均小于或等于它的根結(jié)點的值;
            (2)若右子樹不空,則右子樹上所有結(jié)點的值均大于它的根結(jié)點的值;
            (3)左、右子樹也分別為二叉排序樹;

            【注】:以上的三種定義在不同的數(shù)據(jù)結(jié)構(gòu)教材中均有不同的定義方式 但是都是正確的 在開發(fā)時需要根據(jù)不 同的需求進行進行選擇。

            插入刪除:
            與次優(yōu)二叉樹相對,二叉排序樹是一種動態(tài)樹表。其特點是:樹的結(jié)構(gòu)通常不是一次生成的,而是在查找過程中,當樹中不存在關(guān)鍵字等于給定值的結(jié)點時再進行插入。新插入的結(jié)點一定是一個新添加的葉子結(jié)點,并且是查找不成功時查找路徑上訪問的最后一個結(jié)點的左孩子或右孩子結(jié)點。

            什么是二叉排序樹?

            二叉排序樹要么是空二叉樹,要么具有如下特點:

            二叉排序樹中,如果其根結(jié)點有左子樹,那么左子樹上所有結(jié)點的值都小于根結(jié)點的值;二叉排序樹中,如果其根結(jié)點有右子樹,那么右子樹上所有結(jié)點的值都大小根結(jié)點的值;二叉排序樹的左右子樹也要求都是二叉排序樹;

            二叉樹排序

            二叉排序樹就是中序遍歷之后是有序的;

            構(gòu)造二叉排序樹步驟如下;

            插入法構(gòu)造

            第二個結(jié)點4比6來的小所以插入在6的左子樹;

            第三個結(jié)點8比6來的大所以插入在6的右子樹;

            第四個結(jié)點5比6來得小先進入左子樹然后跟4比較,

            5比4大所以插入在4的右子樹;

            以此類推將要插入的結(jié)點先跟根結(jié)點比較,比根結(jié)點大進入右子樹反之進入左子樹;

            在跟進入的左子樹(右子樹)的結(jié)點比較方法同上;

            直到?jīng)]有結(jié)點了 在插入; 你給的排序最后的二叉排序樹如下;

            中序遍歷結(jié)果是 : 3456789;

            先序遍歷結(jié)果是:6435879;


            【數(shù)據(jù)結(jié)構(gòu)】二叉排序樹(Binary Sort Tree)(建立、插入、刪除)

            二叉排序樹(Binary Sort Tree) ,又稱 二叉查找樹 。它是一顆 空樹 ,或者具有下列性質(zhì):

            二叉排序樹的刪除操作相對復(fù)雜,因為不能因為刪除了結(jié)點,讓這顆二叉排序樹變得不滿足二叉排序樹的性質(zhì),所以對于二叉排序樹的刪除存在三種情況:

            將它的直接前驅(qū)或者直接后繼作為刪除結(jié)點的數(shù)據(jù)

            對于二叉排序樹的建立,可以通過二叉排序樹的插入操作來實現(xiàn)。
            通過中序遍歷二叉排序樹,結(jié)果是從小到大輸出。


            二叉排序樹怎么構(gòu)造

            假設(shè)二叉排序樹T為空,則創(chuàng)建一個keyword為k的結(jié)點。將其作為根結(jié)點。

            否則將k和根結(jié)點的keyword進行比較,假設(shè)相等則返回,假設(shè)k小于根結(jié)點的keyword則插入根結(jié)點的左子樹中,否則插入根結(jié)點的右子樹中。

            int InrtBST(BSTNode *p, KeyType k)
            {
            if(p==NULL)
            {
            p=(BSTNode*)malloc(sizeof(BSTNode));
            p->key=k;
            p->lchild=p->rchild=NULL;
            return 1;
            }
            el if(k==p->key)
            return 0;
            el if(k<p->key)
            return InrtBST(p->lchild, k);
            el
            return InrtBST(p->rchild, k);
            }
            二叉排序樹的生成算法:
            BSTNode *CreateBST(KeyType A[], int n)
            {
            BSTNode *bt=NULL;
            int i=0;
            while(i<n)
            {
            InrtBST(bt, A[i]);
            i++;
            }
            return bt;
            }

            擴展資料:

            在一般情況下,設(shè) P(n,i)為它的左子樹的結(jié)點個數(shù)為 i 時的平均查找長度。如圖的結(jié)點個數(shù)為 n = 6 且 i = 3; 則 P(n,i)= P(6, 3) = [ 1+ ( P(3) + 1) * 3 + ( P(2) + 1) * 2 ] / 6= [ 1+ ( 5/3 + 1) * 3 + ( 3/2 + 1) * 2 ] / 6

            注意:這里 P(3)、P(2) 是具有 3 個結(jié)點、2 個結(jié)點的二叉分類樹的平均查找長度。 在一般情況,P(i)為具有 i 個結(jié)點二叉分類樹的平均查找長度。平均查找長度= 每個結(jié)點的深度的總和 / 總結(jié)點數(shù)。

            參考資料來源:百度百科——二叉排序樹



            本文發(fā)布于:2023-02-28 19:21:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/167761113960108.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:二叉排序樹(二叉排序樹平均查找長度).doc

            本文 PDF 下載地址:二叉排序樹(二叉排序樹平均查找長度).pdf

            標簽:長度   平均
            相關(guān)文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 久久精品道一区二区三区| 四虎成人在线观看免费| 亚洲av乱码一区二区| 精品国产午夜福利伦理片| 国产精品剧情亚洲二区| 中文无码人妻有码人妻中文字幕| 日本韩国一区二区精品| 120秒试看无码体验区| 丝袜a∨在线一区二区三区不卡| 在线精品国精品国产不卡| 中文字幕精品人妻丝袜| 动漫精品中文字幕无码| 亚洲精品久久麻豆蜜桃| 亚洲国产精品综合久久网各| 四虎影院176| 久久精品人妻少妇一区二| 亚洲av日韩av综合在线观看| 无码日韩精品91超碰| 亚洲色无码专线精品观看| 性一交一乱一伦一| 男女性高爱潮免费网站| 久久亚洲精品国产精品尤物| 天天澡日日澡狠狠欧美老妇| 国产精品乱码高清在线观看| 久久精品国产主播一区二区| 人妻偷拍一区二区三区| 香蕉久久夜色精品国产成人| 丰满的少妇被猛烈进入白浆| 在线观看亚洲欧美日本| 无码人妻久久一区二区三区app | 少妇又爽又刺激视频| 亚洲第一福利网站在线观看| 亚洲激情一区二区三区在线| 亚洲午夜性猛春交XXXX | 一本色道久久东京热| 中国少妇嫖妓BBWBBW| 国语偷拍视频一区二区三区| 男女啪啪激烈无遮挡动态图| 久久成人成狠狠爱综合网| 人妻日韩人妻中文字幕| 99在线国内在线视频22|