出版時(shí)間:2001-1 出版社:電子工業(yè)出版社 作者:Clifford A.Shaffer 頁數(shù):322 字?jǐn)?shù):537000 譯者:張銘
Tag標(biāo)簽:無
內(nèi)容概要
作為《數(shù)據(jù)結(jié)構(gòu)與算法分析(C++版)》的姊妹篇,本書采用了當(dāng)前十分流行且適合于Internet環(huán)境的面向?qū)ο蟪绦蛟O(shè)計(jì)語言Java作為算法描述語言:本書利用Java的接口(Interface)來定義抽象數(shù)據(jù)類型,這比使用C++的類更自然。本書把數(shù)據(jù)結(jié)構(gòu)原理和算法分析技術(shù)有機(jī)地結(jié)合在一起,系統(tǒng)地介紹了各種類型的數(shù)據(jù)結(jié)構(gòu)和排序、檢索的各種方法。作者非常注意對每一種數(shù)據(jù)結(jié)構(gòu)的不同存儲(chǔ)方法及有關(guān)算法進(jìn)行分析比較。本書還引入了一些比較高級(jí)的數(shù)據(jù)結(jié)構(gòu)與先進(jìn)的算法分析技術(shù),并介紹了可計(jì)算性理論的一般知識(shí)。
本書概念清楚,邏輯性強(qiáng),內(nèi)容新穎.可作為大專院校計(jì)算機(jī)軟件專業(yè)與計(jì)算機(jī)應(yīng)用專業(yè)學(xué)生的教材和參考書,也可供計(jì)算機(jī)工程技術(shù)人員參考:
本書完整覆蓋了基本的數(shù)據(jù)結(jié)構(gòu)和算法分析原理。其重點(diǎn)是教授學(xué)生在解決特定問題時(shí),如何選擇并設(shè)計(jì)最佳數(shù)據(jù)結(jié)構(gòu)所需要的原理;另一個(gè)重點(diǎn)是包含了大量圖表、實(shí)例學(xué)習(xí)、項(xiàng)目以及實(shí)踐習(xí)題。
·所有編程實(shí)例都是用Java寫的,提供的實(shí)際Java代碼基本上覆蓋了所有算法。Java編寫的簡單、清楚的實(shí)例用于說明數(shù)據(jù)結(jié)構(gòu)概念。
·對于不熟悉Java的讀者,本書帶有一個(gè)附錄,描述了必要的Java語法和概念,以幫助讀者理解程序?qū)嵗?br /> ·覆蓋了內(nèi)存處理和基于磁盤處理的相關(guān)論述,對兩個(gè)論題進(jìn)行了適度集成并各有側(cè)重。
·算法分析技術(shù)的表述貫穿全文,并緊密圍繞程序員和本科生的實(shí)際需要而寫。
·每個(gè)數(shù)據(jù)結(jié)構(gòu)和每個(gè)算法的表述都帶有代價(jià)與效益的分析,使讀者可以透徹理解如何評(píng)估代價(jià)與效益,包括數(shù)據(jù)結(jié)構(gòu)的空間比較、空間/時(shí)間代價(jià)以及特殊用途的數(shù)據(jù)結(jié)構(gòu)或算法的使用等。
本書適合計(jì)算機(jī)科學(xué)相關(guān)專業(yè)的二年級(jí)或三年級(jí)學(xué)生使用。
書籍目錄
第一部分 預(yù)備知識(shí) 第1章 數(shù)據(jù)結(jié)構(gòu)和算法 1.1 數(shù)據(jù)結(jié)構(gòu)的原則 1.2 抽象數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu) 1.3 問題、算法和程序 1.4 算法的效率 1.5 深入學(xué)習(xí)導(dǎo)讀 1.6 習(xí)題 第2章 數(shù)學(xué)預(yù)備知識(shí) 2.1 集合 2.2 常用數(shù)學(xué)術(shù)語 2.3 對數(shù) 2.4 遞歸 2.5 級(jí)數(shù)求和與遞歸 2.6 數(shù)學(xué)證明方法 2.7 評(píng)估 2.8 深入學(xué)習(xí)導(dǎo)讀 2.9 習(xí)題 第3章 算法分析 3.1 概述 3.2 最佳、最差和平均情況 3.3 換一臺(tái)更快的計(jì)算機(jī),還是換一種更快的算法 3.4 漸進(jìn)分析 3.5 程序運(yùn)行時(shí)間的計(jì)算 3.6 問題的分析 3.7 多參數(shù)問題 3.8 空間代價(jià) 3.9 實(shí)際操作中的一些因素 3.10 深入學(xué)習(xí)導(dǎo)讀 3.11 習(xí)題 3.12 項(xiàng)目設(shè)計(jì)第二部分 基本數(shù)據(jù)結(jié)構(gòu) 第4章 線性表、棧和隊(duì)列 4.1 線性表 4.2 棧 4.3 隊(duì)列 4.4 習(xí)題 4.5 項(xiàng)目設(shè)計(jì) 第5章 二叉樹 5.1 定義及主要特性 5.2 周游二叉樹 5.3 二叉樹的實(shí)現(xiàn) 5.4 Huffman編碼樹 5.5 二叉檢索樹 5.6 堆與優(yōu)先隊(duì)列 5.7 深入學(xué)習(xí)導(dǎo)讀 5.8 習(xí)題 5.9 項(xiàng)目設(shè)計(jì) 第6章 樹 6.1 樹的定義與術(shù)語 6.2 父指針表示法 6.3 樹的實(shí)現(xiàn) 6.4 K叉樹 6.5 樹州順序表示法 6.6 深入學(xué)習(xí)導(dǎo)讀 6.7 習(xí)題 6.8 項(xiàng)目設(shè)計(jì) 第7章 圖 7.1 術(shù)語和表示法 7.2 圖的實(shí)現(xiàn) 7.3 圖的周游 7.4 最短路徑問題 7.5 最小支撐樹 7.6 深入學(xué)習(xí)導(dǎo)讀 7.7 習(xí)題 7.8 項(xiàng)目設(shè)計(jì)第三部分 排序和檢索 第8章 內(nèi)排序 8.1 排序的術(shù)語及記號(hào) 8.2 三種代價(jià)為(n2)的排序方法 8.3 Shell排序 8.4 快速排序 8.5 歸并排序 8.6 堆排序 8.7 分配排序和基數(shù)排序 8.8 對各種排序算法的實(shí)驗(yàn)比較 8.9 排序問題的下限 8.10 深入學(xué)習(xí)導(dǎo)讀 8.11 習(xí)題 8.12 項(xiàng)目設(shè)計(jì) 第9章 文件管理和外排序 9.1 主存儲(chǔ)器和輔助存儲(chǔ)器 9.2 磁盤和磁帶驅(qū)動(dòng)器 9.3 緩沖區(qū)和緩沖池 9.4 程序員的文件視圖 9.5 外部排序 9.6 外部排序的簡單方法 9.7 置換選擇排序 9.8 多路歸并 9.9 深入學(xué)習(xí)導(dǎo)讀 9.10 習(xí)題 9.11 項(xiàng)目設(shè)計(jì) 第10章 檢索 10.1 檢索已排序的數(shù)組 10.2 自組織線性表 10.3 集合的檢索 10.4 散列方法 10.5 深入學(xué)習(xí)導(dǎo)讀 10.6 習(xí)題 10.7 項(xiàng)目設(shè)計(jì) 第11章 索引技術(shù) 11.1 線性索引 11.2 ISAM 11.3 樹形索引 11.4 2—3樹 11.5 B樹 11.6 深入學(xué)習(xí)導(dǎo)讀 11.7 習(xí)題 11.8 項(xiàng)目設(shè)計(jì)第四部分 應(yīng)用與高級(jí)話題 第12章 線性表和數(shù)組高級(jí)技術(shù) 12.1 跳躍表 12.2 廣義表 12.3 矩陣的表示方法 12.4 存儲(chǔ)管理 12.5 深入學(xué)習(xí)導(dǎo)讀 12.6 習(xí)題 12.7 項(xiàng)目設(shè)計(jì) 第13章 高級(jí)樹形結(jié)構(gòu) 13.1 Trie結(jié)構(gòu) 13.2 伸展樹 13.3 空間數(shù)據(jù)結(jié)構(gòu) 13.4 深入學(xué)習(xí)導(dǎo)讀 13.5 習(xí)題 13.6 項(xiàng)目設(shè)計(jì) 第14章 分析技術(shù) 14.1 求和技術(shù) 14.2 遞歸關(guān)系 14.3 均攤分析 14.4 深入學(xué)習(xí)導(dǎo)讀 14.5 習(xí)題 14.6 項(xiàng)目設(shè)計(jì) 第15章 計(jì)算的限制 15.1 簡介 15.2 歸約 15.3 難解問題 15.4 不可解問題 15.5 深入學(xué)習(xí)導(dǎo)讀 15.6 習(xí)題 15.7 項(xiàng)目設(shè)計(jì) 附錄A C和Pasca1程序員的Java導(dǎo)引 A.1 例1:線性表的接口 A.2 例2:基于數(shù)組的線性表實(shí)現(xiàn) A.3 例3:鏈表的實(shí)現(xiàn)參考文獻(xiàn)
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與算法分析 PDF格式下載