亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        遞歸思想在二叉樹遍歷中的應(yīng)用

        2018-12-18 01:08:58李萍
        電腦知識與技術(shù) 2018年27期
        關(guān)鍵詞:迭代

        李萍

        摘要:遞歸是程序設(shè)計中簡化復(fù)雜問題的一種有力工具,可以將一個大的問題分解成同種類型小問題的迭代。該文介紹了遞歸的核心與特點,并以二叉樹的遍歷實現(xiàn)了遞歸的過程。

        關(guān)鍵詞:遞歸;二叉樹遍歷;迭代

        中圖分類號:TP18;TP301.6 文獻標識碼:A 文章編號:1009-3044(2018)27-0039-02

        Application of Recursion on Traversing the Binary Tree

        LI Ping

        (Department of Mathematics and Information Technology, Yuncheng University, Yuncheng 044000, China)

        Abstract:Recursion is a powerful tool for simplifying comples problems in program design. It can decompose a large problem into some problems of the same type.The article introduces the core and feature of recursion and implements the recursive process by traversing the binary tree.

        Key words: Recursion; the traversion of binary tree; iterate

        1 遞歸算法的描述

        在一個函數(shù)的定義中直接或間接調(diào)用自身就稱為函數(shù)的遞歸,該算法的本質(zhì)體現(xiàn)了“以此類推”“用同樣的步驟重復(fù)”這樣的思想,可以用簡單的程序來解決某些復(fù)雜的計算問題,但是運算量較大。以下為n的階乘經(jīng)典的遞歸算法描述遞歸程序的核心。

        2 二叉樹遍歷算法

        一棵非空二叉樹是由樹根和分別稱為左右子樹的二叉樹構(gòu)成,由二叉樹的定義可知存在遞歸的思想。所以在編寫與二叉樹相關(guān)的算法時,要謹記遞歸。例:求二叉樹結(jié)點的個數(shù)。

        Int num(BTtree T)

        {int leftnum,rightnum;

        if(T==NULL) return 0;//遞減到空樹,不能再減二叉樹的結(jié)點個數(shù)為0個

        Else

        Leftnum=num(T→lchild);//遞減,以同樣的方式求左子樹結(jié)點個數(shù)

        Rightnum=num(T→rchild);//遞減,以同樣的方式求右子樹結(jié)點個數(shù)

        Return leftnum+rightnum+1;}返回左右子樹結(jié)點個數(shù)+根結(jié)點的1

        遞歸求二叉樹結(jié)點個數(shù)的遞歸函數(shù)調(diào)用過程如圖1所示:

        3 二叉樹先序遍歷非遞歸算法

        非遞歸遍歷的基本思想如下:

        (1) 根結(jié)點進棧

        (2) 結(jié)點出棧,被訪問

        (3) 結(jié)點的右,左孩子(非空)進棧

        (4) 反復(fù)執(zhí)行2,3步,至棧為空

        算法描述如下:

        void NLR(BiTree T)

        {initstac(s);// 初始化一個棧

        BiTNode *p; p=T;

        if(T==NULL) print(“it is NULL”);

        else {

        push(s,p);

        while(!Stackempty(s))

        {p=&pop;(s);

        printf(“%d”,p→data);

        if(p→rchild!=NULL) push(s,p→rchild);

        if(p→lchild!=NULL) push(s,p→lchild);}}

        }

        4 總結(jié)

        遞歸求解問題的方式簡化了程序設(shè)計,結(jié)構(gòu)清晰,易于理解。但是每執(zhí)行一次遞歸函數(shù)需要額外增加存儲空間。在不考慮空間的前提下應(yīng)用于二叉樹遍歷,掌握遞歸的核心,提高程序的可讀性。

        參考文獻:

        [1] 黃艷峰,陳偉.遞歸問題的Java實現(xiàn)[J].電腦知識與技術(shù),2017(7):27-28.

        [2] 張建波.一種將遞歸過程轉(zhuǎn)換為非遞歸過程的方法研究[J].計算機教育,2017(8):20-21.

        [3] 朱朝霞.遞歸對自頂向下語法分析的影響[J].電腦知識與技術(shù),2018(2):146-147.

        [4] 周法國.基于遞歸的程序設(shè)計淺析[J].天津科技,2017(6):20-21.

        [5] 王軍.基于一道二叉樹習(xí)題的教學(xué)案例辨析[J].福建電腦,2017(5):8-10.

        [6] 卓明敏,卓文.非遞歸后序遍歷二叉樹二址棧法[J].福建電腦,2017(10):3-5.

        [通聯(lián)編輯:代影]

        猜你喜歡
        迭代
        斐波那契數(shù)列研究及編程實現(xiàn)
        計算機時代(2017年2期)2017-03-06 20:45:15
        RANSAC算法求解單應(yīng)矩陣的具體研究
        價值工程(2017年2期)2017-02-06 22:53:29
        基于省級精品教材多元自主學(xué)習(xí)平臺的螺旋上升學(xué)習(xí)研究
        基于最小二乘的視野區(qū)域運動方向分析
        JavaScript計算性能對比研究
        中間件“迭代”
        一種用于室內(nèi)定位的線性規(guī)劃算法
        DNS解析的探究
        考試周刊(2016年64期)2016-09-22 18:18:03
        漲價與醫(yī)保政策需同步“迭代”
        一種快速有效的相位檢索算法
        亚洲中文字幕女同一区二区三区| 亚洲av中文无码乱人伦在线播放| 亚洲欧美日韩中文无线码| 中文字幕亚洲无线码高清| 午夜宅男成人影院香蕉狠狠爱 | 美女在线一区二区三区视频| 肉体裸交137日本大胆摄影| 国产在线白丝DVD精品| 亚洲伊人久久综合精品| 不卡av网站一区二区三区| 欧洲vat一区二区三区| 国产2021精品视频免费播放| 日本人妻伦理片在线观看| 美女视频在线观看亚洲色图 | 日韩欧美在线观看成人| 国产一区精品二区三区四区| 亚洲av无码专区国产不卡顿| 人妻丰满熟妇av无码区免| 欧美久久中文字幕| 精品国产亚洲一区二区三区四区| 国产精品无码一区二区在线观一 | 色综合久久精品亚洲国产| 国产精品11p| 中文字幕一区二区人妻在线不卡| 精品一二三四区中文字幕| 怡红院免费的全部视频| 亚洲国产精品中文字幕日韩| 日韩人妖干女同二区三区| 久久国产精品偷任你爽任你| 精品久久综合亚洲伊人| 亚洲国产精品夜男人天堂| 亚洲精品视频在线一区二区| 亚洲av无码潮喷在线观看| 白色橄榄树在线免费观看| 国产高潮迭起久久av| 久久久亚洲精品一区二区三区| 国产精品亚洲欧美云霸高清| 国产精品成人久久a级片| 亚洲av午夜精品无码专区| 日产精品久久久久久久蜜臀| av永久天堂一区二区三区蜜桃|