<內容簡介>
近年來,Java 已逐漸成為資訊領域最重要的高階程式語言,也是資訊相關科系的必修課程。本書是以 Java 語言為程式撰寫工具,用來解決傳統資料結構的問題。
本書內含完整的資料結構相關主題,包括:陣列、線性串列、堆疊、佇列、二元樹和圖形等,此外擴及遞迴的設計技巧,和排序、搜尋等基本演算法課題。
每一章除了各種資料結構的觀念介紹之外,還包括各類型的資料結構實作技巧,以及如何應用於各類計算機問題,深入淺出的說明,和完成的程式範例,最後,本書也提供學習所必須的習題練習。
* 豐富的資料結構題材
* 深入淺出的應用說明
* 理論與實務並重
* 精心設計的習題練習
<章節目錄>
第1章 導論
1-1 模組化程式設計
1-2 資料與結構
1-3 演算法
1-4 習題
第2章 陣列
2-1 陣列的基本觀念
2-2 一維陣列的應用
2-3 二維陣列的應用
2-4 習題
2-5 進階習題
第3章 鏈結串列
3-1 鏈結串列的意義
3-2 鏈結串列的實作
3-3 多項式的相加
3-4 鏈結串列相關資料處理
3-5 雙向鏈結串列
3-6 習題
3-7 進階習題
第4章 堆疊與佇列
4-1 堆疊的觀念
4-2 堆疊的實作
4-3 佇列的觀念
4-4 佇列的實作
4-5 堆疊應用-運算式求值
4-6 習題
4-7 進階習題
第5章 遞迴
5-1 遞迴的定義
5-2 遞迴函式的呼叫與返回
5-3 典型的遞迴函式
5-4 間接遞迴
5-5 習題
5-6 進階習題
第6章 樹狀結構
6-1 樹狀結構的概念
6-2 二元樹
6-3 二元樹的走訪
6-4 二元樹的遞迴運算
6-5 二元搜尋樹
6-6 二元運算樹
6-7 習題
6-8 進階習題
第7章 圖形
7-1 圖形的概念
7-2 圖形結構之儲存與實作
7-3 圖形的走訪
7-4 展開樹與最小展開樹
7-5 最短路徑
7-6 圖形應用-拓樸排序
7-7 習題
7-8 進階習題
第8章 排序
8-1 排序的基本概念
8-2 簡易排序演算法
8-3 改良式排序法
8-4 線性排序
8-5 各種排序法的比較
8-6 習題
8-7 進階習題
9-1 搜尋的概念
9-2 以鍵值比較為基礎的搜尋
9-3 雜湊式搜尋
9-4 雜湊函數
9-5 碰撞問題