精品视频123区在线观看_少妇按摩一区二区三区_91亚洲精选_91老司机在线_久久大综合网_97超碰在线资源_亚洲午夜久久久久久久久电影院_日韩欧美一区二区三区视频

二維碼
企資網

掃一掃關注

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

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

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

今日份分享:將樹得基本操作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

反饋

用戶
反饋

亚洲伊人婷婷| 一二三四区在线观看| 亚洲男人av电影| 国产网红在线观看| 中文字幕视频网| 欧美日韩电影一区二区三区| 丰满岳妇乱一区二区三区| 欧美激情极品| 婷婷激情四射网| 91久久国产综合久久91精品网站| 国产精品国产成人国产三级| av在线国产精品| 精品国产一区二区三区久久久狼牙| 人妻少妇被粗大爽9797pw| 亚洲精品动漫100p| 日韩高清电影一区| 国产福利电影在线| 在线免费观看av网址| ijzzijzzij亚洲大全| 亚洲精品福利免费在线观看| 亚洲另类色综合网站| 久久中文视频| 首播影院在线观看免费观看电视| 欧美 日韩 精品| 精品无码在线视频| 国产精品对白刺激久久久| 在线观看日产精品| 亚洲国产激情| av片在线观看网站| 女人裸体免费网站| 久久亚洲精品石原莉奈| 男女做爰猛烈刺激| 亚洲欧美影院| 久久国产精品电影| 久久99国产精品尤物| 在线人成日本视频| 夜夜操夜夜操| 成人在线观看高清| 91九色蝌蚪porny| dy888夜精品国产专区| 日韩一区二区精品| 国产精品一品视频| 日韩动漫一区| 在线观看免费版| 影音先锋中文字幕影院| 在线观看国产三级| 欧美一区国产一区| 日韩在线视频网| 专区另类欧美日韩| 好吊日精品视频| 精品国产第一福利网站| 先锋av在线资源| 激情网站在线观看| 亚洲黄色av片| 精品欧美一区二区精品久久| 日韩中文字幕免费视频| 中文字幕一区二区三区四区不卡 | av综合电影网站| 黑人玩欧美人三根一起进| av电影高清在线观看| 成年人黄视频在线观看| 国产成人福利| 天码人妻一区二区三区在线看| 免费av不卡在线| 日韩免费一区二区三区| 久久久久久91| 91精品国产91综合久久蜜臀| 国产欧美视频一区二区| 亚洲区欧美区| 久久久久国内| 性欧美lx╳lx╳| 色婷婷狠狠五月综合天色拍 | 国产精品美女久久久久av爽| 四虎1515hh.com| 日韩免费av一区二区三区| 免费av一区二区三区| 91av在线网站| 亚洲成**性毛茸茸| 亚洲成人免费观看| 99国产精品久久久| 男女精品视频| 国产a久久精品一区二区三区| 草草在线视频| 一二三区在线观看| 日本大片在线看黄a∨免费| 国产黄网在线观看| 国产女同91疯狂高潮互磨| 日韩黄色免费观看| 亚洲色偷偷色噜噜狠狠99网| 婷婷色一区二区三区| 中文字幕av免费在线观看| 一区二区乱子伦在线播放| 欧美a级片免费看| 黑鬼大战白妞高潮喷白浆| 亚洲免费视频一区| 大j8黑人w巨大888a片| 一区二区三区在线观看www| 国产超级av在线| 久久www视频| 亚洲精品一区二区三区樱花| 日本精品久久久久久久久久| 日韩欧美国产二区| 日本在线xxx| 大西瓜av在线| 国产精品91av| av中文字幕网址| 日韩欧美黄色网址| 少妇光屁股影院| 无码国产精品一区二区免费式直播| 永久免费av无码网站性色av| 久久精品女同亚洲女同13| 亚洲 欧美 日韩系列| 乱妇乱女熟妇熟女网站| 熟妇人妻久久中文字幕| 久久久成人免费视频| 欧美色图亚洲| 亚洲欧美综合乱码精品成人网| 亚洲高清视频网站| 91麻豆成人精品国产| 在线视频 91| 国产精品久久久久久无人区| 在线视频你懂得| 一个人看的www视频免费观看 | 欧美一区二区三区粗大| 国产又大又粗又硬| 在线影音av| 成人香蕉视频| 亚洲激情网址| 亚洲精品日日夜夜| 一区二区av在线| 亚洲欧美日韩直播| 亚洲精品免费在线视频| 成人在线免费网站| 成人在线观看黄| 日韩精品在线不卡| 亚洲天堂avav| 被陌生人带去卫生间啪到腿软| 男人插曲女人视频免费| www.4438全国最大| 色中色在线视频| 成人日韩欧美| 91亚洲自偷观看高清| 久久精品无码一区二区三区| 国产精品丝袜91| 一区二区高清免费观看影视大全| 亚洲成人在线观看视频| zzijzzij亚洲日本成熟少妇| 日韩精品一区二区三区丰满| 免费看毛片的网站| 免费看国产片在线观看| 国产一卡2卡3卡免费网站| eeuss草民免费| 电影亚洲精品噜噜在线观看| 99久久人爽人人添人人澡| 综合国产视频| 欧美日韩亚洲一区二区三区在线| 欧美亚洲一区| 在线观看一区二区精品视频| 国产精品私拍pans大尺度在线 | 大桥未久恸哭の女教师| 五月天久久久久久| 免费高清av| 羞羞视频在线观看一区二区| 欧美综合在线视频观看| 99精品视频免费| 91毛片在线观看| 黑人巨大精品欧美一区二区| 91国内产香蕉| 9久久婷婷国产综合精品性色 | 欧洲成人午夜精品无码区久久| 亚州男人的天堂| 欧洲在线视频| 国产成人福利av| 这里只有精品在线| 国产成人精品1024| 国产三级三级三级精品8ⅰ区| 天天操天天色综合| 国产一区二区三区毛片| 91久久国产婷婷一区二区| 在线成人精品视频| 九九热在线免费观看| 天堂社区日本电影超碰| 新版的欧美在线视频| 精品一区二区三区av| 亚洲人成欧美中文字幕| 91老司机在线| 亚洲v国产v欧美v久久久久久| sese在线| 激情综合网站| 91麻豆国产精品久久| 久久精品国产亚洲精品| 欧美一区二区三区在线播放| 免费一级肉体全黄毛片| 永久免费黄色软件| 日韩一二三四| 黄色成人在线网站| 精品国产乱码久久久久久1区2区| 青青草原网站在线观看| 人妻无码一区二区三区久久99| 日韩av黄色|