<內容簡介>
在本書中,嘗試以深入淺出、循序漸進的方式介紹資料結構的基本概念以及各重要章節,包括:陣列、鏈結串列、堆疊/佇列、遞迴、樹狀結構、排序以及搜尋等主題。各章節不僅以圖例方式詳細說明各重要概念,還搭配豐富、詳實的範例程式以及程式說明。讀者透過檢視各程式範例可以更容易掌握各資料結構的重要課題。
<本書特色>
1.在本書中以深入淺出、循序漸進的方式介紹資料結構的基本概念以及各重要章節,包括:陣列、鏈結串列、堆疊/佇列、遞迴、樹狀結構、排序以及搜尋等主題。2.全書透過JAVA語言撰寫各章節的範例程式,並搭配豐富的程式說明。讀者透過檢視各JAVA程式範例,不僅可以學習各種資料結構課題,同時可逐步掌握JAVA程式撰寫的技巧。對於初次接觸JAVA或是已具備JAVA基礎,希望藉助JAVA語言的協助進一步了解資料結構殿堂的讀者而言,本書將是一本學習的「利器」!
<章節目錄>
第一章 資料結構簡介
1-1 前言
1-2 演算法
1-3 演算法的效率評估
1-4 常見的資料結構
第二章 陣列
2-1 前言
2-2 陣列宣告
2-3 陣列在記憶體中的表示法
2-4 一維陣列的應用
2-5 二維陣列的應用
第三章 鏈結串列結構
3-1 前言
3-2 單向鏈結串列
3-3 雙向鏈結串列
3-4 環狀串列
3-5 多項式表示法
第四章 堆疊和佇列
4-1 前言
4-2 堆疊
4-3 堆疊的應用
4-4 佇列
4-5 變形堆疊和變形佇列
第五章 遞迴
5-1 前言
5-2 如何撰寫遞迴程式
5-3 階乘的遞迴運作原理
5-4 遞迴的應用
第六章 樹狀結構
6-1 樹狀結構的基本概念
6-2 樹狀結構的表示法
6-3 二元樹
6-4 二元樹的表示法
6-5 二元樹的追蹤和應用
6-6 引線二元樹
6-7 二元搜尋樹、平衡樹和B樹
6-8 樹狀結構的應用
第七章 圖形與網路
7-1 前言
7-2 圖形的基本術語
7-3 圖形的表示法
7-4 圖形追蹤
7-5 擴張樹和最小成本擴張樹
7-6 最短路徑問題
7-7 工作網路和拓樸排序
第八章 排序
8-1 前言
8-2 檔案、紀錄、欄位、索引與排序
8-3 內部排序法
8-4 外部排序法
8-5 效益評估
第九章 搜尋
9-1 前言
9-2 循序搜尋法
9-3 二分搜尋法
9-4 費氏搜尋法
9-5 插補搜尋法
9-6 搜尋法的效益分析比較
第十章 赫序函數
10-1 前言
10-2 傳統的赫序函數
10-3 碰撞的解決策略
10-4 動態赫序函數
10-5 赫序函數之建議與評估