通過本課程的學習,學生將基本掌握數據結構和算法基礎知識、設計與分析的技術和方法,提高程序設計的質量;能夠根據所求問題的性質,選擇合理的數據結構,并對時間復雜性進行必要的控制。培養運用數據結構表示實際問題并設計有效算法解決實際問題的能力。為后續課程的學習和將來從事的研究工作打下扎實的基礎。
【課程內容】
第1講 緒論
數據結構定義、抽象數據型、算法分析
算法的逐步求精、緒論總結、線性表的順序表示
第2講 線性表
線性表的鏈式表示及應用
棧及應用
隊列及應用、串及匹配算法
多維數組、廣義表
第3講 樹
樹的基本術語;二叉樹的性質及遍歷
二叉樹表示及遍歷的實現(前序、中序、后序)
線性表的基本實驗
二叉樹的層序遍歷、線索二叉樹、樹的基本操作及遍歷
樹的存儲、森林與二叉樹的轉換、集合表示樹
判定樹、哈夫曼樹、表達式求值
第4講 圖
圖的定義、存儲、操作
圖的搜索、圖與樹的關系、最小生成樹
最小生成樹具體算法、最短路徑問題
二叉樹遍歷與應用
拓撲排序、關鍵路徑、線性查找
第5講 查找
二叉查找樹、AVL樹
圖的搜索及應用
B-樹、散列查找、散列函數
沖突處理、內排序概念
第6講 排序
內排序方法:氣泡、快速、直接選擇、堆排、直接插入
希爾排序、二路歸并、基數排序、排序方法總結