●第1章 緒論
1.1 數據結構簡介
1.1.1 數據結構課程的內容
1.1.2 數據結構的基本概念和術語
1.2 抽像數據類型
1.3 算法的執行效率及其度量
1.3.1 算法
1.3.2 算法設計的要求
1.3.3 算法效率的度量
1.3.4 算法的存儲空間需求
1.4 算法分析
1.4.1 算法設計與分析的重要性
1.4.2 一個簡單的算法分析設計實例
習題
ACM/ICPC實戰練習
第2章 線性結構
2.1 線性表
2.1.1 線性表的定義
2.1.2 線性表的抽像數據類型
2.1.3 線性表的存儲結構
2.2 線性表的順序存儲及運算實現
2.2.1 順序表
2.2.2 順序表上基本運算的實現
2.2.3 順序表應用舉例
2.3 線性表的鏈式存儲和運算實現
2.3.1 單鏈表
2.3.2 單鏈表上基本運算的實現
2.3.3 循環鏈表
2.3.4 雙向鏈表
2.3.5 靜態鏈表
2.3.6 單鏈表應用舉例
2.3.7 線性表實現方法比較
2.4 棧
2.4.1 順序棧
2.4.2 鏈式棧
2.4.3 棧的應用舉例
2.4.4 棧與遞歸
2.5 隊列
2.5.1 順序隊列
2.5.2 鏈式隊列
2.5.3 基於隊列的算法設計實例
2.6 數組
2.6.1 數組的定義
2.6.2 數組的順序表示和實現
2.6.3 特殊矩陣的壓縮存儲
習題
ACM/ICPC實戰練習
第3章 字符串
3.1 串類型定義
3.2 串的表示和實現
3.2.1 串的定長順序存儲結構及其基本運算實現
3.2.2 串的堆存儲結構及其基本運算實現
3.2.3 串的鏈式存儲結構及其基本運算實現
3.3 串的模式匹配算法
3.3.1 樸素匹配算法
3.3.2 KMP算法
3.3.3 基於KMP算法的應用舉例
習題
ACM/ICPC實戰練習
第4章 樹和二叉樹
4.1 樹
4.1.1 樹的定義和基本術語
4.1.2 樹的抽像數據類型
4.1.3 樹的存儲結構
4.1.4 樹的遍歷
4.1.5 樹的應用
4.2 二叉樹
4.2.1 二叉樹的定義
……
第5章 圖論算法
第6章 內部排序
第7章 文件管理和外排序
第8章 檢索與散列表
第9章 算法設計方法
參考文獻
本書以數據結構基礎和算法設計方法為,繫統地介紹了數據結構與算法的基本知識及應用,簡明扼要地闡釋了計算機算法的設計與分析方法。本書的主要內容包括線性表、樹、圖等基礎數據結構,同時也包括一些實用性較強的算法及高級數據結構,如並查集、伸展樹等。以經典問題算法為例,書中分類介紹了算法設計方法以及查找與排序算法等。編者結合ACM國際大學生程序設計競賽的需求,對各章節知識的靈活應用進行了詳細的分析,用豐富的實例幫助讀者由淺入深、快速地掌握算法設計的技巧,提升算法設計能力。本書的算法全部采用C語言描述,且在Dev-C++中測試通過,習題安排上注重能力培養和實戰訓練的需求。本書注重理論與實踐相結合,內容深入淺出,可以作為高等院校計算機相關專業的教材或參考書,同時也可供ACM競賽的興趣愛好者和有關工程技術人員參考。