首頁 >Java >java教程 >Java常見基礎資料結構是什麼

Java常見基礎資料結構是什麼

WBOY
WBOY轉載
2023-05-31 12:22:061143瀏覽

棧:

stack,又稱堆疊,他是運算受限的線性表,其限制是僅允許在表的一端進行插入和刪除操作,不允許在其他任何位置進行新增、尋找、刪除等操作。

簡單的來說,採用該結構的集合,對元素的存取有以下幾個特點

1、先進後出。

2、堆疊的入口、出口都是堆疊的頂端位置。

壓棧:就是存元素,把元素儲存到堆疊的頂端位置,堆疊中已有元素一次向堆疊底部方向移動一個位置。

彈棧:就是取元素,把堆疊頂端的元素取出,堆疊中已有元素依序向棧頂方向移動一個位置。

佇列:

queue,簡稱隊,它同堆疊一樣,也是運算受限的線性表,其限制是只允許在表的一端進行插入,而在表的另一端進行刪除。

簡單來說,採用該結構的集合,對元素的存取有如下的特點:

1、先進先出

2、佇列的入口、出口各佔一側,例如左側為入口,右側為出口

數組:

Array,是一個有序的元素序列,數組是在記憶體中開闢出一端連續的空間,並在此空間存放元素,可以透過索引快速找到對應的資料。

採用此方式儲存資料有以下幾個特點:

1、查找元素快,透過索引可以快速存取指定位置的元素。

2、增刪元素慢,在指定索引位置增加元素,需要建立一個新的數組,將指定新元素儲存在指定的索引位置,然後再把原數組元素根據索引,複製到新數組對應的索引位置

刪除元素,需要建立一個新數組,將原始數組元素根據索引,複製到新數組對應索引的位置,原始數組中指定索引位置元素不複製到新數組中。

鍊錶:

Linked List,由一系列結點node組成,結點可以在執行時動態產生。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點位址的指標域。鍊錶分為單向鍊錶和雙向鍊錶,雙向鍊錶是指有上一個結點的引用和下一個結點的指針,單向鍊錶是只有下一個結點的指針。

簡單的說,採用該資料結構的集合,對資料的儲存有以下幾個特點:

  • 多個結點之間,透過位址連接。

  • 查詢慢,如果想尋找某個元素,需要透過連接的結點依序向後尋找。

  • 增刪快,只需要修改連接下一個元素的位址即可。

紅黑樹:

二元樹:是每個結點不超過2的有序樹

簡單理解,二元樹是每個結點最多有兩個子樹的樹狀結構。頂上的叫根節點,兩邊被稱為左子樹和右子樹。

紅黑樹本身就是一顆二元查找數,插入節點後,該數仍然是一顆二元查找數,也就意義之數的鍵值仍然是有序的。

紅黑樹的限制:

  • 節點可以是紅色的或是黑色的

  • ##根節點是黑色的

  • 葉子節點是黑色的

  • 每個紅色節點的子節點都是黑色的

  • 任何一個節點到其每一個葉子節點的所有路徑上黑色節點數相同

#紅黑樹的特徵:

####紅黑樹的特徵:######### 速度特別快,趨近平衡樹,找出葉子元素最少和最多次數不多於兩倍。 ###

以上是Java常見基礎資料結構是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除