typedef struct binode*bitree;
/* 先序建立一顆二叉樹
*/void createbitree(bitree&t)
else
}int comp(bitree&t)else
return
t->ch-'0';
}else
return0;}
/* 求二叉樹的深度
*/int depth(bitree t)
/* 普通的非二叉搜尋樹的搜尋
*/void search(bitree&t,bitree&q,char key)else
}}/*
利用節點的右子樹指標right將一顆二叉樹的葉子節點按照從左往右的順序串成乙個單鏈表,head指向第乙個葉子節點,tail指向最後乙個葉子節點(遞迴版本)
*/void make_leaftolinklist_notrecursion(bitree t,bitree&head,bitree&tail)else
}else
}}void make_leaftolinklist(bitree&t, bitree&head, bitree&tail)
else
}t = t->left;
}else
}}/*
輸出根節點到每個葉子節點的路徑
*/void print_root_to_leaf(bitree t,int path,int top)
else
}}
二叉樹 二叉樹的相關操作
遞迴實現 建立求樹高 求葉子數 求節點數 統計度為2的結點個數 後序輸出 先序輸出 中序輸出 交換左右子樹 include include include define true 1 define false 0 define ok 1 define error 0 define overflow ...
演算法筆記 二叉樹,二叉搜尋樹筆記(python)
二叉樹筆記 1.基本概念 1 根節點 2 葉節點 2.樹 圖 鍊錶之間的關係 1 鍊錶是特殊化的樹,例如一棵樹只有左子節點,而沒有右子節點 或者一棵樹只有右子節點,而沒有左子節點。如下圖。3.二叉樹,python定義 class treenode def init self,val self.val...
演算法筆記 二叉樹1
樹 先看圖 通過上面的圖,可以很直觀的理解以下概念 根節點,子節點,兄弟節點,葉子節點。沒有父節點的節點叫做根節點,比如節點 23。擁有相同的父節點的節點,稱之為兄弟節點,比如節點 13 和節點 54。沒有子節點的節點叫做葉子節點,比如節點 10,節點 28 等。層級 如圖所示,從 1 層開始,自上...