亞大資料結構講義
這是朱學亭老師的資料結構課程講義
課程目標
- 在程式中應用各種基本資料結構。
- 學生了解程式設計和資料結構的關係。
- 學生了解資料結構的操作方法及複雜度。
- 學生了解如何在各種程式語言中使用資料結構。
程式語言
在這個講義中的範例,使用C語言、Java語言以及Go語言
簡介
本電子書為資料結構課程講義,全文大致分為以下三大部分:
Part I為程式語言和演算法基礎,以列印出1~6的亂數演算法,說明資料結構和演算法的結合,並且用C/Java來實作該程式。
Part II為演算法和資料結構的基礎,包括演算法的證明以及複雜度分析。
Part III為基本資料結構,包括陣列和矩陣(Arrays and Matrices)、鏈結串列(Linked Lists)、堆疊(Stacks)和佇列(Queues)
Part IV為排序和搜尋,包括排序(sort)、搜尋(search)等
Part V為進階資料結構,包括樹(Trees)、圖形(Graphs)等
Part VI 為附錄部分,包含一些考題的整理
教科書
Data Structures & Algorithm Analysis by Clifford A. Shaffer
https://people.cs.vt.edu/shaffer/Book/
參考書
- E. Horowitz, S. Sahni and S. Anderson-Freed, Fundamentals of Data Structures in C (2nd ed.), Silicon Press. (開發代理)
- Horowitz,基礎資料結構 in C 第二版,蔡錫鈞、戴顯權譯,開發出版,2008。
- E. Horowitz, S. Sahni and D. Mehta , Fundamentals of Data Structures in C++, (2nd ed.), Silicon Press. (開發代理)
- Horowitz,基礎資料結構 in C + + 第二版,戴顯權譯,學貫出版,2007。
- Data Structures, Algorithms, and Applications in Java by Sartaj Sahni https://www.cise.ufl.edu/~sahni/dsaaj/