青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

精典二叉樹非遞歸遍歷的算法

遍歷二叉樹的非遞歸算法
編寫的方法:根據樹中結點的遍歷規律及順序直接寫出其非遞歸算法。
先序非遞歸算法
【思路】
假設:T是要遍歷樹的根指針,若T != NULL
對于非遞歸算法,引入棧模擬遞歸工作棧,初始時棧為空。
問題:如何用棧來保存信息,使得在先序遍歷過左子樹后,能利用棧頂信息獲取T的右子樹的根指針?
方法1:訪問T->data后,將T入棧,遍歷左子樹;遍歷完左子樹返回時,棧頂元素應為T,出棧,再先序遍歷T的右子樹。
方法2:訪問T->data后,將T->rchild入棧,遍歷左子樹;遍歷完左子樹返回時,棧頂元素應為T->rchild,出棧,遍歷以該指針為根的子樹。
【算法1
void    PreOrder(BiTree T, Status ( *Visit ) (ElemType e))

{    //
基于方法一,流程圖如右,當型循環
InitStack(S);
while ( T!=NULL || !StackEmpty(S)){
while ( T != NULL ){
Visit(T->data) ;
Push(S,T);
T = T->lchild;
}
if( !StackEmpty(S) ){
Pop(S,T);
T = T->rchild;
}
}
}
【算法2
void    PreOrder(BiTree T, Status ( *Visit ) (ElemType e))

{    //
基于方法二,流程圖如右,當型循環
InitStack(S);
while ( T!=NULL || !StackEmpty(S) ){
while ( T != NULL ){
Visit(T->data);
Push(S, T->rchild);
T = T->lchild;
}
if ( !StackEmpty(S) ){
Pop(S,T);
}
}
}
進一步考慮:對于處理流程中的循環體的直到型、當型+直到型的實現。
中序非遞歸算法
【思路】
T
是要遍歷樹的根指針,中序遍歷要求在遍歷完左子樹后,訪問根,再遍歷右子樹。
問題:如何用棧來保存信息,使得在中序遍歷過左子樹后,能利用棧頂信息獲取T指針?
方法:先將T入棧,遍歷左子樹;遍歷完左子樹返回時,棧頂元素應為T,出棧,訪問T->data,再中序遍歷T的右子樹。

【算法】
void    InOrder(BiTree T, Status ( *Visit ) (ElemType e))
{    //
流程圖如右,當型循環
InitStack(S);
while ( T!=NULL || !StackEmpty(S) ){
while ( T != NULL ){
Push(S,T);
T = T->lchild;
}
if( !StackEmpty(S) ){
Pop(S, T);
Visit(T->data);
T = T->rchild;
}
}
}
進一步考慮:對于處理流程中的循環體的直到型、當型+直到型的實現。
后序非遞歸算法
【思路】

T
是要遍歷樹的根指針,后序遍歷要求在遍歷完左右子樹后,再訪問根。需要判斷根結點的左右子樹是否均遍歷過。
可采用標記法,結點入棧時,配一個標志tag一同入棧(0:遍歷左子樹前的現場保護,1:遍歷右子樹前的現場保護)
首先將Ttag(0)入棧,遍歷左子樹;返回后,修改棧頂tag1,遍歷右子樹;最后訪問根結點。
typedef struct stackElement{
Bitree    data;
char        tag;
}stackElemType;
【算法】
void    PostOrder(BiTree T, Status ( *Visit ) (ElemType e))
{    //
流程圖如右,當型循環
InitStack(S);
while ( T!=NULL || !StackEmpty(S) ){
while ( T != NULL ){
Push(S,T,0);
T = T->lchild;
}
while ( !StackEmpty(S) && GetTopTag(S)==1){
Pop(S, T);
Visit(T->data);
}
if ( !StackEmpty(S) ){
SetTopTag(S, 1);        //
設置棧頂標記
T = GetTopPointer(S);    //
取棧頂保存的指針
T = T->rchild;
}else break;
}
}

 

