注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Java面向?qū)ο髷?shù)據(jù)結(jié)構(gòu)完全學(xué)習(xí)教程(典藏中文版 精)

Java面向?qū)ο髷?shù)據(jù)結(jié)構(gòu)完全學(xué)習(xí)教程(典藏中文版 精)

Java面向?qū)ο髷?shù)據(jù)結(jié)構(gòu)完全學(xué)習(xí)教程(典藏中文版 精)

定 價(jià):¥139.00

作 者: [美] 內(nèi)爾·黛爾,丹尼爾·T·喬伊斯,奇普·威姆斯 著,王金菊,金筆佳 譯
出版社: 中國(guó)青年出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787515355252 出版時(shí)間: 2019-10-01 包裝: 平裝
開(kāi)本: 16k 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)主要介紹傳統(tǒng)的和現(xiàn)代的數(shù)據(jù)結(jié)構(gòu)方面的知識(shí),重點(diǎn)介紹問(wèn)題的解決和軟件的設(shè)計(jì)。從基礎(chǔ)知識(shí)開(kāi)始并貫穿全書(shū),介紹并擴(kuò)展了許多Java功能的應(yīng)用,如類(lèi)、對(duì)象、泛型、多態(tài)、包、接口、庫(kù)中的類(lèi)、繼承、異常和線程等。我們還在整個(gè)講解過(guò)程中使用統(tǒng)一建模語(yǔ)言(UML)類(lèi)圖來(lái)幫助建模并可視化對(duì)象、類(lèi)、接口、應(yīng)用程序及其相互關(guān)系。 Chapter 1 關(guān)于基礎(chǔ)知識(shí)的整理。綜述面向?qū)ο?,?qiáng)調(diào)了組織對(duì)象和類(lèi)的機(jī)制。 Chapter 2 介紹了抽象數(shù)據(jù)類(lèi)型棧(Stack),引入了抽象數(shù)據(jù)類(lèi)型(abstract data type,ADT)的概念。 Chapter 3 討論了遞歸(Recursion),演示了如何使用遞歸解決編程問(wèn)題。 Chapter 4 介紹了抽象數(shù)據(jù)類(lèi)型隊(duì)列(Queue)。 Chapter 5 對(duì)抽象數(shù)據(jù)類(lèi)型集合進(jìn)行了定義。 Chapter 6 介紹了一個(gè)更具體的抽象數(shù)據(jù)類(lèi)型—集合。 Chapter 7 介紹了二叉搜索樹(shù)抽象數(shù)據(jù)類(lèi)型。 Chapter 8 講了映射(Map)抽象數(shù)據(jù)類(lèi)型,映射抽象數(shù)據(jù)類(lèi)型也叫符號(hào)表、字典或關(guān)聯(lián)數(shù)組。 Chapter 9 介紹了優(yōu)先級(jí)隊(duì)列抽象數(shù)據(jù)類(lèi)型,它與隊(duì)列密切相關(guān),但具有不同的訪問(wèn)協(xié)議。 Chapter 10 講了圖(Graph)抽象數(shù)據(jù)類(lèi)型,包括實(shí)現(xiàn)方法和數(shù)種有關(guān)圖的重要算法(深度優(yōu)先搜索、廣度優(yōu)先搜索、路徑存在與否、Z短路徑和連通分量)。 Chapter 11 介紹/回顧了一些排序和查找算法。

