複習資料結構 線性表

2021-06-07 03:46:03 字數 903 閱讀 7708

線性表實現:

陣列方式:隨機訪問很快,常數級別。但是增刪慢了,n級別。預先要知道線性表的大小

鍊錶方式:隨機訪問不急,n級別。但是增刪快,常數級別。就是c++的new delete操作效能不怎樣,可以用free list來維護增刪的節點。對於new delete操作有5倍左右提公升吧。

基於陣列

指標構造

固定大小

靈活無拘束

擴充套件性不能增大

容易浪費

如果小量資料(大大小於構造大小),浪費空間

儲存指標。如果節點資料小,空間利用率就很低了增刪n

1隨機訪問1n

一般來說,元素個數多,陣列實現比較省位置;個數少,鍊錶省位置些。不知大小,size變化很大的時候,一般用鍊錶;預知到資料未來增長到什麼地步,用陣列。

一般來說,增刪頻繁的操作比較多,所以用到基於指標的鍊錶可能比較多。

設計關鍵:頭空;curr在分割之前

**:暑假補上自己寫的int作為元素的版本,盡量自己寫。

線性結構——stack(棧)

特性:ifo,last in first out, 先進先出

設計關鍵: 資料

abc3

heltop = 7

陣列索引01

2345

67鍊錶實現,top元素在head之後。

**:暑假補上自己寫的int作為元素的版本,盡量自己寫。

線性結構——queue(佇列)

特性:fifo,first in first out, 先進先出

設計關鍵:陣列版本要留乙個空位辨別是空,還是滿。

**:暑假補上自己寫的int作為元素的版本,盡量自己寫。

資料結構複習之 線性表

線性表簡單地說就是資料元素的序列,即一對一關係 讀取 o 1 插入 刪除 o n 實現 package org.xiazdong.list public class myarraylist public myarraylist int length public myarraylist tarr e...

資料結構複習之線性表

基本概念 從邏輯上可以把資料結構分為線性結構和非線性結構兩大類。對於給定的n個元素,可以構造出的邏輯結構有 集合,線性結構,樹形結構,圖狀結構或網狀結構。乙個資料元素可以由若干個資料項組成。資料項是最小單位。線性表的順序表示指的是用一組位址連續的儲存單元依次儲存線性表的資料元素。構建乙個空的線性表 ...

資料結構考研複習 線性表2

2 廈門大學 2000 15分 有序線性表的合併 這個比較基礎,例如給出兩個鍊錶,h1 1 3 5 7 9 h2 0 2 4 合併的結果就是 0 1 2 3 4 5 7 9 這個比較簡單,直接上 先搭建測試環境 typedef struct linklist linklist 構建兩個有序鍊錶 vo...