二叉樹的相關整理(暫定)

2021-09-28 18:00:07 字數 879 閱讀 9297

非線性時間比較類排序:通過比較來決定元素間的相對次序,由於其時間複雜度不能突破o(nlogn),因此稱為非線性時間比較類排序。

線性時間非比較類排序:不通過比較來決定元素間的相對次序,它可以突破基於比較排序的時間下界,以線性時間執行,因此稱為線性時間非比較類排序。

氣泡排序:重複地走訪過要排序的元素,依次比較相鄰兩個元素,如果他們的順序錯誤就把他們調換過來,直到沒有元素再需要交換,排序完成。時間複雜度: o(n^2)

選擇排序:初始時在序列中找到最小(大)元素,放到序列的起始位置作為已排序序列;然後,再從剩餘未排序元素中繼續尋找最小(大)元素,放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 時間複雜度:o(n^2)

插入排序

希爾排序

歸併排序

快速排序

堆排序二叉樹第i層的節點數最多為2 (i≥1)。

深度為k的二叉樹至多有2-1個節點(k≥1)。

包含n個節點的二叉樹的高度至少為log2(n+1)。

在任意一顆二叉樹中,諾終端節點的個數為n0,度為2的結點數為n2,則n0=n2+1。

前序:根在前,同級先左後右 (abcdefghk)

中序:先左後根右最後(bdcaehgkf)

倒序:先左後右根最後(dcbhkgfea)

每個節點或是紅色的,或是黑色的,根節點是黑色的,每個葉節點(nil)是黑色的,如果乙個節點是紅色的,則它的兩個子節點都是黑色的,對於每個節點,從該節點到其所有後代葉節點的簡單路徑上,均包含相同數目的黑色節點。時間複雜度為o(logn)

跳表是平衡樹的一種替代的資料結構,他的時間複雜度為o(logn),而普通單鏈表查詢乙個元素的時間複雜度為o(n)

動態規劃演算法是通過拆分問題,定義問題狀態和狀態之間的關係,使得問題能夠以遞推(或者說分治)的方式去解決。

二叉樹 二叉樹的相關操作

遞迴實現 建立求樹高 求葉子數 求節點數 統計度為2的結點個數 後序輸出 先序輸出 中序輸出 交換左右子樹 include include include define true 1 define false 0 define ok 1 define error 0 define overflow ...

二叉樹相關

1.首先建立乙個樹節點,節點有值,左節點和右節點 author 張夢楠 title package description date 2018 5 2519 27 blog www.itzmn.com 樹的節點類 public class treenode public treenode int v...

二叉樹相關

廣度優先遍歷 對於每層的節點,放到乙個用來處理節點佇列裡,另外每個佇列對應乙個vector,將每層節點放進vector 對於每個佇列,彈出先放的元素q.front,將這個元素放進vector,隨後,將左節點和右子節點放進佇列 class solution queue q q.push root wh...