作者簡(jiǎn)介

  [ 美]內(nèi)爾·黛爾 Nell Dale 得克薩斯大學(xué)奧斯汀分校計(jì)算機(jī)科學(xué)博士。她自 1975 年以來(lái),一直在得克薩斯大學(xué)奧斯汀分校任教,同時(shí)專(zhuān)注于計(jì)算機(jī)科學(xué)教育、寫(xiě)作。出版或參與出版過(guò)的專(zhuān)著有《Computer Science Illuminated》《Programming and Problem Solving withC++: Brief Edition》《C++ Plus Data Structures》等。 [ 美]奇普·威姆斯 Chip Weems 美國(guó)馬薩諸塞大學(xué)阿默斯特分校計(jì)算機(jī)科學(xué)專(zhuān)業(yè)副教授。在過(guò)去的 20 多年中,他教授了入門(mén)編程、軟件工程、計(jì)算機(jī)體系結(jié)構(gòu)和并行處理等課程。自 1986 年以來(lái),他與其他人合作編寫(xiě)了 13 本教科書(shū),幫助 100 多萬(wàn)學(xué)生學(xué)習(xí)計(jì)算機(jī)編程。他的書(shū)已被譯成法語(yǔ)、西班牙語(yǔ)和俄語(yǔ)?,F(xiàn)在,他從事計(jì)算機(jī)體系結(jié)構(gòu)、編譯器、并行處理和編譯器體系結(jié)構(gòu)協(xié)同優(yōu)化方面的研 究。出版或參與出版的專(zhuān)著有《Turbo Pascal》《Programmingand Problem Solving with C++》《Programming inC++》《C++ Plus Data Structures》等。 [ 美]丹尼爾·T·喬伊斯 Daniel T. Joyce 美國(guó)維拉諾瓦大學(xué)計(jì)算機(jī)科學(xué)系的副教授。喬伊斯的研究興趣是軟件工程,重點(diǎn)是軟件需求識(shí)別。此外,他還活躍于計(jì)算機(jī)科學(xué)教育界。??

圖書(shū)目錄

Chapter 1? 知識(shí)整理
1.1? 類(lèi)、對(duì)象和應(yīng)用程序?
類(lèi)?
統(tǒng)一方法?
對(duì)象?
應(yīng)用程序?
1.2? 組織類(lèi)?
繼承?
包?
1.3? 異常?
處理異常狀況?
異常與類(lèi):實(shí)例?
1.4? 數(shù)據(jù)結(jié)構(gòu)?
非獨(dú)立實(shí)現(xiàn)的結(jié)構(gòu)?
獨(dú)立實(shí)現(xiàn)結(jié)構(gòu)?
數(shù)據(jù)結(jié)構(gòu)的含義??
1.5? 基本結(jié)構(gòu)化機(jī)制?
內(nèi)存?
引用?
數(shù)組?
1.6? 算法比較:增長(zhǎng)階分析?
測(cè)算法的時(shí)間效率?
情況復(fù)雜度?
輸入值的大小?
算法比較? 66
增長(zhǎng)順序? 68
選擇排序算法? 69
常見(jiàn)的增長(zhǎng)階? 72
? 小結(jié)? 73
? 習(xí)題? 74

Chapter 2? 抽象數(shù)據(jù)類(lèi)型—棧?
2.1? 抽象?
信息隱藏?
數(shù)據(jù)抽象?
數(shù)據(jù)層次?
前置條件和后置條件?
Java接口?
基于接口的多態(tài)性?
2.2? 棧?
棧的操作?
棧的用法?
2.3? 集合元素?
常用集合?
2.4? 棧接口?
異常情況?
接口?
應(yīng)用實(shí)例?
2.5? 基于數(shù)組的棧實(shí)現(xiàn)?
ArrayBoundedstack類(lèi)?
棧操作的定義?
ArrayListStack類(lèi)?
2.6? 應(yīng)用程序:平衡表達(dá)式?
平衡類(lèi)?
應(yīng)用程序?
軟件架構(gòu)?
2.7? 鏈表?
數(shù)組與鏈表?
LLNode類(lèi)?
鏈表操作?
2.8? 基于鏈接的棧?
LinkedStack類(lèi)?
壓棧操作?
彈棧操作?
其他棧操作?
比較棧的實(shí)現(xiàn)方式?
2.9? 應(yīng)用程序:后綴表達(dá)式評(píng)估器
討論?
后綴表達(dá)式求值?
后綴表達(dá)式求值算法?
錯(cuò)誤處理?
PostFixEvaluator類(lèi)?
PFixCLI類(lèi)?
2.10? 棧變體?
重新審視棧抽象數(shù)據(jù)類(lèi)型?
Java棧類(lèi)和集合框架?
? 小結(jié)?
? 習(xí)題?

Chapter 3? 遞歸?
3.1? 遞歸定義、算法和程序?
遞歸定義
遞歸計(jì)算?
遞歸程序?
階乘的迭代解決方案?
3.2? 三個(gè)問(wèn)題?
驗(yàn)證遞歸算法?
確定輸入限制?
編寫(xiě)遞歸方法?
調(diào)試遞歸方法?
3.3? 數(shù)組的遞歸處理?
二分查找?
3.4? 鏈表的遞歸處理?
鏈表的遞歸性質(zhì)
鏈表遍歷?
鏈表轉(zhuǎn)換?
3.5? 塔?
算法?
方法?
程序?
3.6? 分形?
丁字方形的分形?
變體?
3.7? 移除遞歸?
遞歸的工作原理?
尾調(diào)用消除?
直接使用棧?
3.8? 何時(shí)使用遞歸解決方案?
遞歸開(kāi)銷(xiāo)?
低效算法?
清晰度?
? 小結(jié)?
? 習(xí)題?
Chapter 4? 抽象數(shù)據(jù)類(lèi)型—隊(duì)列?
4.1? 隊(duì)列?
隊(duì)列操作?
使用隊(duì)列?
4.2? 隊(duì)列接口?
應(yīng)用實(shí)例?
4.3? 基于數(shù)組的隊(duì)列實(shí)現(xiàn)?
ArrayBoundedQueue類(lèi)?
ArrayUnboundedQueue類(lèi)?
4.4? 交互式測(cè)試驅(qū)動(dòng)程序?
一般方法?
ArrayBoundedQueue類(lèi)的測(cè)試驅(qū)動(dòng)?
使用測(cè)試驅(qū)動(dòng)程序?
4.5? 基于鏈接的隊(duì)列實(shí)現(xiàn)?
入隊(duì)操作?
出隊(duì)操作
循環(huán)鏈表隊(duì)列設(shè)計(jì)?
比較隊(duì)列實(shí)現(xiàn)?
4.6? 應(yīng)用程序:回文?
回文類(lèi)?
應(yīng)用程序?
4.7? 隊(duì)列變體
特殊情況?
玻璃隊(duì)列?
雙端隊(duì)列?
雙向鏈表?
Java庫(kù)集合框架隊(duì)列/雙端隊(duì)列?
4.8? 應(yīng)用程序:平均等待時(shí)間?
問(wèn)題討論和示例?
Customer類(lèi)?
模擬?
測(cè)試?
4.9? 并發(fā)、干擾和同步?
Counter類(lèi)?
Java線程?
干擾?
同步?
同步隊(duì)列?
并發(fā)與Java庫(kù)集合類(lèi)?
? 小結(jié)?
? 習(xí)題?

Chapter 5? 抽象數(shù)據(jù)類(lèi)型—集合?
5.1? 集合接口?
集合的前提?
接口?
5.2? 實(shí)現(xiàn)基于數(shù)組的集合?
5.3? 應(yīng)用程序:詞匯密度?
5.4? 重新探討比較對(duì)象?
函數(shù)equals?
Comparable接口?
5.5? 基于排序數(shù)組的集合的實(shí)現(xiàn)?
參比元素?
實(shí)現(xiàn)?
以“拷貝”或“引用”的方式實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型?
示例程序?
5.6? 基于鏈接的集合的實(shí)現(xiàn)?
內(nèi)部表示形式
運(yùn)算?
比較集合實(shí)現(xiàn)?
5.7? 集合變體
Java集合框架?
Bag?ADT?
Set?ADT?
? 小結(jié)?
? 習(xí)題?

Chapter 6? 抽象數(shù)據(jù)類(lèi)型—列表?
6.1? 列表接口?
迭代?
列表假設(shè)?
接口
6.2? 列表實(shí)現(xiàn)?
基于數(shù)組的實(shí)現(xiàn)?
基于鏈表的實(shí)現(xiàn)?
6.3? 應(yīng)用程序:紙牌和游戲?
Card類(lèi)?
CardDeck類(lèi)?
應(yīng)用程序:排列Card?Hand?
應(yīng)用程序:Higher?or?Lower?
應(yīng)用程序:一對(duì)牌有多罕見(jiàn)?
6.4? 基于數(shù)組的有序列表的實(shí)現(xiàn)?
插入排序?
不支持的操作?
Comparator接口?
構(gòu)造函數(shù)?
應(yīng)用實(shí)例?
6.5? 列表變體?
Java庫(kù)列表?
鏈表變體?
鏈表作為節(jié)點(diǎn)數(shù)組?
6.6? 應(yīng)用程序:大整數(shù)
大整數(shù)?
內(nèi)部表示?
LargeIntList類(lèi)
LargeInt類(lèi)
加法和減法
LargeIntCLI程序?
? 小結(jié)?
? 習(xí)題?

