瞭解數據結構

在這裏插入圖片描述

順序表:

線性表的順序存儲結構。java描述爲數組.
優點:查詢快,直觀
缺點:增刪慢,固定長度不靈活,造成預留空間浪費。
時間複雜度:
 插入:最好情況O(1),最壞情況O(n),平均O(n)。
 刪除:O(n)
 查找:O(1)

java提供了類java.util.ArrayList,相當於可變數組,但能存儲不同類型的對象

單鏈表

線性表的鏈式存儲結構,java描述爲類

public class Lnode{
     public char data;//數據域
     public Lnode next;//指針域,存放當前結點的後繼結點的地址
}

優點:增刪快,靈活
缺點:查詢慢,因有指針域浪費空間
時間複雜度:
 插入:在某結點之後O(1),在某結點之前O(n)
 刪除:O(1)
 查找:O(n)

雙向鏈表

public class Dulnode{
     public char data;//數據域
     public Dulnode next;
      public Dulnode prior;
}

優點:雙向查找
缺點:空間開銷大
此外還有循環鏈表,雙向循環鏈表

java提供了鏈表類java.util.LinkedList

僅在表的一端進行插入和刪除的線性表(彈夾)

隊列

在表的一端進行插入在另一端進行刪除的線性表(排隊)
在這裏插入圖片描述
在這裏插入圖片描述

查找性能取決於規模和關鍵字的位置
順序查找 缺點效率低,優點對錶中存儲元素沒有要求,線性鏈表只能用順序查找
折半查找 條件數據元素按關鍵字升序或降序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章