計算機《資料結構》複習總結

2021-10-15 03:29:21 字數 3637 閱讀 2718

第一章緒論

1.什麼是資料結構(1.1、1.2)

(1)基本概念:資料結構、資料型別、抽象資料型別

(2)資料結構的分類(兩類、四類)

(3)資料結構的形式定義(二元組)

(4)資料結構研究內容:三方面(邏輯結構、物理結構和資料運算的表示)

邏輯結構的概念

物理結構的概念

兩種儲存結構:順序儲存(順序映像)、非順序儲存(鏈式儲存或非順序映像)

2.演算法和演算法分析(1.3、1.5)

(1) 演算法的概念

(2) 演算法的五個重要特性

(3) 演算法設計要求(四點)

(4) 演算法和資料結構的關係

(5) 演算法的描述(流程圖、自然語言、類c、實現用c(c++)等),在設計演算法時,描述前最好有演算法思想的描述

(6) 演算法分析(主要側重在效率分析:時間複雜度、空間複雜度)

時間複雜度:主要由重要語句的頻度得來,對問題規模的函式。

第二章線性表

1. 線性表結構的定義

(1)線性的概念、特點

(2)抽象資料型別定義: 資料結構的抽象表示

定義在其上的基本操作

(3)線性表的儲存結構:兩種

2.順序表及其基本操作

(1)順序表的定義、表示形式(陣列)及特點(優、缺點)

(2)基本操作:插入、刪除、查詢、合併

(3)插入、刪除的時間效能

2. 鍊錶及其基本操作

(1)鍊錶的定義、表示及特點

(注意頭結點和頭指標的概念的不同,帶頭結點和不帶頭結點的不同)

(2)幾種儲存結構的定義、特點

(3)基本操作:插入、刪除、查詢、合併

鍊錶判空的條件,插入、刪除指標的改變(注意語句序列)、不同鍊錶上插入、刪除結點的操作語句

a. 單鏈表

b. 雙向鍊錶

c. 迴圈鍊錶

3. 順序表與鍊錶的比較,各自的優缺點不同鍊錶之間的比較。

第三章棧和佇列

1.棧(3.1)

(1)定義、特點、儲存形式

(2)基本操作

空棧判斷(top=0,top=base)

初始化、入棧、出棧、取棧頂元素

(3)棧的應用舉例

中綴表示式轉換為字尾表示式

表示式求值的演算法。

遞迴的實現。

2.佇列(3.2)

(1) 定義、特點、儲存形式

(2) 基本操作

判空、判滿、插入(入隊)、刪除(出隊)

(3) 鏈隊的表示、實現(3.2.2-1)

(4) 迴圈佇列(3.2.2-2)

迴圈隊列為解決什麼問題而引入的取模運算

構成、判空、判滿條件、插入(入隊)、刪除(出隊)。

用帶尾指標的單迴圈鍊錶表示迴圈佇列的優點。

第四章串

1.串的定義(4.1)

2.串的表示和實現

順序儲存(4.2.1)

3. 串的基本操作(最小操作集)

4. 串匹配

(1) 匹配的含義

(2) 串的匹配演算法

樸素演算法

第五章陣列和廣義表

1.陣列的定義

2.順序表示和實現(5.2)

陣列元素的儲存位置確定(行優先、列優先)

4.矩陣

(1)特殊矩陣和稀疏矩陣的定義

(2)特殊矩陣的壓縮儲存

三角矩陣

對稱矩陣

(2)稀疏矩陣的壓縮儲存

三元組和十字鍊錶的特點、表示

5. 廣義表

(1)定義、求表頭、表尾、深度

(2)儲存結構

由廣義表表示其儲存結構

由儲存結構得出廣義表

第六章樹和二叉樹

1.樹的定義和基本術語(6.1)

2.二叉樹的定義和性質(6.2)

3.儲存結構(6.2.3)

重點掌握二叉鍊錶的儲存方式。

4.二叉樹的遍歷(6.3)

(1)遍歷的概念及方法(四種)

(2)遍歷的遞迴和非遞迴演算法

(3)遍歷演算法的應用:求結點數、葉子結點數、深度、交換等

(4)線索二叉樹的概念

(5)線索二叉樹的儲存

(6)由遍歷確定二叉樹

5.樹和森林

(1)樹的儲存

了解幾種儲存方式,掌握孩子兄弟表示法。

