(資料結構)第三章 列表

2021-09-02 23:51:32 字數 836 閱讀 7799

向量中的秩同時對應於邏輯和物理次序,而位置僅對應於邏輯次序。

3.3.1 資料結構支援的操作:靜態和動態。

size()和get()均可以在常數時間內完成。

insert()和remove()均需要線性時間完成。

鍊錶是一種典型的動態儲存結構。節點之間通過指標相互索引和訪問。

列表是鍊錶結構的一般化推廣,其中的元素稱作節點,分別由特定的位置和鏈結指代。

節點的作用:儲存對應的資料項,還應記錄其前驅和後繼的位置。

3.2.1 列表節點

列表節點支援的操作介面

data()、pred()、succ()、insertaspred(e)、insertassucc(e)

3.3.1 頭、尾節點

私有的頭節點和尾節點始終存在,但對外並不可見。頭節點緊鄰於首節點之前,尾節點緊鄰於末節點之後。

此後引入的新節點都將陸續插入於這一對哨兵節點之間。

3.3.4 查詢

時間複雜度為o(n),線性正比於查詢區間的寬度。

3.3.8 析構

列表析構首先呼叫clear()介面刪除並釋放所有對外部有效的節點,然後釋放內部的頭、尾哨兵節點。

3.3.10 遍歷

這裡介紹了三種排序方法:

插入排序、選擇排序、歸併排序。

插入排序:始終將整個序列視作並切分為兩個部分:有序的字首,無序的字尾;通過迭代,反覆地將字尾的首元素轉移至字首中。

在任何時刻,相對於當前節點e=s[r],字首s[0,r]總是業已有序。

選擇排序:將序列劃分為無序字首和有序字尾兩部分,此外,要求字首不大於字尾。每次只需從字首中選出最大者,並作為最小元素轉移至字尾中,即可使有序部分的範圍不斷擴張。

第三章列表

listsize 屬性 列表的元素個數 pos 屬性 列表的當前位置 length 屬性 返回列表中元素的個數 clear 方法 清空列表中的所有元素 find 方法 在列表中查詢某一元素 tostring 方法 返回列表的字串形式 getelement 方法 返回當前位置的元素 insert 方法...

資料結構 第三章 佇列

佇列 queue 具有一定操作約束的線性表 特點 fifo 即先來先服務,只能在一端插入,在另一端刪除 順序儲存實現 由乙個一維陣列和乙個記錄頭元素位置的變數front以及乙個記錄隊尾元素位置的變數rear組成 define maxsize 儲存資料元素的最大個數 struct qnode type...

資料結構第三章小結

一 第三章主要學習了棧和佇列,也發現了佇列的鏈式操作中有些跟第二次小組合作的思路是一樣的,因而在學習過程可以輕鬆掌握。二 完成作業或實踐時的心得體會 1 pta上的作業 使用了stl以及自定義棧的方法,對於stl是初次使用,後面可以多多用 實踐2中發現自己在乙個迴圈中,忽視乙個判斷條件導致在pta上...