注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計JAVA及其相關數據結構與算法分析(Java版)

數據結構與算法分析(Java版)

數據結構與算法分析(Java版)

定 價:¥35.00

作 者: (美)Clifford A.Shaffer著;張銘,劉曉丹譯
出版社: 電子工業(yè)出版社
叢編項: 國外計算機科學教材系列
標 簽: 數據結構

購買這本書可以去


ISBN: 9787505364974 出版時間: 2001-01-02 包裝: 平裝
開本: 26cm 頁數: 336 字數:  

內容簡介

  作為《數據結構與算法分析(C++版)》的姊妹篇,本書采用了當前十分流行且適合于Internet環(huán)境的面向對象程序設計語言Java作為算法描述語言:本書利用Java的接口(Interface)來定義抽象數據類型,這比使用C++的類更自然。本書把數據結構原理和算法分析技術有機地結合在一起,系統(tǒng)地介紹了各種類型的數據結構和排序、檢索的各種方法。作者非常注意對每一種數據結構的不同存儲方法及有關算法進行分析比較。本書還引入了一些比較高級的數據結構與先進的算法分析技術,并介紹了可計算性理論的一般知識。本書概念清楚,邏輯性強,內容新穎.可作為大專院校計算機軟件專業(yè)與計算機應用專業(yè)學生的教材和參考書,也可供計算機工程技術人員參考:本書完整覆蓋了基本的數據結構和算法分析原理。其重點是教授學生在解決特定問題時,如何選擇并設計最佳數據結構所需要的原理;另一個重點是包含了大量圖表、實例學習、項目以及實踐習題。·所有編程實例都是用Java寫的,提供的實際Java代碼基本上覆蓋了所有算法。Java編寫的簡單、清楚的實例用于說明數據結構概念?!τ诓皇煜ava的讀者,本書帶有一個附錄,描述了必要的Java語法和概念,以幫助讀者理解程序實例?!じ采w了內存處理和基于磁盤處理的相關論述,對兩個論題進行了適度集成并各有側重?!に惴ǚ治黾夹g的表述貫穿全文,并緊密圍繞程序員和本科生的實際需要而寫?!っ總€數據結構和每個算法的表述都帶有代價與效益的分析,使讀者可以透徹理解如何評估代價與效益,包括數據結構的空間比較、空間/時間代價以及特殊用途的數據結構或算法的使用等。本書適合計算機科學相關專業(yè)的二年級或三年級學生使用。

作者簡介

暫缺《數據結構與算法分析(Java版)》作者簡介

圖書目錄

