基本數據結構——線性表

什么是線性表

有限個同類的數據元素構成的序列,元素之間是一一對應的線性關系。
程序設計中的數組字符串數據類型就是線性表的典型應用。
線性表常用于對大量數據元素進行隨機存取的情況。


運算和實現

線性表的實現方法:

  • 鏈表:
  • 順序:.

線性表常用的運算:

  • 遍歷按照某方式,逐一訪問線性表中的每一個數據元素,并執行讀寫或查詢等操作。
  • 查詢:按照數據元素的關鍵字(是數據元素區別于其他元素的一個特定的數據項)定位數據元素的過程。數據的插入,刪除都需要查詢定位數據元素,空的線性表無法查詢。
  • 插入:在保持原有的儲存結構的前提下,根據插入要求,在適當的位置插入元素。插入時需要有足夠的空間,空間不足時插入,線性表會溢出。插入某一元素后,前面元素不影響,后續元素指針后移。
  • 刪除:先查找后刪除,后續元素前移。

細說鏈表

鏈表中的元素可以儲存在內存的任何地方。因此元素在內存上并非緊靠在一起。

鏈表的每個元素儲存了下一個元素的地址,從而使一系列隨機的內存地址串在一起,夠成我們邏輯上的鏈表。

在鏈表中添加元素可以簡單解釋為:將數據元素放入內存,并將其地址存儲到前一個鏈表元素中。

鏈表中的查詢需要從頭到尾,假如需要同時讀取所有元素,,鏈表效率很高(讀取 了第一個元素,根據其中的地址再讀取第二個元素,以此類推)。但假如只需要讀取鏈表中的某一個元素,則必須讀取前面所有元素,此時鏈表效率很低。

數組則稍有不同,數組在內存上相互靠近的,假如需要讀取隨機的一個元素(數組a[5],要查詢第五個元素),因為首地址00,通過對首地址加上4個數據單元(此處假設為1),則第五個元素地址即為04,而不需要像鏈表一樣逐一查詢每一個元素直至目標元素。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。