前序遍歷 中序遍歷 後序遍歷 (遞迴實現)
二叉搜尋樹(查詢樹) 插入 刪除 查詢
平衡二叉搜尋樹(紅黑樹)
遞迴樹(分析時間複雜度)
leetcode
1 二叉樹的最近公共祖先
2 驗證二叉搜尋樹
思路: 二叉搜尋樹 除了左子節點《節點 右子節點》節點 這個規則外, 還有乙個規則是所有的左子樹節點,都應該小於該節點 所有右子樹節點都應大於該節點。(因為二叉搜尋樹構造的時候是從祖節點開始構造的,預設形成這個規則)
class solutionif(!isvalidbst(root->left)||!isvalidbst(root->right))
return preorderleft(root->left,root)&&preorderright(root->right,root); //所有的左子樹節點,都應該小於該節點 所有右子樹節點都應大於該節點。(因為二叉搜尋樹構造的時候是從祖節點開始構造的,預設形成這個規則)
//使用中序遍歷,遍歷所有節點
}bool preorderleft(treenode* root,treenode* p)
bool preorderright(treenode* root,treenode* p)
};
資料結構與演算法 樹與二叉樹
樹是若干個結點組成的有限集合,其中必須有乙個結點是根結點,其餘結點劃分為若干個互不相交的集合,每乙個集合還是一棵樹,稱為根的子樹。當樹的結點個數為0時,我們稱這棵樹為空樹,記為 關於樹的基本術語 結點 表示樹中的元素,包括資料項和若干指向其子樹的分支 結點的度 結點所擁有的子樹的個數 葉子結點 度為...
演算法與資料結構 二叉樹
二叉樹 binary tree 二分樹 二元樹 二叉樹的遞迴定義 或是空樹,或是一棵由乙個根結點和左右子樹組成的樹,且左右子樹也是二叉樹。分枝結點 除葉結點以外的結點。二叉樹的性質 最多 2 h 1 個結點 n2 n0 1 滿二叉樹 所有分枝結點都存在左右子樹,且葉結點都在同一層。完全二叉樹 除最後...
資料結構與演算法 二叉樹
1.普通二叉樹 treenode package math public class treenode public void setdata int data public treenode getlchild public void setlchild treenode lchild publi...