Chapter 7? 抽象數(shù)據(jù)類(lèi)型—二叉搜索樹(shù)?
7.1? 樹(shù)?
樹(shù)的遍歷?
7.2? 二叉搜索樹(shù)?
二叉樹(shù)?
二叉搜索樹(shù)?
二叉樹(shù)遍歷?
7.3? 二叉搜索樹(shù)接口?
接口? 449
7.4? 實(shí)現(xiàn)層級(jí):基礎(chǔ)級(jí)?
7.5? 迭代法VS遞歸法的實(shí)現(xiàn)?
size函數(shù)的遞歸法?
size函數(shù)的迭代法?
遞歸還是迭代
7.6? 實(shí)現(xiàn)層級(jí):剩余的觀察函數(shù)?
contains和get函數(shù)?
遍歷?
7.7? 實(shí)現(xiàn)層級(jí):轉(zhuǎn)換函數(shù)?
add操作?
remove操作?
7.8? 二叉搜索樹(shù)的功能?
重新討論文本分析實(shí)驗(yàn)?
插入順序和樹(shù)形?
平衡二叉搜索樹(shù)?
7.9? 應(yīng)用程序:詞頻計(jì)數(shù)器
類(lèi)WordFreq?
應(yīng)用程序?
7.10? 樹(shù)的變體?
特定應(yīng)用的變體? 4
平衡搜索樹(shù)?
? 小結(jié)?
? 習(xí)題?

Chapter 8? 抽象數(shù)據(jù)類(lèi)型—Map?
8.1? Map接口?
8.2? Map的實(shí)現(xiàn)?
無(wú)序數(shù)組?
有序數(shù)組?
無(wú)序鏈表?
有序鏈表?
二叉搜索樹(shù)?
以基于ArrayList的方式實(shí)現(xiàn)?
8.3? 應(yīng)用程序:從字符串到字符串的Map?
8.4? 哈希法?
沖突
8.5? 哈希函數(shù)?
數(shù)組大小?
哈希函數(shù)?
Java對(duì)哈希的支持?
復(fù)雜度?
8.6? 基于哈希的Map?
實(shí)現(xiàn)?
使用HMap類(lèi)?
8.7? Map的變體?
混合結(jié)構(gòu)?
Java對(duì)Map的支持?
? 小結(jié)?
? 習(xí)題?

Chapter 9? 抽象數(shù)據(jù)類(lèi)型—優(yōu)先級(jí)隊(duì)列?
9.1? 優(yōu)先級(jí)隊(duì)列接口?
使用優(yōu)先級(jí)隊(duì)列?
接口?
9.2? 優(yōu)先級(jí)隊(duì)列的實(shí)現(xiàn)?
無(wú)序數(shù)組?
有序數(shù)組?
有序鏈表?
二叉搜索樹(shù)?
9.3? 堆?
9.4? 堆的實(shí)現(xiàn)?
二叉樹(shù)的非鏈接表示?
實(shí)現(xiàn)堆?
Enqueue(入隊(duì))方法?
Dequeue(出隊(duì))方法?
應(yīng)用實(shí)例?
堆VS優(yōu)先級(jí)隊(duì)列的其他表示?
? 小結(jié)?
? 習(xí)題?

Chapter 10? 抽象數(shù)據(jù)類(lèi)型—圖?
10.1? 圖的介紹?
10.2? 圖的接口?
10.3? 圖的實(shí)現(xiàn)?
基于數(shù)組的實(shí)現(xiàn)?
鏈接實(shí)現(xiàn)
10.4? 應(yīng)用程序:圖的遍歷?
深度優(yōu)先搜索?
廣度優(yōu)先搜索?
10.5? 應(yīng)用程序:?jiǎn)卧醋疃搪窂絾?wèn)題?
? 小結(jié)?
? 習(xí)題
Chapter 11? 排序和查找算法?
11.1? 排序?
測(cè)試工具?
11.2? 簡(jiǎn)單排序?
選擇排序?
冒泡排序?
插入排序
11.3? O(Nlog2N?)排序
合并排序
快速排序?
堆排序?
11.4? 更多的排序思考?
測(cè)試?
效率?
對(duì)象和引用?
比較對(duì)象?
穩(wěn)定性
11.5? 查找?
順序查找?
高概率排序?
有序集合?
哈希法?
? 小結(jié)?
? 習(xí)題?
? ?
附錄A?
? 附錄B?
? 附錄C?
? 附錄D?
? 術(shù)語(yǔ)表?
? 索引

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)