關於查詢樹

2021-10-02 22:53:46 字數 583 閱讀 1681

1、二叉樹

父節點至多只能有兩個子節點

2、滿二叉樹

二叉樹的每一層節點數達到最大值,n層的滿二叉樹有2的n次方-1個節點

3、完全二叉樹

除最後一層外,其他層節點達到最大值,最後一層從左向右依次排列。

個人理解從根節點開始挨個放節點,不能跳著放。最後一層,有右節點必然有左節點,有左節點可以沒有右節點。

4、平衡二叉樹

二叉樹的葉子節點所在的層級差不大於1

5、紅黑樹

紅黑樹是平衡二叉樹的一種,用更複雜的演算法來保證二叉樹的平衡。

根節點到葉子節點所在層經過的黑色節點個數相同

紅色節點子節點只能是黑色節點

根節點為黑色節點

左旋、右旋、變色 (不懂)

6、b樹(b-樹)

多節點的平衡樹,資料索引直接儲存在節點上

7、b+樹

多節點的平衡樹,資料索引全部順序存放在葉子結點上,葉子節點鍊錶,根據b+樹特性,子節點包含父節點所有資訊,所以葉子結點包含整個樹的全部資訊。

8、二叉樹查詢

先序遍歷(根左右) 中序遍歷(左根右) 後序遍歷(左右根)

用遞迴來做

關於mysql查詢 關於MYSQL 查詢

你想要的是這種效果嗎?建立表city cost create table city cost id int primary key auto increment,cost time date,city varchar 20 money int auto increment 1 插入資料 insert...

平衡查詢樹之2 3查詢樹

二叉查詢樹不能保證樹的平衡性,在最壞情況下,查詢插入操作需要線性時間。為了保證查詢樹的平衡性,有了2 3樹的概念。它是實現紅黑樹的基礎。2 3樹中有兩種結點 當插入結點時,通過一些基本操作,可以保證這棵樹是完美平衡的,因此查詢和插入的時間會是對數級的。插入過程有如下幾種可能性 區域性變換不會影響樹的...

關於動態最大子段和 線段樹查詢

question 有n個數,a 1 到a n 接下來q次查詢,每次動態指定兩個數l,r,求a l 到a r 的最大子段和。子段的意思是連續非空區間。輸入描述 input description 第一行乙個數n。第二行n個數a 1 a n 第三行乙個數q。以下q行每行兩個數l和r。輸出描述 outpu...