內容簡介
本書首先複習了C++的基礎知識,然後介紹了數據結構的相關內容,包括遞歸、棧、佇列、鍊表、表、樹、二叉樹、查找樹、堆和優先權佇列、排序。本書附錄中列出了相關的參考資源,提供了必要的數學知識,並給出了一些算法和類的原始碼實現。
本書包含大量的示例,有助於讀者從中舉一反三,深入學習數據結構方面的相關知識。在每一章末還提供了相關的複習題和問題,有利於學生鞏固所學的知識,並且給出了所有複習題和問題的答案,為學生學習提供了方便。
本書內容簡明扼要、結構組織合理、示例豐富,非常適合於高等院校計算機專業的學生閱讀,對於從事計算機軟體開發的人員,也將從本書中受益匪淺。
目錄
第1章 C++複習
1.1 標準C++程式設計語言
1.2 條件語句
1.3 運算符
1.4 疊代
1.5 函式
1.6 字元串
1.7 檔案
複習題
練習題
複習題答案
練習題答案
第2章 指針與數組
2.1 指針
2.2 派生類型
2.3 引用
2.4 按引用傳遞
2.5 空指針異常
2.6 new和delete運算符
2.7 數組
2.8動態數組
2.9 把數組傳遞給函式
2.10 多維數組
複習題
練習題
複習題答案
練習題答案
第3章 類
3.1 Point類
3.2 實例、隱式形參和this指針
3.3 編譯類及其客戶程式
3.4 友元函式
3.5 Line類
3.6 用於隨機數的類
3.7 靜態成員
3.8 複合
3.9 繼承
複習題
練習題
複習題答案
練習題答案
第4章 遞歸
4.1 階乘函式
4.2 跟蹤遞歸調用
4.3斐波納契數列
4.4 二項式係數
4.5歐幾里得算法
4.6 正確性的歸納證明
4.7 遞歸算法的複雜度分析
4.8 動態程式設計
4.9 漢諾塔
4.10 相互遞歸
複習題
練習題
複習題答案
練習題答案
第5章 棧
5.1 stack接口
5.2 使用stack對象
5.3 棧的套用
5.4 消除遞歸
5.5 連續實現
5.6 鍊表實現
複習題
練習題
複習題答案
練習題答案
第6章 佇列
第7章 鍊表
第8章 表
第9章 樹
第10章 二叉樹
第11章 查找樹
第12章 堆和優先權佇列
第13章 排序
附錄A 參考資料
附錄B 必要的數學知識
附錄D 泛型算法
附錄E 示例類