資料結構與演算法 (九)二叉樹

2022-07-21 13:54:17 字數 666 閱讀 4268

前序遍歷  中序遍歷  後序遍歷  (遞迴實現)

二叉搜尋樹(查詢樹)  插入  刪除  查詢

平衡二叉搜尋樹(紅黑樹)

遞迴樹(分析時間複雜度)

leetcode

1  二叉樹的最近公共祖先

2  驗證二叉搜尋樹

思路: 二叉搜尋樹  除了左子節點《節點  右子節點》節點  這個規則外, 還有乙個規則是所有的左子樹節點,都應該小於該節點    所有右子樹節點都應大於該節點。(因為二叉搜尋樹構造的時候是從祖節點開始構造的,預設形成這個規則)

class solution 

if(!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...