二叉樹用陣列表示

2021-06-18 20:51:30 字數 677 閱讀 2709

/*複雜的程式設計,思考永遠是最重要的*/

#include "stdio.h"

#include "stdlib.h"

#include "math.h"

int b_tree[20]=;

//int count=0;//因為count不能由開始輸入的資料個數直接看出來 ,故我直接用全域性 變數方便隨時使用

//這段程式我借鑑了鍊錶建立二叉樹的方法,值得仔細推敲

void creat_tree( int *nodelist , int *b_tree ,int n )

b_tree[j]=nodelist[i];

count=j;//二叉樹結構中有效元素的個數,即index -1;

}}void print_tree()//按照二叉樹的形式輸出資料

printf("\n");

}

}int main()

//有效下標為1 to index-1;

creat_tree( nodelist ,b_tree ,index-1 );

printf("bintree is :\n");

print_tree();

system("pause");

return 0;

}

陣列表示的二叉樹

面試某廠的時候面試官問了二叉樹最長路徑的演算法題,給定乙個陣列找出最長路徑的值,第一反應就是動態規劃,結果手寫 的時候懵逼想不起怎麼通過子節點推算父節點的下標,特此記錄警世自己。fun main args array class tree 對應的父節點是 輸出 index 1 值是6 對應的父節點是...

二叉樹的表示

二叉鏈表示法 struct bittree typedef struct bittree bitnode typedef struct bittree bitreee int main void include include include 第二種表示方法 三叉鍊錶 三叉鍊錶 typedef st...

陣列二叉樹

要求 現給一串數字,按照順序從根插入到二叉樹中。但是插入的過程要注意,左子樹的值要小於等於父節點,右子樹的值要大於父節點。例如,序列為1 3 4 2 3 0,插入對應的二叉樹為 1 0 3 2 4 3 建好二叉樹後,從根開始輸出每行數字,每層按照從左到右的順序輸出。輸入 第一行為數字序列長度n 1 ...