(2)樹及森林與二叉樹的轉換

(3)樹和森林的遍歷

6.哈夫曼樹及其應用(6.5)

(1)哈夫曼樹的定義

(2)構造哈夫曼樹方法(畫圖,演算法)

(3)哈夫曼編碼(由畫圖得出以及演算法)

(4)求樹的帶權路徑長度和哈夫曼編碼長度

第七章圖

1. 圖的定義和術語(7.1)

2. 圖的儲存結構(鄰接矩陣、鄰接表)(7.2)

3. 圖的遍歷(7.3)

(1)兩種遍歷的定義

(2)遍歷的演算法

4.最小生成樹(7.4.1)

(1)無向圖的連通分量、生成樹、最小生成樹的概念

(2)最小生成樹的生成

掌握兩種演算法的思想及構成最小生成樹的過程

5.拓樸排序和關鍵路徑(7.4.2)

(1)有向無環圖的概念

(2)拓樸排序的概念:

(3)aov網的定義

(4)理解拓樸排序演算法思想,會求拓撲序列

(5)aoe網的定義

(6)關鍵路徑的概念、演算法思想,會求關鍵路徑。

6. 最短路徑(7.4.3)

(1)最短路徑的概念

(2)理解最短路徑的演算法(迪傑斯特拉演算法、弗洛伊德演算法)的思想

(3)能夠描術迪傑斯特拉演算法的求解過程,從而求出最短路徑

。第九章查詢

1. 查詢的概念、平均查詢長度的概念

2. 靜態查詢(8.2)

(1)順序查詢、折半查詢、索引順序表(分塊)查詢的方法,重點掌握順序查詢和折半查詢的演算法。

(2)判定樹概念和性質,會通過判定樹求得折半查詢的平均查詢長度

3. 動態查詢(8.3)

(1)二叉排序樹的定義,性質:中序遍歷有序

(2)二叉排序樹的查詢

(3)二叉排序樹的插入、刪除(保持二叉排序樹的特點)

(4)平衡二叉樹的概念、生成過程。

(5)b-樹的概念和查詢

4. 雜湊表(8.4)

(1)雜湊表的概念

(2)雜湊函式的構造方法(直接定址法、除留取餘法)

(3) 解決衝突的方法(開放位址法、鏈位址法)

(4) 會構造雜湊表,計算查詢成功和查詢不成功的平均查詢長度。

5.對於各種查詢方法,要掌握其各自的特點、時間複雜度的分析(用平均查詢長度asl來度量)。

第十章排序

1. 掌握如下排序方法的演算法思想

插入排序、希爾排序、氣泡排序、快速排序、堆排序、歸併排序和基數排序。

2. 掌握如下排序的演算法

直接插入排序、希爾排序、快速排序。

3. 對如下方法會用圖示表示排序過程

希爾排序、快速排序、堆排序(會判斷堆)。

4.了解各種演算法的效能

穩定性、時間複雜度、空間複雜度

5. 能夠根據需要選用合適的排序方法

計算機系《資料結構》試題

讀萬卷書,行萬里路 劉彝 計算機系 資料結構 試題2003.6.班級學號姓名 一 填空題 每空2分,共20分 1 與鏈式儲存結構相比,順序儲存結構的優點是 2 設字元a b c d e 的權分別為23,29,14,19 和15,設計一棵huffman樹,則該huffman樹根結點的權為 3 設某二叉...

2019廈大計算機資料結構與C語言

廈門大學2004年招收攻讀碩士學位研究生 入學考試試題 招生專業 計算機應用技術考試科目及 資料結構與c語言835研究方向 注意 答案必須標明題號,按序寫在專用答題紙上,寫在本試卷上或草稿紙上者一律不給分。資料結構部分試題 1.解釋下述概念。本題共12分 資料結構 檢索 l樹 遞迴 2.簡要回答下述...

資料結構複習總結

第二章線性表 1.線性表的邏輯結構 資料元素之間存在一對一的線性關係 線性表的儲存結構 順序和鏈式 順序表和煉表。順序錶用一維陣列實現,鍊錶有單鏈表和雙鏈表及迴圈鍊錶。每種鍊錶含有指標的個數 2.掌握順序表和煉表的查詢,插入 刪除和排序操作的演算法時間複雜度。第三章棧和佇列 1.棧和佇列邏輯結構 資...