日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言打印树形图形,数据结构C语言版树形结构.ppt

發布時間:2023/12/31 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言打印树形图形,数据结构C语言版树形结构.ppt 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構C語言版樹形結構

St中元素 算法執行的操作 ch AC k=2 , AC 建立E結點,因k=1,將其作為C結點的左孩子結點 E AC C結點進棧,k=1 ( A 建立C結點,因k=2,將其作為A結點的右孩子結點 C A k=2 , A 退棧一次 ) AB 退棧一次 ) ABD 建立E結點,因k=2,將其作為D結點的右孩子結點 G ABD k=2 , ABD D結點進棧,k=1 ( St中元素 算法執行的操作 ch ? 算法結束 ch掃描完畢 空 退棧一次 ) A 退棧一次 ) AC 建立F結點,因k=2,將其作為C結點的右孩子結點 F 生成的二叉樹=> (2)查找結點FindNode(*b,x) 采用先序遍歷遞歸算法查找值為x的結點。找到后返回其指針,否則返回NULL。算法如下: BTNode *FindNode(BTNode *b,ElemType x) { BTNode *p; if (b==NULL) return NULL; else if (b->data==x) return b; else { p=FindNode(b->lchild,x); if (p!=NULL) return p; else return FindNode(b->rchild,x); } } (3)找孩子結點LchildNode(p)和RchildNode(p) 直接返回*p結點的左孩子結點或右孩子結點的指針。算法如下: BTNode *LchildNode(BTNode *p) { return p->lchild; } BTNode *RchildNode(BTNode *p) { return p->rchild; } (4)求高度BTNodeDepth(*b) 求二叉樹的高度的遞歸模型f()如下: f(NULL)=0 f(b)=MAX{f(b->lchild),f(b->rchild)}+1 其他情況 對應的算法如下: int BTNodeDepth(BTNode *b) { int lchilddep,rchilddep; if (b==NULL) return(0); /*空樹的高度為0*/ else { lchilddep=BTNodeDepth(b->lchild); /*求左子樹的高度為lchilddep*/ rchilddep=BTNodeDepth(b->rchild); /*求右子樹的高度為rchilddep*/ return(lchilddep>rchilddep)? (lchilddep+1):(rchilddep+1); } } (5)輸出二叉樹DispBTNode(*b) 其過程是:對于非空二叉樹b,先輸出其元素值,當存在左孩子結點或右孩子結點時,輸出一個“(”符號,然后遞歸處理左子樹,輸出一個“,”符號,遞歸處理右子樹,最后輸出一個“)”符號。對應的遞歸算法如下: void DispBTNode(BTNode *b) {if (b!=NULL) { printf("%c",b->data); if (b->lchild!=NULL || b->rchild!=NULL) { printf("("); DispBTNode(b->lchild); /*遞歸處理左子樹*/ if (b->rchild!=NULL) printf(","); DispBTNode(b->rchild); /*遞歸處理右子樹*/ printf(")"); } } } 例7.3 假設二叉樹采用二叉鏈存儲結構,設計一個算法判斷兩棵二叉樹是否相似,所謂二叉樹t1和t2是相似的指的是t1和t2都是空的二叉樹;或者t1和t2的根結點是相似的,以及t1的左子樹和t2的左子樹是相似的且t1的右子樹與t2的右子樹是相似的。 解:判斷兩棵二叉樹是否相似的遞歸模型f()如下: f(t1,t2)=true 若t1=t2=NULL f(t1,t2)=false 若t1、t2之一為NULL,另一不為NULL f(t1,t2

總結

以上是生活随笔為你收集整理的c语言打印树形图形,数据结构C语言版树形结构.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。