国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(12):二叉樹算法補充

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(12):二叉樹算法補充。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(12):二叉樹算法補充

  1. 復(fù)制二叉樹

    【算法步驟】

    如果是空樹,遞歸結(jié)束,否則進行以下操作:

    • 申請一個新結(jié)點空間,復(fù)制根結(jié)點;
    • 遞歸復(fù)制左子樹;
    • 遞歸復(fù)制右子樹。
    void Copy(BiTree T,BiTree &NewT)
    {//復(fù)制一棵和T完全相同的二叉樹
        if(T==NULL)//如果是空樹,遞歸結(jié)束
        {
            NewT=NULL;
            return;
        }
        else
        {
            NewT=new BiTNode;
            NewT->data=T->data;//復(fù)制根結(jié)點
            Copy(T->lchild,NewT->lchild);//遞歸復(fù)制左子樹
            Copy(T->rchild,NewT->rchild);//遞歸復(fù)制右子樹     
        }//else
    }
    
  2. 計算二叉樹的深度

    【算法步驟】

    如果是空樹,遞歸結(jié)束,深度為0,否則進行以下操作:文章來源地址http://www.zghlxwxcb.cn/news/detail-824343.html

    • 遞歸計算左子樹的深度記為m;
    • 遞歸計算右子樹的深度記為n;
    • 如果m大于n,二叉樹的深度為m+1,否則為n+1
    int Depth(BiTree T)
    {//計算二叉樹T的深度
        if(T==NULL) return 0;//如果是空樹,深度為0,遞歸結(jié)束
        else
        {
            m=Depth(T->lchild);//遞歸計算左子樹的深度記為m
            n=Depth(T->rchild);//遞歸計算右子樹的深度記為n
            if(m>n) return(m+1);//二叉樹的深度為m與n的較大者加1
            else return(n+1)
        }
    }
    
  3. 統(tǒng)計二叉樹中結(jié)點的個數(shù)

    int NodeCount(BiTree T)
    {//統(tǒng)計二叉樹T中結(jié)點的個數(shù)
      if(T==NULL) return 0;//如果是空樹,則結(jié)點個數(shù)為0,遞歸結(jié)束
        else return NodeCount(T->lchild)+NodeCount(T->rchild)+1
            //否則結(jié)點個數(shù)為左子樹的結(jié)點個數(shù)+右子樹的結(jié)點個數(shù)+1
    }
    
    
  4. 統(tǒng)計二叉樹葉子結(jié)點個數(shù)

    int LeafNode(BiTree T)
    {//統(tǒng)計二叉樹T中葉子結(jié)點的個數(shù)
        if(T==NULL)
            return 0;//空樹,返回0
        else if(T->lchild==NULL&&T->rchild==NULL)
            return 1;//葉子結(jié)點,返回1
        else//遞歸
            return LeafNode(T->lchild)+LeafNode(T->rchild)
    }
    

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(12):二叉樹算法補充的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 探索樹形數(shù)據(jù)結(jié)構(gòu),通識樹、森林與二叉樹的基礎(chǔ)知識(專有名詞),進一步利用順序表和鏈表表示、遍歷和線索樹形結(jié)構(gòu)

    探索樹形數(shù)據(jù)結(jié)構(gòu),通識樹、森林與二叉樹的基礎(chǔ)知識(專有名詞),進一步利用順序表和鏈表表示、遍歷和線索樹形結(jié)構(gòu)

    ? 結(jié)點之間有分支,具有層次關(guān)系 樹的定義 : 樹 (tree)是n(n≥0)個有限集。 若n = 0,則稱為空樹; 若n 0,則它滿足如下兩個條件: 有且僅有一個特定的稱為根(Root)的結(jié)點; 其余結(jié)點可分為m(m≥0)個互不相交的有限集T1,T2,T3,.....,Tm,其中每一個集合本身又是一棵樹,并稱為根的

    2024年02月01日
    瀏覽(100)
  • 數(shù)據(jù)結(jié)構(gòu)--基礎(chǔ)知識

    數(shù)據(jù)結(jié)構(gòu)--基礎(chǔ)知識

    數(shù)據(jù)結(jié)構(gòu)是計算機科學中研究數(shù)據(jù)組織、存儲和管理的方法和原則。它涉及存儲和操作數(shù)據(jù)的方式,以便能夠高效地使用和訪問數(shù)據(jù)。 數(shù)組(Array):數(shù)組是一種線性數(shù)據(jù)結(jié)構(gòu),由相同類型的元素按順序排列而成。數(shù)組具有固定長度,在內(nèi)存中占據(jù)連續(xù)的位置。可以通過索引

    2024年02月14日
    瀏覽(17)
  • 數(shù)據(jù)結(jié)構(gòu)|基礎(chǔ)知識定義

    1.值傳遞、地址傳遞、值返回、地址返回 1 值傳遞 :普通變量作為函數(shù)參數(shù)傳遞是單向的值傳遞,只是將實參的值復(fù)制一份給形參變量,形參的改變不會影響實參的值,因為所在內(nèi)存空間不同 如果傳遞的是地址,被調(diào)函數(shù)使用指針接收,如果在被調(diào)函數(shù)中,沒有更改指針指向

    2024年02月08日
    瀏覽(26)
  • 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識、名詞概述

    數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識、名詞概述

    整體知識框架 1.1.1 數(shù)據(jù)、 數(shù)據(jù)元素、 數(shù)據(jù)項和數(shù)據(jù)對象 數(shù)據(jù) (Data) 是客觀事物的符號表示,是所有 能輸入到計算機中并被計算機程序處理的符號 的總稱 。如數(shù)學計算中用到的整數(shù)和實數(shù),文本編輯中用到的字符串,多媒體程序處理的圖形、 圖像、聲音及動畫等通過特殊編

    2024年02月15日
    瀏覽(22)
  • 數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識:哈夫曼樹

    數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識:哈夫曼樹

    哈夫曼(Huffman)樹 又稱最優(yōu)樹,是一類帶權(quán)路徑長度最短的樹,在實際中有廣泛的用途。哈夫曼樹的定義,涉及路徑、路徑長度、權(quán)等概念,下面先給出這些概念的定義,然后再介紹哈夫曼樹 路徑 :從樹中一個結(jié)點到另一個結(jié)點之間的分支構(gòu)成這兩個結(jié)點之間的路徑。 路

    2024年02月21日
    瀏覽(19)
  • 【數(shù)據(jù)結(jié)構(gòu)】樹的基礎(chǔ)知識及三種存儲結(jié)構(gòu)

    【數(shù)據(jù)結(jié)構(gòu)】樹的基礎(chǔ)知識及三種存儲結(jié)構(gòu)

    ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???? ?? ?? ?? 個人主頁 :阿然成長日記 ??點擊可跳轉(zhuǎn) ?? 個人專欄: ??數(shù)據(jù)結(jié)構(gòu)與算法??C語言進階 ?? 不能則學,不知則問,恥于問人,決無長進 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 把它叫做樹是因為它

    2024年02月09日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(15):哈夫曼樹

    數(shù)據(jù)結(jié)構(gòu)—基礎(chǔ)知識(15):哈夫曼樹

    哈夫曼(Huffman)樹 又稱最優(yōu)樹,是一類帶權(quán)路徑長度最短的樹,在實際中有廣泛的用途。哈夫曼樹的定義,涉及路徑、路徑長度、權(quán)等概念,下面先給出這些概念的定義,然后再介紹哈夫曼樹 路徑 :從樹中一個結(jié)點到另一個結(jié)點之間的分支構(gòu)成這兩個結(jié)點之間的路徑。 路

    2024年02月19日
    瀏覽(23)
  • 【數(shù)據(jù)結(jié)構(gòu)】C--單鏈表(小白入門基礎(chǔ)知識)

    【數(shù)據(jù)結(jié)構(gòu)】C--單鏈表(小白入門基礎(chǔ)知識)

    前段時間寫了一篇關(guān)于順序表的博客,http://t.csdn.cn/0gCRp 順序表在某些時候存在著一些不可避免的缺點: 問題: 1. 中間 / 頭部的插入刪除,時間復(fù)雜度為 O(N) 2. 增容需要申請新空間,拷貝數(shù)據(jù),釋放舊空間。會有不小的消耗。 3. 增容一般是呈 2 倍的增長,勢必會有一定的空間

    2024年02月16日
    瀏覽(22)
  • 【數(shù)據(jù)結(jié)構(gòu)】棧和隊列(棧的基本操作和基礎(chǔ)知識)

    【數(shù)據(jù)結(jié)構(gòu)】棧和隊列(棧的基本操作和基礎(chǔ)知識)

    ??個人主頁: 秦jh__ https://blog.csdn.net/qinjh_?spm=1010.2135.3001.5343 ???系列專欄: 《數(shù)據(jù)結(jié)構(gòu)》 https://blog.csdn.net/qinjh_/category_12536791.html?spm=1001.2014.3001.5482 目錄 ?前言 棧 棧的概念和結(jié)構(gòu) 棧的實現(xiàn) ?編輯 數(shù)組棧的實現(xiàn) 總的聲明 初始化 ?插入 刪除 取棧頂元素 銷毀 判斷是否為空

    2024年02月03日
    瀏覽(20)
  • 【數(shù)據(jù)結(jié)構(gòu)】—— 隊列基礎(chǔ)知識以及數(shù)組模擬隊列的分析、演示及優(yōu)化

    【數(shù)據(jù)結(jié)構(gòu)】—— 隊列基礎(chǔ)知識以及數(shù)組模擬隊列的分析、演示及優(yōu)化

    ??一名熱愛Java的大一學生,希望與各位大佬共同學習進步?? ??個人主頁:@周小末天天開心 各位大佬的點贊?? 收藏? 關(guān)注?,是本人學習的最大動力 感謝! ??該篇文章收錄專欄—數(shù)據(jù)結(jié)構(gòu) 目錄 什么是隊列? 數(shù)組模擬隊列 分析 存入隊列的步驟 使用數(shù)組模擬隊列—

    2024年01月19日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包