二叉樹的演算法操作筆記

2021-06-28 22:59:27 字數 788 閱讀 5116

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 層開始,自上...