順序表的缺點如下:
插入和刪除操作需要移動大量元素。當線性表長度變化較大時,難以確定存儲空間的容量。插入或刪除運算不方便,除表尾的位置外,在表的其它位置上進行插入或刪除操作都必須移動大量的結點,其效率較低。
由於順序表要求占用連續的存儲空間,存儲分配只能預先進行靜態分配。因此當表長變化較大時,難以確定合適的存儲規模。不可以增長長度,有空間限制,當需要存取的元素個數可能多於順序表的元素個數時,會出現"溢出"問題。當元素個數遠少於預先分配的空間時,空間浪費巨大。
更多介紹如下:
順序表的優點是便於隨機存儲,缺點是不便於插入刪除等操作,因為插入刪除壹個元素需要移動其後的所有元素,但是鏈表不存在這個問題,鏈表只要改變指針就行,時間復雜度小,所以鏈表於順序表恰恰相反,優點是便於插入刪除等操作,缺點是隨機存儲沒有順序表方便。
存儲空間是連續的,通常用數組實現。因此,可以通過索引查找,優點是查找修改速度比較快,然而由於順序存儲,帶來的缺點是,增加和刪除要移動數據,操作比較麻煩,速度也較慢。
鏈表:存儲空間是不連續的,每個元素通過指針連接起來的,正好不順序表相反,查找比較耗時,但增加刪除元素比較快,可在常數時間內完成。
鏈式的要比順序的方便(因為插入的話順序表也很方便,問題是順序表的插入要執行更大的空間復雜度,包括壹個從表頭索引以及索引後的元素後移,而鏈表是索引後,插入就完成了)
例如:當妳在字典中查詢壹個字母j的時候,妳可以選擇兩種方式,第壹,順序查詢,從第壹頁依次查找直到查詢到j。第二,索引查詢,從字典的索引中,直接查出j的頁數,直接找頁數,或許是比順序查詢最快的、