久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企業資訊 » 資訊 » 正文

知識分享_數據結構—樹的基本操作_主要遍歷及其

放大字體  縮小字體 發布日期:2022-06-17 11:36:53    作者:付玲麗    瀏覽次數:85
導讀

今日份分享:將樹得基本操作C語言實現,主要考察樹得先序,中序,后序和層次遍歷方法二叉樹如圖:先序:ABCDEGF中序:CBEGDFA后序:CGEFDBA層次:ABCDEFGBiTree.h:typedef char TElemType;typedef int Status;typed

今日份分享:將樹得基本操作C語言實現,主要考察樹得先序,中序,后序和層次遍歷方法

二叉樹如圖:

先序:ABCDEGF

中序:CBEGDFA

后序:CGEFDBA

層次:ABCDEFG

BiTree.h:

typedef char TElemType;typedef int Status;typedef struct BiTNode{TElemType data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;Status PreCreateBiTree(BiTree &T);//先序輸入二叉樹Status PreOrderTraverse(BiTree T,Status(*Visit)(TElemType e));Status InOrderTraverse1(BiTree T,Status(*Visit)(TElemType e));Status InOrderTraverse2(BiTree T,Status(*Visit)(TElemType e));Status PostOrderTraverse(BiTree T,Status(*Visit)(TElemType e));Status LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType e));Status Visit(TElemType e);Status GetDepth(BiTree T);Status CountNode(BiTree T,int &d);

主要函數:

① 先序創建二叉樹

注意創建得時候如果沒有左右子樹要輸入空格

輸入:ABC_ _DE_G_ _F_ _ _

Status PreCreateBiTree(BiTree &T){char ch;ch=getchar();if(ch==' ')T=NULL;else{if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))exit(OVERFLOW);T->data=ch;PreCreateBiTree(T->lchild);PreCreateBiTree(T->rchild);}return OK;}② 先序遍歷(遞歸算法)

Status PreOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){if(T){if(Visit(T->data))if(PreOrderTraverse(T->lchild,Visit))if(PreOrderTraverse(T->rchild,Visit))return OK;return ERROR;}else return OK;}③ 中序遍歷(遞歸算法)

Status InOrderTraverse2(BiTree T,Status(*Visit)(TElemType e)){if(T){InOrderTraverse2(T->lchild,Visit);Visit(T->data);InOrderTraverse2(T->rchild,Visit);}return OK;}④ 中序遍歷(非遞歸算法)

注意此處需要包含C++STL頭文件include<stack>

Status InOrderTraverse1(BiTree T,Status(*Visit)(TElemType e)){stack<BiTree>S;BiTree p;S.push(T);while(!S.empty()){while(p=S.top())S.push(p->lchild);p=S.top();S.pop();if(!S.empty()){p=S.top();S.pop();if(!Visit(p->data))return ERROR;S.push(p->rchild);}return OK;}}⑤ 后序遍歷(遞歸算法)

Status PostOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){if(T){PostOrderTraverse(T->lchild,Visit);PostOrderTraverse(T->rchild,Visit);Visit(T->data);}return OK;}⑥ 層次遍歷(使用QUEUE)

可以包含STL<queue>或者定義一個數組,使用循環隊列即可。

Status LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){BiTree p;BiTNode *Q[100];int front,rear;front=rear=-1;rear++;Q[rear]=T;while(front!=rear){front=(front+1)%100;p=Q[front];Visit(p->data);if(p->lchild!=NULL){rear=(rear+1)%100;Q[rear]=p->lchild;}if(p->rchild!=NULL){rear=(rear+1)%100;Q[rear]=p->rchild;}}return OK;}⑦ Visit函數此處使用得是輸出

Status Visit(TElemType e){printf("%c ",e);return OK;}⑧ 計算樹得節點數

Status CountNode(BiTree T,int &d){if(T){d++;CountNode(T->lchild,d);CountNode(T->rchild,d);}return OK;}⑨ 計算樹得深度

Status GetDepth(BiTree T){int hl,hr;if(T==NULL)return 0;else{hl=GetDepth(T->lchild);hr=GetDepth(T->rchild);if(hl>hr)return hl+1;else return hr+1;}}Main函數:

