1. 程式人生 > >資料結構與演算法(一)

資料結構與演算法(一)

Q1:紅黑樹的性質?

1.只有黑色紅色

2.根節點是黑色

3.葉子節點是黑色

4.紅節點下必是黑節點

5.由一個節點到其子孫節點,所有路徑的黑色節點數量一樣

Q2:HashMap,LinkedHashMap,紅黑樹與B樹使用場景?

儲存維度

紅黑樹當資料較大時,深度較大,IO操作就會頻繁,複雜度變高,所以適合小資料量的記憶體環境,如TreeMap,TreeSet;

B樹由於深度小,IO操作少,適合大資料量的外存。

排序維度

紅黑樹排序時間複雜度O(lg10)比連結串列排序等的時間複雜度(O(n))要小很多。

簡單的增刪改查

HashMap與LinkedHashMap時間複雜度都是O(1),考慮使用HashMap;

增刪改查並保證排序

LinkedHashMap額外保證了Map的遍歷順序與put順序一致的有序性,考慮使用LinkedHashMap;

Q3:紅黑樹的基本操作: