出版說明
獻 詞
簡 介
第1章 綜述
數(shù)據(jù)結(jié)構(gòu)和算法能起到什么作用?
數(shù)據(jù)結(jié)構(gòu)的概述
算法的概述
一些定義
面向?qū)ο缶幊?nbsp;
軟件工程
對于C++程序員的Java
Java數(shù)據(jù)結(jié)構(gòu)的類庫
小結(jié)
問題
第2章 數(shù)組
Array專題Applet
Java中數(shù)組的基礎(chǔ)知識
將程序劃分成類
類接口
Ordered專題applet
有序數(shù)組的Java代碼
對數(shù)
存儲對象
大O表示法
為什么不用數(shù)組表示一切?
小結(jié)
問題
實驗
編程作業(yè)
第3章 簡單排序
如何排序?
冒泡排序
選擇排序
插入排序
對象排序
幾種簡單排序之間的比較
小結(jié)
問題
實驗
編程作業(yè)
第4章 棧和隊列
不同的結(jié)構(gòu)類型
棧
隊列
優(yōu)先級隊列
解析算術(shù)表達式
小結(jié)
問題
實驗
編程作業(yè)
第5章 鏈表
鏈結(jié)點(Link)
LinkList專題Applet
單鏈表
查找和刪除指定鏈結(jié)點
雙端鏈表
鏈表的效率
抽象數(shù)據(jù)類型
有序鏈表
雙向鏈表
迭代器
小結(jié)
問題
實驗
編程作業(yè)
第6章 遞歸
三角數(shù)字
階乘
變位字
遞歸的二分查找
漢諾(Hanoi)塔問題
歸并排序
消除遞歸
一些有趣的遞歸應(yīng)用
小結(jié)
問題
實驗
編程作業(yè)
第7章 高級排序
希爾排序
劃分
快速排序
基數(shù)排序
小結(jié)
問題
實驗
編程作業(yè)
第8章 二叉樹
為什么使用二叉樹?
樹的術(shù)語
一個類比
二叉搜索樹如何工作
查找節(jié)點
插入一個節(jié)點
遍歷樹
查找最大值和最小值
刪除節(jié)點
二叉樹的效率
用數(shù)組表示樹
重復(fù)關(guān)鍵字
完整的tree.java程序
哈夫曼(Huffman)編碼
小結(jié)
問題
實驗
編程作業(yè)
第9章 紅-黑樹
本章討論的方法
平衡樹和非平衡樹
使用RBTree專題applet
用專題applet做試驗
旋轉(zhuǎn)
插入一個新節(jié)點
刪除
紅-黑樹的效率
紅-黑樹的實現(xiàn)
其他平衡樹
小結(jié)
問題
實驗
第10章 2-3-4樹和外部存儲
2-3-4 樹的介紹
Tree234專題applet
2-3-4 樹的Java代碼
2-3-4 樹和紅-黑樹
2-3-4 樹的效率
2-3 樹
外部存儲
小結(jié)
問題
實驗
編程作業(yè)
第11章 哈希表
哈希化簡介
開放地址法
鏈地址法
哈希函數(shù)
哈?;男?nbsp;
哈?;屯獠看鎯?nbsp;
小結(jié)
問題
實驗
編程作業(yè)
第12章 堆
堆的介紹
Heap專題applet
堆的Java代碼
基于樹的堆
堆排序
小結(jié)
問題
實驗
編程作業(yè)
第13章 圖
圖簡介
搜索
最小生成樹
有向圖的拓撲排序
有向圖的連通性
小結(jié)
問題
實驗
編程作業(yè)
第14章 帶權(quán)圖
帶權(quán)圖的最小生成樹
最短路徑問題
每一對頂點之間的最短路徑問題
效率
難題
小結(jié)
問題
實驗
編程作業(yè)
第15章 應(yīng)用場合
通用數(shù)據(jù)結(jié)構(gòu)
專用數(shù)據(jù)結(jié)構(gòu)
排序
圖
外部存儲
前進
附錄A 運行專題applet和示例程序
專題applet
示例程序
Sun Microsystem軟件開發(fā)工具集
重名的類文件
其他開發(fā)系統(tǒng)
附錄B 進一步學(xué)習(xí)
數(shù)據(jù)結(jié)構(gòu)和算法
面向?qū)ο蟪绦蛘Z言
面向?qū)ο笤O(shè)計(OOD)和軟件工程
附錄C 問題答案
第1章, 綜述
第2章, 數(shù)組
第3章, 簡單排序
第4章, 棧與隊列
第5章, 鏈表
第6章, 遞歸
第7章, 高級排序
第8章, 二叉樹
第9章, 紅-黑樹
第10章, 2-3-4樹和外部存儲
第11章, 哈希表
第12章, 堆
第13章, 圖
第14章, 帶權(quán)圖