//樹的建立--井號法建立樹
#define _crt_secure_no_warnings#include
#include
#include
typedef
struct
_treenodetreenode, *treenodepointer;
/*單純的先序遍歷結果,中序遍歷結果,後序遍歷結果都無法還原一棵二叉樹,
必須用中序結果+先序結果---或者中序結果+後序結果 兩兩結合才能還原一棵樹
井號法建立樹思想:
將乙個樹所有的結點都補成二叉,沒有節點的地方用#代替,用先序遍歷的結果還原一棵二叉樹
*///
建立樹treenodepointer createtree()
//建立根節點
treenodepointer root = (treenodepointer)malloc(sizeof
(treenode));
//初始化
memset(root, 0, sizeof
(treenode));
//結點賦值
root->data =ch;
root->leftchild =createtree();
root->rightchild =createtree();
return
root;}//
銷毀樹--後序遍歷銷毀(結點刪除了怎麼找左子樹,右子樹啊)
void destroytree(treenodepointer *root)
treenodepointer temp = *root;
//銷毀左子樹
if (temp->leftchild!=null)
//銷毀右子樹
if (temp->rightchild!=null)
//銷毀根結點
free
(temp);
temp =null;
*root =null;}//
中序遍歷樹
void
inoder(treenodepointer root)
//遍歷左子樹
if (root->leftchild!=null)
//遍歷根結點
printf("
%c", root->data);
//遍歷右子樹
資料結構 多叉樹的建立
我有這麼個需求,是一張地區表,地區表中包含多層級的地區,如 中國,河北省,邢台市,橋東區。一共有4個層級。資料庫字段設計為 idparentid name level 編號父id 地區名等級 我要講這些資料轉為 有層級關係的json資料 很顯然資料的結構是個樹,於是就要建立樹的結構 節點 node....
資料結構 回溯法與樹的遍歷
回溯法求冪集 深度優先遍歷解空間 include include using namespace std void getpowerset const vector srcvec,vector dstvec,int i else int main 回溯法求解n皇后問題 include include...
資料結構 哈弗曼樹的建立
哈弗曼樹的建立 帶權路徑長度的計算 include include include include include using namespace std typedef structhtnode,huffmantree 選擇所有節點中權重最小的兩個節點的下標 void selectmin huff...