第一部分 預備知識
第1章 數據結構和算法
1.1 數據結構的原則
1.1.1 學習數據結構的必要性
1.1.2 代價與效益
1.1.3 本書的目的
1.2 抽象數據類型和數據結構
1.3 問題、算法和程序
1.4 算法的效率
1.5 深入學習導讀
1.6 習題
第2章 數學預備知識
2.1 集合
2.2 常用數學術語
2.3 對數
2.4 遞歸
2.5 級數求和與遞歸
2.6 數學證明方法
2.6.1 反證法
2.6.2 數學歸納法
2.7 評估
2.8 深入學習導讀
2.9 習題
第3章 算法分析
3.1 概述
3.2 最佳、最差和平均情況
3.3 換一臺更快的計算機,還是換一種更快的算法
3.4 漸進分析
3.4.1 上限
3.4.2 下限
3.4.3 表示法
3.4.4 化簡法則
3.5 程序運行時間的計算
3.6 問題的分析
3.7 多參數問題
3.8 空間代價
3.9 實際操作中的一些因素
3.10 深入學習導讀
3.11 習題
3.12 項目設計
第二部分 基本數據結構
第4章 線性表、棧和隊列
4.1 線性表
4.1.1 順序表的表示法
4.1.2 鏈表
4.1.3 線性表實現方法的比較
4.1.4 元素的表示
4.1.5 雙鏈表
4.1.6 循環(huán)鏈表
4.2 棧
4.2.1 順序棧
4.2.2 鏈式棧
4.2.3 順序棧與鏈式棧的比較
4.2.4 遞歸的實現
4.3 隊列
4.3.1 順序隊列
4.3.2 鏈式隊列
4.3.3 順序隊列與鏈式隊列的比較
4.4 習題
4.5 項目設計
第5章 二叉樹
5.1 定義及主要特性
5.1.1 滿二叉樹定理
5.1.2 二叉樹的抽象數據類型
5.2 周游二叉樹
5.3 二叉樹的實現
5.3.1 使用指針實現二叉樹
5.3.2 空間開銷
5.3.3 使用數組實現完全二叉樹
5.4 Huffman編碼樹
5.4.1 建立Huffman編碼樹
5.4.2 Huffman編碼及其用法
5.5 二叉檢索樹
5.6 堆與優(yōu)先隊列
5.7 深入學習導讀
5.8 習題
5.9 項目設計
第6章 樹
6.1 樹的定義與術語
6.1.1 樹結點的ADT(抽象數據類型)
6.1.2 樹的周游
6.2 父指針表示法
6.3 樹的實現
6.3.1 子結點表表示法
6.3.2 左子結點/右兄弟結點表示法
6.3.3 動態(tài)結點表示法
6.3.4 動態(tài)"左子結點/右兄弟結點"表示法
6.4 K叉樹
6.5 樹州順序表示法
6.6 深入學習導讀
6.7 習題
6.8 項目設計
第7章 圖
7.1 術語和表示法
7.2 圖的實現
7.3 圖的周游
7.3.1 深度優(yōu)先搜索
7.3.2 廣度優(yōu)先搜索
7.3.3 拓撲排序
7.4 最短路徑問題
7.4.1 單源最短路徑
7.4.2 每對頂點間的最短路徑
7.5 最小支撐樹
7.5.1 Prim算法
7.5.2 Kmskal算法
7.6 深入學習導讀
7.7 習題
7.8 項目設計
第三部分 排序和檢索
第8章 內排序
8.1 排序的術語及記號
8.2 三種代價為(n2)的排序方法
8.2.1 插入排序
8.2.2 起泡排序
8.2.3 選擇排序
8.2.4 交換排序算法的時間代價
8.3 Shell排序
8.4 快速排序
8.5 歸并排序
8.6 堆排序
8.7 分配排序和基數排序
8.8 對各種排序算法的實驗比較
8.9 排序問題的下限
8.10 深入學習導讀
8.11 習題
8.12 項目設計
第9章 文件管理和外排序
9.1 主存儲器和輔助存儲器
9.2 磁盤和磁帶驅動器
9.2.1 磁盤訪問的代價
9.2.2 磁帶
9.3 緩沖區(qū)和緩沖池
9.4 程序員的文件視圖
9.5 外部排序
9.6 外部排序的簡單方法
9.7 置換選擇排序
9.8 多路歸并
9.9 深入學習導讀
9.10 習題
9.11 項目設計
第10章 檢索
10.1 檢索已排序的數組
10.2 自組織線性表
10.3 集合的檢索
10.4 散列方法
10.4.1 散列函數
10.4.2 開散列方法
10.4.3 閉散列方法
10.5 深入學習導讀
10.6 習題
10.7 項目設計
第11章 索引技術
11.1 線性索引
11.2 ISAM
11.3 樹形索引
11.4 2-3樹
11.5 B樹
11.5.1 B+樹
11.5.2 B樹分析
11.6 深入學習導讀
11.7 習題
11.8 項目設計
第四部分 應用與高級話題
第12章 線性表和數組高級技術
12.1 跳躍表
12.2 廣義表
12.3 矩陣的表示方法
12.4 存儲管理
12.4.1 動態(tài)存儲分配
12.4.2 失敗處理策略和無用單元收集
12.5 深入學習導讀
12.6 習題
12.7 項目設計
第13章 高級樹形結構
13.1 Trie結構
13.2 伸展樹
13.3 空間數據結構
13.3.1 k-d樹
13.3.2 PR四分樹
13.3.3 其他空間數據結構
13.4 深入學習導讀
13.5 習題
13.6 項目設計
第14章 分析技術
14.1 求和技術
14.2 遞歸關系
14.2.1 估計上下限
14.2.2 擴展遞歸
14.2.3 分治法遞歸
14.2.4 快速排序平均情況分析
14.3 均攤分析
14.4 深入學習導讀
14.5 習題
14.6 項目設計
第15章 計算的限制
15.1 簡介
15.2 歸約
15.3 難解問題
15.3.1 NP完全性
15.3.2 繞過NP完全性問題
15.4 不可解問題
15.4.1 不可數性
15.4.2 停機問題的不可解性
15.4.3 確定程序行為是不可解的
15.5 深入學習導讀
15.6 習題
15.7 項目設計
附錄A C和Pasca1程序員的Java導引
A.1 例1:線性表的接口
A.2 例2:基于數組的線性表實現
A.3 例3:鏈表的實現
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號