堆疊:
stack,又稱堆疊,他是運算受限的線性表,其限制是僅允許在表的一端進行插入和洗掉操作,不允許在其他任何位置進行添加、查找、洗掉等操作,
簡單的來說,采用該結構的集合,對元素的存取有如下幾個特點
1、先進后出,
2、堆疊的入口、出口都是堆疊的頂端位置,
壓堆疊:就是存元素,把元素存盤到堆疊的頂端位置,堆疊中已有元素一次向堆疊底方向移動一個位置,
彈堆疊:就是取元素,把堆疊頂端的元素取出,堆疊中已有元素依次向堆疊頂方向移動一個位置,
佇列:
queue,簡稱隊,它同堆疊一樣,也是運算受限的線性表,其限制是只允許在表的一端進行插入,而在表的另一端進行洗掉,
簡單來說,采用該結構的集合,對元素的存取有如下的特點:
1、先進先出
2、佇列的入口、出口各占一側,例如左側為入口,右側為出口
陣列:
Array,是一個有序的元素序列,陣列是在記憶體中開辟出一端連續的空間,并在此空間存放元素,可以通過索引快速找到對應的資料,
采用此方式存盤資料有如下幾個特點:
1、查找元素快,通過索引可以快速訪問指定位置的元素,
2、增刪元素慢,在指定索引位置增加元素,需要創建一個新的陣列,將指定新元素存盤在指定的索引位置,然后再把原陣列元素根據索引,復制到新陣列對應的索引位置
洗掉元素,需要創建一個新陣列,把原陣列元素根據索引,復制到新陣列對應索引的位置,原陣列中指定索引位置元素不復制到新陣列中,
鏈表:
Linked List,由一系列結點node組成,結點可以在運行時動態生成,每個結點包括兩部分:一個是存盤資料元素的資料域,另一個是存盤下一個結點地址的指標域,鏈表分為單向鏈表和雙向鏈表,雙向鏈表是指有上一個結點的參考和下一個結點的指標,單向鏈表是只有下一個結點的指標,
簡單的說,采用該資料結構的集合,對資料的存盤有如下幾個特點:
多個結點之間,通過地址進行連接,
查詢慢,如果想查找某個元素,需要通過連接的結點依次向后查找,
增刪快,只需要修改連接下一個元素的地址即可,
紅黑樹:
二叉樹:是每個結點不超過2的有序樹
簡單理解,二叉樹是每個結點最多有兩個子樹的樹結構,頂上的叫根節點,兩邊被稱作為左子樹和右子樹,
紅黑樹本身就是一顆二叉查找數,將節點插入后,該數仍然是一顆二叉查找數,也就意味之數的鍵值仍然是有序的,
紅黑樹的約束:
1、節點可以是紅色的或者黑色的
2、根節點是黑色的
3、葉子節點是黑色的
4、每個紅色節點的子節點都是黑色的
5、任何一個節點到其每一個葉子節點的所有路徑上黑色節點數相同
紅黑樹的特點:
速度特別快,趨近平衡樹,查找葉子元素最少和最多次數不多于兩倍,
轉自: https://blog.csdn.net/JUN__TAO/article/details/107698819?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162367509816780261920988%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162367509816780261920988&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~times_rank-15-107698819.pc_search_result_cache&utm_term=java%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84&spm=1018.2226.3001.4187
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/288295.html
標籤:其他
上一篇:java面試筆試題
