欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

二維碼
企資網

掃一掃關注

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

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

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

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

反饋

用戶
反饋

欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

        9000px;">

              精品久久国产97色综合| 亚洲日本护士毛茸茸| 日韩一级免费一区| 久久综合久久99| 国产日产欧美一区| 亚洲伊人伊色伊影伊综合网| 亚洲综合男人的天堂| 日本不卡在线视频| 欧美日韩中文另类| 国产成人啪免费观看软件| www.色精品| 国产v综合v亚洲欧| 国产精品高潮呻吟| 精品影视av免费| 国产精品青草综合久久久久99| **欧美大码日韩| 欧美精品高清视频| 欧美亚洲日本国产| 国产午夜久久久久| 日韩美女一区二区三区| 奇米四色…亚洲| 国产精品国产a| 免费观看日韩电影| 午夜免费久久看| 视频在线观看91| 一区二区三区欧美| 日韩欧美中文字幕公布| 91精品国产一区二区人妖| 亚洲美女偷拍久久| 奇米影视在线99精品| 欧美一级理论片| 日韩一区中文字幕| 综合av第一页| 美女视频一区在线观看| 久久99久久精品| 韩国女主播成人在线| 国产精品一级片| 成人精品gif动图一区| 福利一区在线观看| 成人av网站大全| 久久精品人人做| 亚洲图片你懂的| av在线不卡观看免费观看| 91麻豆精品国产自产在线 | 国产成人精品免费视频网站| 日韩理论片中文av| 国产精品99久| 成人国产视频在线观看| 日韩精品最新网址| 91影视在线播放| 中文字幕不卡的av| 亚洲精品菠萝久久久久久久| 国产在线麻豆精品观看| www.日韩av| 中文字幕制服丝袜一区二区三区| 欧美国产一区二区在线观看| 亚洲国产视频在线| 激情综合亚洲精品| 麻豆91精品91久久久的内涵| 色久优优欧美色久优优| 欧美高清视频一二三区| 成人免费小视频| av激情综合网| 亚洲精品在线一区二区| 在线观看91视频| 精品少妇一区二区三区在线播放| 久久综合av免费| 美腿丝袜亚洲综合| 国产美女娇喘av呻吟久久| 日韩久久久精品| 亚洲人成在线观看一区二区| 亚洲激情综合网| 日本成人在线网站| 成人国产精品视频| 欧美日韩精品三区| 一区二区三区在线免费| 国产福利视频一区二区三区| 中文字幕一区二区三中文字幕| 亚洲综合免费观看高清完整版| 色婷婷一区二区| 日本一区二区三区免费乱视频| 国产精品小仙女| 色婷婷av久久久久久久| 国产午夜久久久久| 日本电影欧美片| 亚洲综合色丁香婷婷六月图片| 丰满白嫩尤物一区二区| 一区二区三区在线看| 亚洲线精品一区二区三区| 久久久精品免费免费| 在线免费亚洲电影| 一区二区三区91| 欧美日韩精品一区二区| 亚洲少妇30p| 亚洲第一主播视频| 在线91免费看| 亚洲视频图片小说| 色激情天天射综合网| 欧美在线视频不卡| 精品动漫一区二区三区在线观看| 国产精品888| 国产综合色在线视频区| 国产精品综合二区| 99re这里都是精品| 日本伊人色综合网| 亚洲美女区一区| 91女厕偷拍女厕偷拍高清| 伊人性伊人情综合网| 国产99久久久精品| 最近日韩中文字幕| 精品夜夜嗨av一区二区三区| 国产精品美女一区二区在线观看| 久久久久国产精品麻豆| 丝袜美腿成人在线| 国产亚洲精品7777| 青青草成人在线观看| 欧美激情在线一区二区| 不卡免费追剧大全电视剧网站| 一区二区三区四区激情 | 亚洲一区二区三区四区的| 九九国产精品视频| 亚洲精品视频在线| 91精品久久久久久蜜臀| 狠狠色狠狠色综合日日91app| 亚洲天堂免费看| 在线观看日韩国产| 豆国产96在线|亚洲| 亚洲国产激情av| 国产成人在线视频播放| 亚洲欧美电影一区二区| 国产精品污网站| 91麻豆视频网站| 国产一区在线观看视频| 国产精品久久久久久久岛一牛影视| 日韩视频免费观看高清完整版在线观看| 在线国产电影不卡| 国产精品久久网站| 精品国产三级电影在线观看| 国产一区二区三区四区五区入口| 亚洲国产精品久久久久秋霞影院 | 一区二区激情视频| 精品久久久影院| 久久久精品国产免大香伊| 日韩欧美一区二区在线视频| 欧美群妇大交群中文字幕| 日本女人一区二区三区| 亚洲综合色区另类av| 在线免费视频一区二区| 91在线精品一区二区| 香蕉成人伊视频在线观看| 一区二区激情小说| 久久亚洲免费视频| 日韩视频不卡中文| 精品少妇一区二区三区在线播放 | 国产精品乱人伦中文| 国内精品视频一区二区三区八戒| 国产欧美日韩另类一区| 久久影视一区二区| 国产偷v国产偷v亚洲高清| 久久综合久久综合九色| 精品国产一区二区三区久久久蜜月| 欧美日韩一级二级三级| 91色综合久久久久婷婷| 色综合天天综合色综合av| 91欧美激情一区二区三区成人| 56国语精品自产拍在线观看| 91精品国产91综合久久蜜臀| 亚洲精品成人少妇| 久久综合中文字幕| 亚洲国产综合在线| 亚洲国产高清不卡| 欧美在线观看一二区| 亚洲一区二区av在线| 精品1区2区3区| 99国产欧美久久久精品| 国产精品国产三级国产| 久久精品亚洲精品国产欧美kt∨ | 欧美肥大bbwbbw高潮| 欧美精品三级日韩久久| 国产精品一区久久久久| 全国精品久久少妇| 国产一区二区不卡老阿姨| 久久er99精品| 99视频精品全部免费在线| 欧美三级在线看| 色综合视频在线观看| 久久尤物电影视频在线观看| 国产目拍亚洲精品99久久精品| 欧美日韩另类国产亚洲欧美一级| 日韩电影在线一区二区三区| 在线观看视频91| 99久久久久久| 欧美精品一二三区| 国产乱国产乱300精品| jlzzjlzz亚洲日本少妇| 久久99国产精品久久99| 色婷婷综合久久| 99久久久久免费精品国产 | 国产精品资源网| 91精品啪在线观看国产60岁|