常见的数据结构——栈、队列、数组、链表和红黑树
鏈表
鏈表:linked list,由一系列結(jié)點node(鏈表中每一個元素稱為結(jié)點)組成,結(jié)點可以在運行時i動態(tài)生成。
每個結(jié)點包括兩個部分:一個是存儲數(shù)據(jù)元素的數(shù)據(jù)域,另一個是存儲下一個結(jié)點地址的指針域。
我們常說的鏈表結(jié)構(gòu)有單向鏈表與雙向鏈表,那么這里給大家介紹的是單向鏈表。
簡單的說,采用該結(jié)構(gòu)的集合,對元素的存取有如下的特點:
紅黑樹
-
二叉樹:binary tree ,是每個結(jié)點不超過2的有序樹(tree) 。
簡單的理解,就是一種類似于我們生活中樹的結(jié)構(gòu),只不過每個結(jié)點上都最多只能有兩個子結(jié)點。
二叉樹是每個節(jié)點最多有兩個子樹的樹結(jié)構(gòu)。頂上的叫根結(jié)點,兩邊被稱作“左子樹”和“右子樹”。
我們要說的是二叉樹的一種比較有意思的叫做紅黑樹,紅黑樹本身就是一顆二叉查找樹,將節(jié)點插入后,該樹仍然是一顆二叉查找樹。也就意味著,樹的鍵值仍然是有序的。
紅黑樹的約束:
節(jié)點可以是紅色的或者黑色的
根節(jié)點是黑色的
葉子節(jié)點(特指空節(jié)點)是黑色的
每個紅色節(jié)點的子節(jié)點都是黑色的
任何一個節(jié)點到其每一個葉子節(jié)點的所有路徑上黑色節(jié)點數(shù)相同
紅黑樹的特點:
? 速度特別快,趨近平衡樹,查找葉子元素最少和最多次數(shù)不多于二倍
?
?
總結(jié)
以上是生活随笔為你收集整理的常见的数据结构——栈、队列、数组、链表和红黑树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集合综合案例
- 下一篇: List集合与List的子类