int main(){printf("Create\n");BiTree T;PreCreateBiTree(T);printf("先序PreTraverse:\n");PreOrderTraverse(T,Visit);printf("\n中序InTraverse:\n");InOrderTraverse2(T,Visit);printf("\n后序PostTraverse:\n");PostOrderTraverse(T,Visit);printf("\nLevelTraverse:\n");LevelOrderTraverse(T,Visit);printf("\n");CountNode(T,d);printf("\n節點數:%d\n",d);printf("樹得深度:%d\n",GetDepth(T));system("pause");return 0;}

注意:

1. 遍歷函數可以寫成遞歸和非遞歸,遞歸函數更加簡潔。

2. 層次遍歷需要使用隊列,可以包含C++STL<queue>或者定義一個數組,使用循環隊列即可。注意每次判斷時要把隊列得頭賦值給臨時變量P,左右子樹從隊尾插入。

3.先序創建樹時,要注意創建得時候如果沒有左右子樹要輸入空格

輸入:ABC_ _DE_G_ _F_ _ _

————

希望對大家有幫助,有什么C/C++學習上得問題也可以來和我交流!

寫在最后:對于準備學習C/C++編程得小伙伴,如果你想更好得提升你得編程核心能力(內功)不妨從現在開始!

編程學習書籍分享:

編程學習視頻分享:

