紅黑樹常見面試問題整理

2021-09-27 03:20:12 字數 1049 閱讀 6365

1.紅黑樹知識點結構圖

2.紅黑樹漫畫初步解讀

3.筆試面試常考資料結構紅黑樹性質總結

4.教你初步了解紅黑樹(很完整的部落格!!)

紅黑樹是一種特定型別的二叉樹,是在電腦科學中用到的一種資料結構,典型的用途是實現關聯陣列。它是在2023年由rudolfbayer發明的,他稱之為"對稱二叉b樹",它現代的名字是在leoj.guibas和robertsedgewick於2023年寫的一篇**中獲得的。它是複雜的,但它的操作有著良好的最壞情況執行時間,並且在實踐中是高效的,它可以在o(logn)時間內做查詢,插入和刪除,這裡的n是樹中元素的數目。紅黑樹是一種自平衡二叉查詢樹,是在電腦科學中用到的一種資料結構,典型的用途是實現關聯陣列

紅黑樹是每個節點都帶有顏色屬性的二叉查詢樹,顏色或紅色或黑色。在二叉查詢樹強制一般要求以外,對於任何有效的紅黑樹我們增加了如下的額外要求:

性質1. 節點是紅色或黑色。

性質2. 根節點是黑色。

性質3 每個葉節點是黑色的。

性質4 每個紅色節點的兩個子節點都是黑色。(從每個葉子到根的所有路徑上不能有兩個連續的紅色節點)

性質5. 從任一節點到其每個葉子的所有路徑都包含相同數目的黑色節點。

紅黑樹在函式式程式設計中也特別有用,在這裡它們是最常用的持久資料結構之一,它們用來構造關聯陣列和集合,在突變之後它們能保持為以前的版本。除了o(log n)的時間之外,紅黑樹的持久版本對每次插入或刪除需要o(log n)的空間。

紅黑樹是 2-3-4樹的一種等同。換句話說,對於每個 2-3-4 樹,都存在至少乙個資料元素是同樣次序的紅黑樹。在 2-3-4 樹上的插入和刪除操作也等同於在紅黑樹中顏色翻轉和旋轉。這使得 2-3-4 樹成為理解紅黑樹背後的邏輯的重要工具,這也是很多介紹演算法的教科書在紅黑樹之前介紹 2-3-4 樹的原因,儘管 2-3-4 樹在實踐中不經常使用。

enum color  

; struct rbtreenode

;

前端常見面試問題整理

使用偽元素 after clearfix after 在浮動元素的後乙個元素上新增clear both 或者在後面加乙個空元素,再加上clear both 在浮動元素的父元素上加上overflow屬性。setinterval 間隔指定的毫秒數不停地執行指定的 var myvar setinterva...

資料庫 常見面試問題整理

sql語句分類 資料庫語言分為幾類,分別為每類編寫完整1個完整的sql語言 修改表結構 alter table drop truncate delete區別 什麼是臨時表,臨時表什麼時候刪除?插入資料語句 sql 左連線 索引原理,對索引的理解 完整性資料庫多表查詢 如何建立資料表中多對多的關係 如...

SVM常見面試問題

答 幾何間隔與樣本的誤分次數間存在關係 其中的分母就是樣本到分類間隔距離,分子中的r是所有樣本中的最長向量值 答 會,超平面會靠近樣本少的類別。因為使用的是軟間隔分類,而如果對所有類別都是使用同樣的懲罰係數,則由於優化目標裡面有最小化懲罰量,所以靠近少數樣本時,其懲罰量會少一些。比如 假設理想的分隔...