1樓:網友
發到郵箱查收。其中好多要求的東西重複。
路徑長不就是老爸的數目?也不就是層次嗎?
main函式沒再改。對於樓主的需求下次最好寫的詳細點,今天改了三次了。對於設計這樣很不好。
要想查證那幾個函式你可以隨便找個節點,比如root是根,你可以用root->getleft()-getright()-只要節點有意義查證,沒有給出遍歷樹的每個節點並列印這些資訊的方法,但是函式都給出了。
**在你郵箱裡。查收。
計算機c語言中什麼是「二叉樹」?
2樓:惠企百科
在電腦科學中,二叉樹是每個結點最多有兩個子樹的有序樹。通常子樹的根被稱作「左子樹」(left subtree)和「右子樹」(right subtree)。二叉樹常被用作二叉查詢樹和二叉堆或是二叉排序樹。
二叉樹的每個結點至多隻有二棵子樹(不存在度大於2的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第i層至多有2的 i -1次方個結點;深度為k的二叉樹至多有2^(k) -1個結點;對任何一棵二叉樹t,如果其終端結點數(即葉子結點數)為n0,度為2的結點數為n2,則n0 = n2 + 1。
樹是由乙個或多個結點組成的有限集合,其中:
必有乙個特定的稱為根(root)的結點;二叉樹。
剩下的結點被分成n>=0個互不相交的集合t1、t2、..tn,而且, 這些集合的每乙個又都是樹。樹t1、t2、..tn被稱作根的子樹(subtree)。
樹的遞迴定義如下:(1)至少有乙個結點(稱為根)(2)其它是互不相交的子樹。
1.樹的度——也即是寬度,簡單地說,就是結點的分支數。以組成該樹各結點中最大的度作為該樹的度,如上圖的樹,其度為2;樹中度為零的結點稱為葉結點或終端結點。
樹中度不為零的結點稱為分枝結點或非終端結點。除根結點外的分枝結點統稱為內部結點。
2.樹的深度——組成該樹各結點的最大層次。
3.森林——指若干棵互不相交的樹的集合,如上圖,去掉根結點a,其原來的二棵子樹t1、t2、t3的集合就為森林;
4.有序樹——指樹中同層結點從左到右有次序排列,它們之間的次序不能互換,這樣的樹稱為有序樹,否則稱為無序樹。
試編寫演算法,判斷兩顆棵以二叉連結串列表示的二叉樹p和q是否相似。(c語言版)
3樓:網友
我昨天答過乙個貼子,同樣的。
這個題目非常好,是智力題,感興趣就替你想想:
首先要搞清什麼叫「相似」,這要定義好:
如果有兩個樹的左右子樹也對應相類,稱「相似」。那程式就好編了,象遍歷。
一樣,仍用「遞迴」。
演算法:1. 如果兩個樹,都是空,就是相似;
2. 如果兩個樹都不空,左子樹與左子樹也相似,右子樹與右子樹也相類,則這兩樹相似,這裡明顯是遞迴了;
3. 否則,兩樹中肯定有乙個為空,另乙個不為空,這種情況不相似;
bool similar(node * t1,node * t2)if (t1==null &&t2==null) /兩樹都空。
return(true); 空樹,相似。
兩樹非空。/有遞迴,下面拆開的目的,提高遞迴效率。
if ( simila(t1->left,t2->left))return(false); 左跟左不相似,則樹不相似。
if (!simila(t1->right,t2->right))return(false); 右跟右不相似,則樹不相似。
return(true); 排除了不相似的情況,就是相似的了。
elsereturn(false); 剩下的情況就是乙個空,另乙個不空,肯定不相似。
main()
node * p, *q;
if simila(p,q))
顯示「 樹相似」
else //顯示「樹不相似。
求程式 線索二叉樹插入刪除運算,線索二叉樹的插入和刪除
include include malloc.h include windows.h define maxsize 20 規定樹中結點的最大數目 typedef struct nodebithptr bithptr q maxsize 建隊,儲存已輸入的結點的地址 bithptr creattree...
二叉樹的遍歷問題,二叉樹的遍歷問題?
程式vs2003成功編譯執行 include stdafx.h include using namespace std typedef struct tree bintree 二叉樹的建立 bintree create char str,intpose,intsize return t void p...
資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷
前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...