順序表和單鏈表的比較
訪問方式:順序表和順序訪問,也可以隨意訪問,鍊錶只能從表頭順序訪問元素。
查詢,插入刪除操作
對於按值查詢,當順序表在無序情況下,兩者的時間複雜度均為o(n).而當順序表有序時,可以採用折半查詢,此時時間複雜度為log2n.對於按序號查詢,順序表支援隨機訪問,時間複雜度為o(1),而鍊錶的平均時間複雜度為o(n).順序表的插入、刪除操作時,平均需要移動半個表長的元素。鍊錶的插入、刪除操作時,只需要修改相關結點的指標域即可。
刪除單鏈表結點
struct node
;node* deletenode(node *head, int value)
if (p == null)
return head;
if (q == null)
q->next = p->next;
free(p);
return head;
}
順序表和單鏈表的比較
順序表與鍊錶的比較 一 順序表的特點是邏輯上相鄰的資料元素,物理儲存位置也相鄰,並且,順序表的儲存空間需要預先分配。它的優點是 1 方法簡單,各種高階語言中都有陣列,容易實現。2 不用為表示節點間的邏輯關係而增加額外的儲存開銷。3 順序表具有按元素序號隨機訪問的特點。缺點 1 在順序表中做插入 刪除...
順序表和單鏈表的比較
通過了對第二章的學習,我知道了線性表儲存資料時主要通過順序表儲存結構和鏈結儲存結構。而鏈結儲存結構又以單鏈表為代表。下面我就說一下我通過老師的講解和書本上的知識說明一下我理解中的順序表和單鏈表。首先是順序表。順序表是用一段位址連續的儲存單元一次儲存線性表的資料元素。順序表是用一堆陣列來實現的,也可以...
C 實現順序表和單鏈表
include include using namespace std typedef int datatype class seqlist seqlist const seqlist s seqlist operator seqlist s seqlist operator seqlist s s...