上海交通大學(數據機構)考試大綱

《數據結構》

描述語言:

本考試課程的描述語言建議爲CC++語言,如果沒有學過CC++可以採用其它的通用程序設計語言。在編寫程序時,必須說明基本的程序設計思想,並附以必要的註解。必須按照程序書寫規範編寫程序,如保留字必須大寫,嵌套語句必須注意對齊等等。另外,編寫程序必須採用規範的程序設計語言,採用類-C或類-C++語言編寫的程序,一律不予承認。

複習大綱:

1、  計算機與算法的基本概念

算法、算法正確性、複雜性

算法的時間與空間複雜性級別

遞歸及循環程序設計的算法複雜性的求解及基礎方法

最壞情況下、平均情況下的時間複雜性的求法

2、  抽象數據類型和數據結構導論

數據類型、數據結構和表示、實現,固有數據類型的特點

抽象數據類型的說明、高級語言對抽象數據類型的支持。抽象數據類型的優點:簡單、完整、獨立、安全等。

C++PASCALADA等高級語言支持抽象數據類型的能力、相同數據類型和類屬數據類型。

3、  線性表、棧和隊列

順序分配、鏈接分配的表示和實現。

各種鏈表:單鏈、雙鏈、多鏈、循環鏈表、十字鏈表等。

棧、隊列、雙向隊列及優先隊列。

表達式計算、子集和問題等。

表、隊、棧等各種情況的時間及空間複雜性分析

4、  樹及二叉樹

遍歷、存儲、基本概念、性質、樹的應有舉例。

二叉樹:遍歷、各種搜索樹、分類二叉樹、樹與二叉樹和轉換、最優二叉樹、平衡樹的分析等等。

最優葉子查找樹及HUFFUMAN算法。

堆及優先隊列的實現等等。

各種樹操作特性、性質、實現。

23樹及AVL樹、集合表示及操作

各種數及二叉樹的相關操作的時間及空間複雜性分析;

5、  圖的各種操作及算法分析比較

遍歷:DFS/BFS/PFS/方法以及存儲、基本概念、性質、

連通分量的求法;

最小生成樹、最短路徑;

拓撲排序、關鍵路徑的求法及實現等;

各種圖的算法的分析及比較、算法複雜性的級別等

6、  串的存儲及KMP算法

存儲、基本運算、樣品匹配等;

KMP算法及時間及空間複雜性分析

7、  查找技術

順序查找、有序表的查找、索引順序查找、二分查找法、FIB0NACCI查找等

HASHING查找技術。

查最大項及次最大項的方法。

順序統計、勝者樹及敗者樹。

查找算法的分析及比較、算法時間及空間複雜性等。

8、  排序技術

最好、最壞、平均排序的時間複雜性分析

合併排序技術

各種排序方法:插入排序、快速排序、SHELL排序、堆及選擇排序、

多關鍵字排序、基數排序法。

最佳排序速度

排序的時間及空間複雜性分析

9、  外部排序技術

外存及分類技術簡介

緩衝區管理、初始合併串、置換選擇分類技術

磁帶合併:平衡合併及多階段合併。

磁盤合併:最佳合併樹模型

時間及空間複雜性分析

10、基本文件系統

文件組織:順序、隨機、直接、倒排文件

索引技術:柱面索引、盤面索引、HASHING索引、樹索引。

B樹及B+樹

ISAMVSAM文件。

各種文件的特點及分析

11、基本算法的設計

回溯法及分治法

查找及分解技術

動態程序及設計技術

貪心法

算法的形式描述及分析、比較、時空需求

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章