
0人評分過此書
1.本書完全是以實務角度來幫助讀者學習資料結構。
2.本書說明的各種資料結構都擁有對應實作的C程式碼,可以讓讀者實際執行C程式來驗證各種資料結構。
3.提供大量表格、範例和圖例來說明各種資料結構觀念和詳細的演算法步驟。
4.提供一套網頁版模擬動畫工具來加強重要觀念的解說,使用互動動畫方式來模擬展示各種資料結構。
5.當讀者學習物件導向程式語言的C++、C#或Java語言後,就可以將本書C模組化程式設計改為類別來實作,輕鬆升級資料結構來學習物件導向程式設計。
以C語言的模組化程式設計實作各種資料結構的抽象資料型態ADT,由於物件導向程式語言是使用「類別」實作抽象資料型態ADT,換句話說,當讀者進階學習物件導向程式語言的C++或Java後,一樣可以將本書相關資料結構的觀念,直接改為類別來實作抽象資料型態,輕鬆升級應用在物件導向程式設計。
2.本書說明的各種資料結構都擁有對應實作的C程式碼,可以讓讀者實際執行C程式來驗證各種資料結構。
3.提供大量表格、範例和圖例來說明各種資料結構觀念和詳細的演算法步驟。
4.提供一套網頁版模擬動畫工具來加強重要觀念的解說,使用互動動畫方式來模擬展示各種資料結構。
5.當讀者學習物件導向程式語言的C++、C#或Java語言後,就可以將本書C模組化程式設計改為類別來實作,輕鬆升級資料結構來學習物件導向程式設計。
以C語言的模組化程式設計實作各種資料結構的抽象資料型態ADT,由於物件導向程式語言是使用「類別」實作抽象資料型態ADT,換句話說,當讀者進階學習物件導向程式語言的C++或Java後,一樣可以將本書相關資料結構的觀念,直接改為類別來實作抽象資料型態,輕鬆升級應用在物件導向程式設計。
-
第一章 資料結構概論
-
1-1 認識資料結構
-
1-2 程式設計過程與演算法
-
1-2-1 程式設計過程
-
1-2-2 演算法
-
1-2-3 模組化
-
1-2-4 由上而下設計方法
-
-
1-3 抽象資料型態ADT
-
1-3-1 抽象化 – 塑模
-
1-3-2 程序或函數抽象化
-
1-3-3 抽象資料型態(ADT)
-
-
1-4 C語言的模組化程式設計
-
1-5 遞迴函數
-
1-5-1 遞迴的基礎
-
1-5-2 遞迴的階層函數
-
-
1-6 程式的分析方法
-
1-6-1 頻率計數的基礎
-
1-6-2 頻率計數的計算
-
1-6-3 遞迴函數的頻率計數
-
1-6-4 Big Oh函數
-
1-6-5 Big Oh函數的等級
-
-
-
第二章 陣列與矩陣
-
2-1 C語言的陣列
-
2-1-1 一維陣列
-
2-1-2 二維陣列
-
-
2-2 陣列表示法
-
2-2-1 以列為主的表示方法
-
2-2-2 以欄為主的表示方法
-
2-2-3 指標陣列表示法
-
-
2-3 C語言的結構
-
2-3-1 宣告結構
-
2-3-2 結構陣列
-
2-3-3 typedef建立新型態
-
-
2-4 矩陣與稀疏矩陣
-
2-4-1 稀疏矩陣
-
2-4-2 稀疏矩陣的轉置
-
-
2-5 使用結構陣列處理多項式
-
-
第三章 堆疊
-
3-1 認識堆疊
-
3-2 堆疊表示法
-
3-3 運算式的計算與轉換
-
3-3-1 認識運算式的種類、計算與轉換
-
3-3-2 後序運算式的計算
-
3-3-3 中序運算式轉換成後序運算式
-
-
3-4 走迷宮問題
-
3-4-1 使用堆疊的回溯控制走迷宮
-
3-4-2 使用遞迴走迷宮
-
-
3-5 河內塔問題
-
-
第四章 佇列
-
4-1 認識佇列
-
4-2 佇列表示法
-
4-3 環狀佇列
-
4-4 雙佇列
-
4-4-1 輸入限制性雙佇列
-
4-4-2 輸出限制性雙佇列
-
-
4-5 優先佇列
-
-
第五章 鏈結串列
-
5-1 C語言的動態記憶體配置
-
5-2 認識鏈結串列
-
5-3 單向鏈結串列
-
5-3-1 建立和走訪單向鏈結串列
-
5-3-2 刪除單向鏈結串列的節點
-
5-3-3 插入單向鏈結串列的節點
-
-
5-4 使用串列實作堆疊和佇列
-
5-4-1 使用串列實作堆疊
-
5-4-2 使用串列實作佇列
-
-
5-5 環狀鏈結串列
-
5-5-1 環狀鏈結串列的建立與走訪
-
5-5-2 環狀鏈結串列內節點的插入
-
5-5-3 環狀鏈結串列內節點的刪除
-
-
5-6 雙向鏈結串列
-
5-6-1 雙向鏈結串列的建立與走訪
-
5-6-2 雙向鏈結串列內節點的插入
-
5-6-3 雙向鏈結串列內節點的刪除
-
-
5-7 含開頭節點的環狀鏈結串列
-
5-8 環狀雙向鏈結串列
-
5-8-1 環狀雙向鏈結串列
-
5-8-2 含開頭節點的環狀雙向鏈結串列
-
-
-
第六章 樹狀結構
-
6-1 認識樹狀結構
-
6-2 二元樹
-
6-3 二元樹表示法
-
6-3-1 二元樹陣列表示法
-
6-3-2 二元樹結構陣列表示法
-
6-3-3 二元樹鏈結表示法
-
-
6-4 走訪二元樹
-
6-4-1 中序走訪方式
-
6-4-2 前序走訪方式
-
6-4-3 後序走訪方式
-
-
6-5 二元搜尋樹
-
6-5-1 二元搜尋樹的節點搜尋
-
6-5-2 二元搜尋樹的節點刪除
-
-
6-6 樹的二元樹表示法
-
6-7 使用二元樹處理運算式
-
-
第七章 圖形結構
-
7-1 圖形的基本觀念
-
7-2 圖形表示法
-
7-2-1 鄰接矩陣表示法
-
7-2-2 鄰接串列表示法
-
-
7-3 走訪圖形
-
7-3-1 深度優先搜尋法DFS
-
7-3-2 寬度優先搜尋法BFS
-
-
7-4 最低成本擴張樹
-
7-4-1 走訪圖形建立擴張樹
-
7-4-2 加權圖形表示法
-
7-4-3 最低成本擴張樹
-
-
7-5 圖形的最短路徑
-
7-5-1 一個頂點到多頂點的最短路徑
-
7-5-2 各頂點至其他頂點的最短路徑
-
-
7-6 拓樸排序
-
-
第八章 排序
-
8-1 認識排序
-
8-2 基本排序法
-
8-2-1 泡沫排序法
-
8-2-2 選擇排序法
-
8-2-3 插入排序法
-
8-2-4 謝耳排序法
-
-
8-3 分割資料排序法
-
8-3-1 合併排序法
-
8-3-2 快速排序法
-
-
8-4 基數排序法
-
8-5 堆積排序法
-
8-6 二元搜尋樹排序法
-
-
第九章 搜尋
-
9-1 認識搜尋
-
9-2 未排序資料搜尋法
-
9-3 已排序資料搜尋法
-
9-3-1 二元搜尋法
-
9-3-2 插補搜尋法
-
-
9-4 樹狀結構搜尋法
-
9-4-1 二元搜尋樹搜尋法
-
9-4-2 M路搜尋樹
-
9-4-3 B樹搜尋法
-
-
9-5 雜湊搜尋法
-
9-5-1 雜湊搜尋法的基礎
-
9-5-2 雜湊函數
-
-
9-6 雜湊函數的碰撞問題
-
9-6-1 線性探測法
-
9-6-2 重雜湊法
-
9-6-3 鏈結法
-
-
-
附錄A 安裝與使用Orwell Dev-C++整合開發環境
-
A-1 下載與安裝Dev-C++
-
A-1-1 認識Dev-C++整合開發環境
-
A-1-2 Dev-C++的安裝與設定
-
-
A-2 啟動與結束Dev-C++
-
A-3 使用Dev-C++編輯和編譯C程式
-
A-4 Dev-C++的專案管理
-
A-4-1 建立Dev-C++專案
-
A-4-2 專案管理的基本操作
-
-
A-5 Dev-C++的可攜式版本
-
- 附錄B ASCII碼對照表
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分