常用的資料結構與演算法一

2021-10-04 17:31:28 字數 1097 閱讀 4185

資料結構:資料之間相互存在的一種或者多種特定關係的元素的集合

1 資料之間的邏輯結構 : 集合結構;線性結構;樹形結構;圖形結構

物理結構【儲存結構】:順序儲存結構; 鏈式儲存結構

一 常用的資料結構有:

陣列,字串【array string】

鍊錶【linked-list】

棧【stack】

佇列 【queue】

雙端佇列【deque】

樹【tree】

陣列優缺點:

優點:   1 構建陣列簡單

2 查詢速度快   能讓我們在o(1)的時間裡根據陣列的下標index查詢某個元素

缺點:   1 構建陣列必須分配一段連續的空間

2 判斷某個元素是否存在需要遍歷整個陣列,耗費o(n)的時間(n是元素的個數)

3 刪除個新增某個元素時 同樣耗費o(n)的時間

鍊錶的組成結構:

單鏈表和雙鏈表

雙鏈表:與單鏈表不同的是,雙鏈表的每個節點中都含有兩個引用的字段

鍊錶的優缺點:

優點:1 鍊錶能靈活的分配記憶體空間

2 能在o(1)時間內刪除或者新增元素,前提是該元素的前乙個元素已知,當然也取決於是單鏈表還是雙鏈表,在雙鏈表中如果已知該元素的後乙個元素,同樣可以在o(1)時間內刪除或者新增該元素

缺點:1不像陣列能通過下標迅速讀取元素,每次都要從鏈頭開始乙個乙個讀取

2 查詢第k個元素需要o(k)時間

應用場景:如果要解決的問題裡邊需要很多快速查詢,鍊錶可能並不合適;如果遇到的問題中,資料的元素個數不確定,而且需要經常進行資料的新增和刪除,那麼鍊錶會比較合適。而如果資料元素大小確定,刪除插入的操作並不多,那麼陣列可能更合適。

資料結構與演算法(一)常用資料結構

什麼是資料 資料元素 資料項 資料物件 資料型別?資料 萬物都是資料,資料就是能輸入計算機和被程式處理的符號 資料元素 資料元素是資料的基本單位 是具體的資料 每乙個學生的資訊就是乙個資料元素 資料項 乙個資料元素由若干個資料項構成 學生的姓名 學號等都是學生資訊資料元素的乙個資料項 資料物件 具有...

資料結構與演算法(一) 資料結構與演算法概念

資料結構是計算機儲存 組織資料的方式。資料結構是指資料與資料之間的關係。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。邏輯結構 示意圖1 集合結構 2 線性結構 3 樹形結構 4...

資料結構與演算法(一)

物件導向程式設計方式 1.使用自定義類封裝陣列 2.新增類方法來實現資料操作。無序陣列 增 刪 改 查 更 顯 public class myarray public myarray int maxsize 新增資料 public void insert long value 顯示資料 public...