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

二維碼
企資網

掃一掃關注

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

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

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

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

              精品久久99ma| 天天综合日日夜夜精品| 日韩电影一区二区三区| av福利精品导航| 国产精品日日摸夜夜摸av| 国内精品写真在线观看| 欧美成人国产一区二区| 国产麻豆日韩欧美久久| 久久久久97国产精华液好用吗| 日本欧美韩国一区三区| 国产午夜亚洲精品午夜鲁丝片| 精品一区二区久久久| 国产精品不卡一区二区三区| 国产精品一区在线| 中文字幕在线不卡一区二区三区| 欧美日韩你懂得| 青青草伊人久久| 国产精品人成在线观看免费| 99久久久久久| 精品伊人久久久久7777人| 久久久久久电影| 91视频.com| 日韩国产欧美一区二区三区| 欧美在线播放高清精品| 日日噜噜夜夜狠狠视频欧美人 | 在线视频一区二区三区| 亚洲人成电影网站色mp4| 色88888久久久久久影院按摩 | 亚洲日本va在线观看| 欧美电影免费观看高清完整版在线 | 国产精品久久二区二区| 欧洲一区二区三区免费视频| 国产一区欧美日韩| 亚洲欧美另类久久久精品| 国产精品亚洲人在线观看| 美女www一区二区| 国产日韩在线不卡| 日韩欧美国产1| 91在线国内视频| 欧美成人乱码一区二区三区| 色综合久久九月婷婷色综合| 午夜精品久久一牛影视| 亚洲免费在线看| 久久久噜噜噜久噜久久综合| 欧美一区二区三区在线看| 成人激情黄色小说| 日韩在线一区二区三区| 亚洲成人1区2区| 国产精品蜜臀在线观看| 国产精品污污网站在线观看| 日韩欧美一级精品久久| 日韩一区二区在线看| 在线亚洲高清视频| 成人激情黄色小说| 色婷婷综合五月| 成人av一区二区三区| 本田岬高潮一区二区三区| 国产一区二区在线视频| 成人午夜电影网站| 国产一区二区视频在线播放| 偷窥少妇高潮呻吟av久久免费| 亚洲一区在线看| 国产精品久久久久久久久免费相片| 精品国产免费人成电影在线观看四季| 在线观看网站黄不卡| 久久成人免费网| 国产麻豆视频一区| 激情五月播播久久久精品| 国产酒店精品激情| 免费高清在线一区| 国产不卡视频在线观看| 国产精品亚洲一区二区三区在线| 国产在线一区观看| 国产麻豆视频一区| 一区二区三区成人在线视频| 日韩精品欧美精品| 蜜桃久久精品一区二区| 国产91精品免费| 成人免费看视频| 欧美人xxxx| 欧美日本国产视频| 国产丝袜美腿一区二区三区| 久久综合九色综合久久久精品综合| 91丨九色丨蝌蚪富婆spa| 91精品免费在线| 日韩欧美中文一区| 亚洲乱码国产乱码精品精小说 | 久久精品这里都是精品| 精品少妇一区二区三区日产乱码| 欧美色精品天天在线观看视频| 精品福利一二区| 国产精品免费丝袜| 麻豆久久久久久久| 国产99久久久国产精品| 7878成人国产在线观看| 精品剧情v国产在线观看在线| 亚洲免费观看视频| 青青国产91久久久久久| 色狠狠av一区二区三区| 欧美日韩精品三区| 91国模大尺度私拍在线视频| 欧美丰满少妇xxxxx高潮对白| 欧美成人精品高清在线播放| 综合久久久久久| 日本大胆欧美人术艺术动态 | 中文字幕一区视频| 欧美精品一二三| 国产麻豆91精品| 中文字幕高清一区| 成人av网站在线观看| 欧美性高清videossexo| 在线观看91av| 国产综合久久久久久久久久久久| ww亚洲ww在线观看国产| 国产在线视视频有精品| 日韩女优电影在线观看| 一区二区三区在线高清| 不卡av免费在线观看| 亚洲国产精品99久久久久久久久| 欧美无砖专区一中文字| 国产欧美视频在线观看| 亚洲老妇xxxxxx| 久久国产福利国产秒拍| av一区二区三区在线| 久久蜜桃香蕉精品一区二区三区| 青青草成人在线观看| 精品日韩在线观看| 精品国产91久久久久久久妲己| 成人免费视频一区二区| 国产精品免费久久久久| 成人黄色777网| 亚洲综合视频网| 精品国产欧美一区二区| 黑人精品欧美一区二区蜜桃| 久久久青草青青国产亚洲免观| 岛国精品在线播放| 一区二区三区欧美日韩| 欧美一区二区三区公司| 国产成人在线视频网址| 亚洲精品视频在线看| 欧美日韩免费视频| 国产一区二区三区美女| 亚洲欧美aⅴ...| 精品国产免费一区二区三区四区| 在线一区二区三区| 精品国产青草久久久久福利| 1区2区3区欧美| 欧美日韩午夜影院| 国产一区二区不卡在线| 国产精品91一区二区| 欧美mv和日韩mv的网站| 亚洲视频电影在线| 欧美精品123区| 韩国成人精品a∨在线观看| 日韩免费视频一区二区| 欧美性生活久久| 日本不卡一区二区| 欧美日韩国产大片| 国产在线精品一区在线观看麻豆| 精品三级在线看| 色婷婷综合久久久中文字幕| 亚洲精品国产成人久久av盗摄| 欧美日韩黄视频| 人人精品人人爱| 欧美日韩一区小说| 国产成人久久精品77777最新版本| 久久久综合九色合综国产精品| 99精品偷自拍| 亚洲精品中文字幕在线观看| 精品日韩欧美在线| 成人精品视频网站| 丝袜美腿高跟呻吟高潮一区| 精品粉嫩aⅴ一区二区三区四区| 亚洲午夜一区二区三区| 久久久www成人免费无遮挡大片| 成人午夜av电影| 蜜臀久久99精品久久久画质超高清| 日韩天堂在线观看| 欧美亚洲国产一卡| 国产综合久久久久久鬼色 | 国产日产欧美精品一区二区三区| 国产·精品毛片| 日韩午夜在线影院| 北条麻妃国产九九精品视频| 寂寞少妇一区二区三区| 国产精品国产三级国产aⅴ中文| 不卡视频在线观看| 午夜精品久久久久久| 久久毛片高清国产| 精品国产乱码久久久久久免费| 91久久一区二区| 91色婷婷久久久久合中文| 99麻豆久久久国产精品免费| 91亚洲精品久久久蜜桃网站| 亚洲一区二区三区中文字幕| 99riav久久精品riav| 久久蜜桃一区二区| 欧美人动与zoxxxx乱| 在线免费观看视频一区| 久国产精品韩国三级视频|