資料結構複習題綱

2021-08-16 09:27:13 字數 2219 閱讀 6713

最近把近期的部落格和生活中的一些瑣事進行了整理和歸納,從現在起,開始著手準備資料結構的複習了。同時做一些筆記與大家共同分享、進步!感謝大家的支援!記得點讚啦!!!

第二章:鍊錶

第三章:棧和佇列

對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示乙個或多個操作;此外,乙個演算法還具有下列五個重要特性:

1、有窮型:乙個演算法必須在執行又窮步之後結束;

2、確定性:每一條指令必須有確切的含義,不會產生二義性;

3、可行性:可通過以實現的基本預算執行有限次來實現;

4、輸入:乙個演算法存在乙個或多個輸入;

5、輸出:乙個演算法存在乙個或多個輸出。

對於乙個好的演算法須達到:

1、正確性;

2、可讀性;

3、健壯性;

4、效率與低儲存量需求;(以上四點,具體的就不展開了)

時空複雜度是用來辨別乙個程式程式的完美程度的方法,其實簡單來說就是看乙個程式的複雜程度,越簡單明瞭的程式給人,更清晰的思路和完美的解答都是複雜度普遍較低的,當然個別例外,但是對於大多數程式,尤其是大程式,不僅要考慮程式執行的步驟,還要考慮執行程式所需的記憶體空間大小,這都是在實際開發中影響著程式執行的關鍵因素。下面我們來簡單了解一下關於時空複雜度的問題吧!

下面來講講本章重點:漸進時間複雜度,簡稱:時間複雜度。

關於時間複雜度和空間複雜度,可在以下**檢視,寫的不錯,推薦:

下面來介紹以下關於空間複雜度的問題:

以上兩個大牛寫的,容易理解,我也不在班門弄斧了。

線性表是最常用且最簡單的一種資料結構,簡言之,乙個個線性表是n個資料元素的有限序列。

線性表順序儲存結構的特點是:邏輯關係相鄰的兩個元素物理位置上也相鄰,因此可以隨機訪問表中任一元素。

但同樣存在著很大的缺點:在做插入或刪除操作時,需移動大量的元素。

因此我們使用另一種表示方式:鏈式儲存結構。

相比優點:他不要求邏輯上相鄰的兩個元素物理位置也相鄰,因此他沒有順序儲存結構所具有的弱點。

相比缺點:同時也失去了順序錶可隨機訪問優點。

線性鍊錶儲存特點:用一組任意的儲存單元儲存線性表的資料元素。(儲存單元可連續,也可不連續)!

線性鍊錶包含兩個特點:資料域、指標域。

另一種形式的鏈式儲存結構。

特點:表中最後乙個結點的指標域指向頭結點,整個鍊錶形成乙個環。

為克服單鏈表這種單向性的缺點,由此而生雙向鍊錶。

限定僅在表尾進行插入或刪除操作的線性表;表尾稱棧頂,表頭稱棧底又稱後進先出。

乙個鏈佇列需要分別表示隊頭和隊尾的指標才能唯一確定。

鏈佇列的操作即為單鏈表的插入和刪除操作的特殊情況。

空的鏈佇列:頭指標和尾指標均指向頭結點。

除了用一組位址連續的儲存單元一次存放佇列頭到佇列尾的元素之外,尚需附設兩個指標front和rear分別指示佇列頭元素及佇列尾元素的位置。

空佇列:front=rear=0;每當插入新佇列尾元素是「尾指標增一」;刪除佇列頭元素時「頭指標增一」

非空佇列:尾指標始終指向尾元素的下乙個位置。

資料結構複習題(二)

一 選擇題 24分 1 下面關於線性表的敘述錯誤的是 a 線性表採用順序儲存必須占用一片連續的儲存空間 b 線性表採用鏈式儲存不必占用一片連續的儲存空間 c 線性表採用鏈式儲存便於插入和刪除操作的實現 d 線性表採用順序儲存便於插入和刪除操作的實現 2 設哈夫曼樹中的葉子結點總數為m,若用二叉鍊錶作...

資料結構複習題(五)

一 選擇題 20分 1 資料的最小單位是 a 資料項 b 資料型別 c 資料元素 d 資料變數 2 設一組初始記錄關鍵字序列為 50,40,95,20,15,70,60,45 則以增量d 4的一趟希爾排序結束後前4條記錄關鍵字為 a 40,50,20,95 b 15,40,60,20 c 15,20...

資料結構 複習題索引

瘋狂a題的感覺還是不錯的,雖然自己不打acm,因為感覺太浪費時間了,人各有志,大學除了解題能力,大方向的解決問題的能力,處理人際關係,親密關係,培養好的生活習慣在我看來更加重要。雖然跟打不打acm沒什麼關係,但acm容易讓我更像生活在高三,每天三點一線,a了n多題,只為一場帶著些許運氣成分的比賽,正...