1樓:空空之光
#include
#define array_max 12
int main()
int tree[array_max];
for(int i = 0;i < array_max;i++)tree[i] = i+1;
int flag = 0;//記錄當前葉子的遍歷位置,0 剛遍歷到這個葉子,1 已經遍歷完成該葉子的左兒子,2 已經遍歷完成該葉子的右兒子
int count = 1;//假設tree不為空
printf("%d ",tree[count-1]);
if(count*2 > array_max)flag = 1;
else
count = count*2;
else if(flag == 1)
if(count*2+1 > array_max)flag = 2;
else
count = count*2+1;
flag = 0;
else if(flag == 2)
if(count%2 == 0)
flag = 1;
else
flag = 2;
count = count/2;
getchar();
return 0;
以上**microsoft visual c++ 6.0中編譯通過,輸出的數列為以下下二叉樹的前序遍歷
連5分都不給,真小氣......
2樓:北京巴卜技術****
沒有關係呀,你把二叉樹的下標統統減一,然後修改下對應的二叉樹的公式就行了,當然公式不能照搬,但是做到下標從零開始還是沒問題的
3樓:
//構建完全二叉樹,層數是三,7個節點 int a[7] = ; //前序遍歷,先訪問左兒子,再訪問自己,再訪問右兒子 //左兒子的位置
4樓:匿名使用者
資料結構那本書上寫的很清楚啊.抄來就是,直接使用
5樓:
public class haha
else
else }}
}public static void main (string args) ;
new haha(tree);}}
設一棵完全二叉樹中有500個結點,則該二叉樹的深度為多少?若用二叉連結串列作為該完全二叉樹的儲存結構,則共
6樓:匿名使用者
如圖完全二叉du樹(存在單分支zhi)對應的二叉連結串列求空dao指標域即求先孩子結點個數×版2再+1(此權處的1就是單分支結點的空指標域)
深度為9的完全二叉樹前8層是滿二叉樹,共2⁸-1=255個結點第9層有500-255=245個結點(245為奇數可知其父結點一定有單分支),其父結點個數為244/2+1=123(其中有一個單分支結點)
第8層有2⁷=128個結點,其中葉子結點個數128-123=5(不明白看下圖)
所以空指標域個數=245×2+5×2+1=501個純手打不容易,希望有幫助
7樓:萌萌小司機
因為bai2的8次方是du256,500個點是8+1=9層。
因為500為偶數zhi,所以其父結點只
dao有左孩子,即250號結點右域為空,第專屬8層共256個,250往後還有6個雙空的,第9層還有500-256=244個雙空。所以共有空域1+6*2+244*2=501個
8樓:匿名使用者
1+2+4+8+16+32+64+128+245 = 500,
這樣算深度是9,
空指標域 244*2+6*2+1=501
9樓:匿名使用者
9,[log2n]+1501
資料結構中,在一棵有n個結點度為k的樹中必有n(k 1) 空鏈域,這個結論是怎麼得到的
共有nk個鏈域,但是隻使用了n 1個 因為鏈域儲存的是指向子樹根結點的指標,可以理解為孩子,n個結點中只有根結點指標沒有儲存在鏈域中,故使用了n 1個鏈域 然後nk n 1 n k 1 1.不知道我這樣說你能不能理解,我自己是這樣算的 i 0 k,k i ni k ni i ni kn n 1 解釋...
度為3的一棵樹共有結點,其中度為3,1的結點個數分別為
度為3的一棵樹共有30個結點,其中度為3,1的結點個數分別為3,4。則該樹中的葉子結點數為15 求解中n2 8,n0 n1 n2 n3 30 由上得 n0 4 8 3 30 解得 n0 30 15 即 n0 15 在電腦科學中,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left...
夢見一棵沒見過的植物,夢見一棵綠色的小植物開了一朵小紅花預示了什麼?
張歡歡活寶 1.夢見一棵沒見過的植物的周公解夢 吉凶指數 79 由佛滔居士根據數理文化得出,僅供參考 夢見一,新的開始的暗示。工作 戀愛上都可得到新的開始。一直以來困擾的問題也可能得到解決,是個好夢。攀緣植物是一種依附性植物,因此,如果夢見攀緣植物代表著服從和恭順。夢見植物,預示不幸,比如事業或健康...