posted on 2009-10-10 15:00 肥仔 閱讀(1491) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構 & 算法


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产麻豆日韩| 欧美成人精品不卡视频在线观看| 欧美成年人视频网站| 亚洲在线免费| 亚洲欧美一级二级三级| 日韩午夜在线| 在线视频亚洲一区| 亚洲欧美日韩区| 久久久91精品国产| 国产精品一区毛片| 欧美日韩免费在线观看| 亚洲大胆视频| 亚洲国产成人在线播放| 国产精品v欧美精品v日韩 | 亚洲一区二区免费看| 亚洲激情一区二区三区| 欧美激情视频免费观看| 销魂美女一区二区三区视频在线| 午夜精品视频一区| 韩日欧美一区| 快播亚洲色图| 亚洲一区免费视频| 亚洲福利小视频| 亚洲欧美成人一区二区在线电影| 国产精品亚洲激情| 欧美日韩伦理在线免费| 另类av一区二区| 久久深夜福利免费观看| 欧美一区二视频| 亚洲乱码国产乱码精品精98午夜| 麻豆成人91精品二区三区| 久久尤物视频| 欧美好骚综合网| 你懂的国产精品| 亚洲日韩中文字幕在线播放| 日韩午夜黄色| 久久综合狠狠综合久久激情| 亚洲中字黄色| 欧美福利电影网| 欧美国产大片| 欧美激情综合色综合啪啪| 欧美成熟视频| 亚洲一区二区三区高清不卡| 亚洲国产成人精品女人久久久 | 亚洲欧洲在线观看| 午夜精品视频在线观看| 久久久久高清| 亚洲一区二区在线免费观看| 中文一区二区| 欧美日韩黄视频| 国产精品亚洲一区二区三区在线| 亚洲国产综合视频在线观看| 欧美一区成人| 国产午夜精品久久久久久免费视| 亚洲美女性视频| 亚洲国产成人不卡| 久久精品一区二区三区不卡牛牛| 欧美日韩国产黄| 中文精品视频一区二区在线观看| 91久久在线观看| 欧美色欧美亚洲另类七区| 激情五月婷婷综合| 欧美激情一区二区三级高清视频| 亚洲性夜色噜噜噜7777| 尤物yw午夜国产精品视频明星| 欧美亚洲一区三区| 久久精品一二三| 精品成人一区二区三区| 欧美激情乱人伦| 久久亚洲精品视频| 一本色道久久综合亚洲精品不| 欧美国产免费| 国产伦理精品不卡| 久久综合影音| 免费观看成人www动漫视频| 欧美aa国产视频| 亚洲欧美日韩一区二区在线| 国产精品大全| 亚洲国产视频一区二区| 国产精品二区三区四区| 久久xxxx| 欧美久久婷婷综合色| 欧美中文字幕精品| 久久婷婷久久一区二区三区| 99精品欧美一区| 久久久久久欧美| 亚洲人午夜精品| 性娇小13――14欧美| 亚洲成色www8888| 亚洲视频一二| 日韩亚洲一区二区| 久久婷婷国产综合尤物精品| 亚洲女同精品视频| 国产香蕉97碰碰久久人人| 亚洲一区区二区| 亚洲专区在线视频| 欧美日韩aaaaa| 欧美激情91| 精久久久久久| 久久亚洲精品中文字幕冲田杏梨| 久久久www| 韩曰欧美视频免费观看| 久久久国产91| 欧美国产一区在线| 国产亚洲精品v| 欧美一区二区在线| 亚洲一区在线播放| 欧美色欧美亚洲另类二区| 欧美亚洲一区二区三区| 国产欧美日韩不卡| 亚洲欧美日韩在线一区| 久久成年人视频| 夜夜爽www精品| 在线视频亚洲欧美| 国产免费成人在线视频| 久久精品夜夜夜夜久久| 久久综合伊人77777蜜臀| 国产三级欧美三级| 欧美精品免费播放| 国产精品99久久99久久久二8 | 亚洲第一精品福利| 久久er99精品| 一区二区三区欧美日韩| 激情综合自拍| 国产一区视频网站| 国产精品福利av| 欧美日韩不卡| 久久久噜噜噜久久人人看| 亚洲欧洲一区二区天堂久久 | 亚洲欧美国产毛片在线| 亚洲国产一区二区视频| 久久日韩精品| 欧美影院视频| 亚洲毛片一区| 一区二区三区欧美在线| 最新亚洲视频| 制服丝袜亚洲播放| 亚洲精选一区二区| 亚洲精品1区| 亚洲精品久久7777| 亚洲第一精品夜夜躁人人躁| 国产精品成人一区二区三区夜夜夜| 欧美成人午夜免费视在线看片| 欧美巨乳波霸| 国产亚洲视频在线| 亚洲午夜在线观看视频在线| 久久精品伊人| 午夜电影亚洲| 欧美中文字幕视频在线观看| 亚洲女人天堂av| 另类激情亚洲| 亚洲福利视频免费观看| 亚洲大胆人体在线| 中文亚洲免费| 欧美一区日韩一区| 亚洲免费在线| 久久伊人免费视频| 欧美日在线观看| 国产午夜精品全部视频在线播放 | 一区二区日韩免费看| 欧美激情免费在线| 欧美成人一区二免费视频软件| 国产亚洲一级高清| 久久精品视频免费播放| 亚洲图片欧洲图片日韩av| 欧美成人精品三级在线观看 | 西瓜成人精品人成网站| 亚洲二区三区四区| 亚洲欧美三级伦理| 欧美日韩精品在线播放| 亚洲国产精品电影在线观看| 亚洲欧美日韩专区| 亚洲黄色天堂| 欧美福利一区二区三区| 在线免费不卡视频| 久久超碰97人人做人人爱| 日韩一级大片在线| 国产精品久久久久99| 99综合精品| 老牛国产精品一区的观看方式| 亚洲一区二区三区免费观看 | 亚洲国产第一| 欧美sm视频| 久久久久久久久久码影片| 亚洲三级电影全部在线观看高清| 最新日韩av| 欧美日韩国产精品专区| 99re66热这里只有精品4| av成人激情| 狠狠干狠狠久久| 亚洲福利精品| 欧美成人一区二区在线| 一本色道久久88综合亚洲精品ⅰ | 欧美在线视频a| 亚洲经典在线看| 亚洲综合日韩中文字幕v在线| 国产精品综合不卡av| 亚洲一区视频在线| 在线看片日韩| 亚洲一区二区三区在线|