山東大學軟件學院數據結構

數據結構知識梳理

山東大學數據結構算法PPT:
鏈接:https://pan.baidu.com/s/1tkxsM80YmZO9_f9OeAGziw
提取碼:7an5
教材:《數據結構、算法與應用 C++語言描述》第二版

山東大學數據結構期末考試知識點梳理

題型

  1. 簡答題
  2. 算法題(用C++寫出算法)

題的量不算太小,即要求不僅掌握這些內容還要熟練掌握———郭老師

第一章

1.給了一個問題,可以用遞歸解決,熟練的運用遞歸,可以將一個遞歸的改爲非遞歸的

第二章

1.時間複雜性和空間複雜性,給一個算法,能分析時間複雜性
2.熟練掌握各種排序和搜索算法
3.矩陣的運算

第三章

1.給一個算法,熟練使用漸進符號

第四章

1.瞭解時間性能

第五章

1.掌握用數組描述線性表的搜索、插入、刪除等操作及它們的優缺點

第六章

1.線性表的鏈表描述,會使用鏈表,相對於數組描述的優缺點
2.箱子排序和基數排序
3.並查集(鏈表和數組,熟練掌握基本方法,時間複雜性)

第七章

1.用數組描述的矩陣的映射關係、不同矩陣的表示方法
2.特殊矩陣的基本操作
3.稀疏矩陣的基本運算(相加、轉置)

第八章

1.棧的特性,基本描述(鏈表和數組)
2.棧的應用(熟練掌握)

第九章

1.隊列的特性,基本描述(鏈表和數組)
2.熟練掌握數組描述的映射方式,時間複雜性(鏈表和數組)
3.鏈表描述的特定(入隊和出隊)
4.隊列的應用

第十章

1.跳錶和散列的數據結構
2.跳錶和散列的優缺點
3.跳錶和散列的時間
4.跳錶的插入和刪除

第十一章

1.二叉樹的概念,特性,描述,一系列的操作(熟練掌握)
2.四種遍歷
3.二叉數的抽象描述(鏈表和數組)
4.二叉數的應用(熟練掌握(並查集))
5.用樹表示並查集(時間複雜性,在線等價類)

第十二章

1.熟練掌握堆和左高樹的概念
2.堆和左高樹的操作(初始化成堆和左高樹,插入和刪除),並掌握時間複雜性
3.應用(堆排序,霍夫曼編碼(給你一篇文章,用這個方法進行壓縮))熟練掌握

第十三章

第十四章

1.二叉搜索樹(搜索、插入和刪除)
2.搜索樹和跳錶、散列都適合描述字典(性能)
3.給你一串序列,形成AVL樹(插入和刪除)
4.AVL樹不平衡後的調整

第十五章

1.B-樹(概念、性質、搜索、插入和刪除,以及應用場景如:磁盤的讀寫應用)

第十六章

1.圖的概念(無向圖,加權圖……)
2.三種實現方式(類的定義)
3.圖的性質(入度、出度)
4.遍歷方式(BFS、DFS熟練掌握),兩種遍歷方法的應用(給你一個無向圖得到他們的廣度優先和深度優先生成樹)

第十七章

1.三種方法PPT(貪心算法的思想(解決最優化問題)(給一個問題,用貪心算法解決))
2.拓撲排序(給一個序列,搞出它的拓撲排序結果)
3.最短路徑(給一個有向圖,會用Dijkstra算法給出最短路徑和最短路徑長度)
4.Kruscal算法,Prim算法,S……算法(給一個圖,它的結果),這三種算法都要會

第十八章

1.分而治之的算法PPT(給一個序列,用這些算法排序,選擇第K大的元素)
2.這些算法的時間複雜性

第十九章

1.動態規劃和貪心算法的比較
2.動態規劃可以“優雅而高效”(給一個問題,判斷是否適合動態規劃方法來解決,找出它的遞歸方程)
3.兩個應用(0-1揹包問題(貪心和動態規劃的實現和區別),所有點對之間的最短路徑(Floyd算法和Dijstera算法的區別和時間複雜性)),Floyd算法(給一個加權有向圖,計算各頂點之間最短路徑及其長度)

郭老師寄言:

數據結構與算法緊密結合,如今算法層出不窮,數據結構深度也非常大,對於那些有志於讀研讀博的同學,學這些無論如何是不夠的,將來的研究生博士生階段依然要用到更深更廣的數據結構與算法,因此,各位同學不要只滿足於課本,在課本熟練掌握的基礎上一定要拓展自己的學習廣度和深度。

結語:一定要熱愛數據結構,認真複習,期末考試並不難,祝願各位期末取得好成績

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