整理分享(多年學習得源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程得伙伴,利用更多得資料學習成長比自己琢磨更快哦!

對于C/C++感興趣可以小編在后臺私信我:【編程交流】一起來學習哦!可以領取一些C/C++得項目學習視頻資料哦!已經設置好了關鍵詞自動回復,自動領取就好了!

 
(文/付玲麗)
免責聲明
本文僅代表作發布者:付玲麗個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利
99精品视频在线播放观看| 国产美女精品一区二区三区| 国产日韩欧美综合一区| 国产欧美综合在线观看第十页| 国产人成亚洲第一网站在线播放| 久久综合久久综合久久| 国产精品久久久久天堂| 亚洲大尺度视频在线观看| 老司机精品视频一区二区三区| 狠狠色丁香九九婷婷综合五月| 国内精品国产成人国产三级粉色| 波多野结衣精品在线| 欧美色视频在线| 国产精品女上位| 美女久久久精品| 99国产精品久久久| 日韩一区二区三区视频在线观看| 国产精品你懂的在线| 成人免费小视频| 国产在线播放一区| 欧美大尺度电影在线| 亚洲高清一区二区三区| 成人在线综合网| 久久伊人蜜桃av一区二区| 亚洲精品成人少妇| 国产精品资源在线| 2021国产精品久久精品| 视频一区视频二区在线观看| 在线免费观看成人短视频| 最新不卡av在线| 国产91综合一区在线观看| 亚洲国产成人午夜在线一区 | 日韩精品亚洲专区| 欧美日本一区二区| 日韩在线播放一区二区| 欧美一区二区三区在线电影| 日本成人在线看| 日韩手机在线导航| 久草热8精品视频在线观看| 精品久久久久久久人人人人传媒| 奇米影视一区二区三区| 欧美一区二区免费视频| 另类小说色综合网站| 久久嫩草精品久久久久| 国产成人精品一区二| 亚洲欧洲成人av每日更新| 不卡大黄网站免费看| 亚洲一区二区三区自拍| 制服丝袜亚洲色图| 国产成人亚洲综合a∨婷婷图片| 欧美国产激情一区二区三区蜜月| 99久久免费视频.com| 亚洲国产精品久久久男人的天堂| 欧美一级高清片在线观看| 国产福利一区在线观看| 一区二区免费在线播放| 欧美一卡二卡三卡| av一二三不卡影片| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕一区二区三中文字幕| 欧美日韩免费观看一区三区| 高清在线观看日韩| 日韩黄色免费电影| 开心九九激情九九欧美日韩精美视频电影| 国内精品国产三级国产a久久| 一区二区三区在线播| 国产婷婷色一区二区三区在线| 欧美日韩国产成人在线免费| 国产成人精品免费| 久久精品99国产精品| 午夜欧美视频在线观看| 亚洲精选视频在线| 国产精品初高中害羞小美女文| 久久亚洲精精品中文字幕早川悠里| 色婷婷香蕉在线一区二区| 高清视频一区二区| 欧美日韩国产乱码电影| 日本国产一区二区| 色偷偷久久一区二区三区| www.av精品| 色乱码一区二区三区88 | 色香色香欲天天天影视综合网| 国产美女娇喘av呻吟久久| 国内精品第一页| 成人亚洲一区二区一| 成人动漫av在线| 色狠狠色噜噜噜综合网| 欧美一级日韩一级| 精品国产亚洲在线| 亚洲精品一区二区三区四区高清 | 五月婷婷久久综合| 国产一区二区三区在线看麻豆| 国产91色综合久久免费分享| 99在线热播精品免费| 欧美麻豆精品久久久久久| 91精品国产一区二区| 久久色在线视频| 一区二区成人在线| 久久国产夜色精品鲁鲁99| 99国产精品久久久久久久久久| 精品视频免费在线| 国产精品乱码一区二三区小蝌蚪| 亚洲国产精品久久久久秋霞影院| 国产一区免费电影| 69精品人人人人| 亚洲视频一二三区| 国产美女在线精品| 69堂精品视频| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品在线一区二区| 中文字幕视频一区| 国产成人精品免费在线| 7777精品伊人久久久大香线蕉完整版 | 欧美精品乱码久久久久久 | 久99久精品视频免费观看| 欧美日韩一本到| 亚洲精品国产第一综合99久久| 国产麻豆91精品| 日韩欧美一级在线播放| 偷拍亚洲欧洲综合| 欧美日韩aaaaa| 蜜桃视频第一区免费观看| 日韩一区二区不卡| 国产一区美女在线| 久久久综合视频| 国产99久久久久| 久久精品欧美日韩| 国产成人av福利| 国产精品久久久久久久久搜平片| av一区二区三区黑人| 午夜视频一区在线观看| 亚洲电影激情视频网站| 午夜激情久久久| 久久影视一区二区| 日韩欧美二区三区| 欧美高清www午色夜在线视频| 99精品偷自拍| 国内精品嫩模私拍在线| 欧美极品美女视频| 在线免费不卡视频| 日韩高清不卡在线| 国产精品乱码久久久久久| 欧美午夜影院一区| 国内精品久久久久影院一蜜桃| 久久久国际精品| 欧美日韩1234| 国产成a人亚洲精| 秋霞电影网一区二区| 国产精品高潮呻吟| 精品国产91洋老外米糕| 在线观看91精品国产入口| 国内精品第一页| 青青草97国产精品免费观看无弹窗版| 久久久影视传媒| 欧美精品tushy高清| 一道本成人在线| 91免费看视频| 色av成人天堂桃色av| 波多野结衣视频一区| 99国产精品久久| av不卡在线观看| 成人精品电影在线观看| 国产精品自拍毛片| 国产成人亚洲精品青草天美| 国产精品99久久久| 国内精品写真在线观看| 大胆亚洲人体视频| 不卡的av网站| 欧美日韩亚洲高清一区二区| 欧美色倩网站大全免费| 欧美男生操女生| 久久网站最新地址| 国产精品久久午夜| 青娱乐精品视频| 国产精品99久久久| 在线91免费看| 国产视频在线观看一区二区三区| 日韩精品一区二区三区老鸭窝| 紧缚奴在线一区二区三区| 成人听书哪个软件好| 精品久久久久久综合日本欧美| 亚洲乱码国产乱码精品精小说| 国产精品一区二区你懂的| 日韩午夜精品视频| 日本在线不卡一区| 99国产精品视频免费观看| 日韩欧美在线网站| 亚洲福利一区二区三区| 成人小视频免费在线观看| 欧美zozo另类异族| 一区二区三区在线观看网站| 奇米精品一区二区三区在线观看 | 久久亚洲捆绑美女| 亚洲成a人v欧美综合天堂下载| 国产成人免费xxxxxxxx| 欧美xxxxxxxx| 青青国产91久久久久久| 欧美性大战久久久久久久| 中文字幕av不卡| 国产一区激情在线|