算法與數(shù)據(jù)結(jié)構(gòu)
定 價(jià):26 元
當(dāng)前圖書(shū)已被 2 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:陳媛 ,等 著
- 出版時(shí)間:2012/1/1
- ISBN:9787302268420
- 出 版 社:清華大學(xué)出版社
- 中圖法分類(lèi):TP312JA
- 頁(yè)碼:257
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)·算法與數(shù)據(jù)結(jié)構(gòu):Java語(yǔ)言描述》介紹了算法與數(shù)據(jù)結(jié)構(gòu)方面的基本知識(shí),重點(diǎn)闡述基本數(shù)據(jù)結(jié)構(gòu)及算法在程序開(kāi)發(fā)中的應(yīng)用方法!21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)·算法與數(shù)據(jù)結(jié)構(gòu):Java語(yǔ)言描述》主要內(nèi)容有數(shù)據(jù)結(jié)構(gòu)及算法的基本概念和術(shù)語(yǔ)、java面向?qū)ο笾R(shí)、java語(yǔ)言的數(shù)據(jù)類(lèi)型及其算法描述要點(diǎn)、java語(yǔ)言中抽象數(shù)據(jù)類(lèi)型的實(shí)現(xiàn)、線(xiàn)性表、棧和隊(duì)列、樹(shù)、查找、排序。
《21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)·算法與數(shù)據(jù)結(jié)構(gòu):Java語(yǔ)言描述》給出的所有算法和程序采用java語(yǔ)言描述并調(diào)試通過(guò)。本書(shū)注重?cái)?shù)據(jù)結(jié)構(gòu)的實(shí)用性,每個(gè)數(shù)據(jù)結(jié)構(gòu)章節(jié)都有工程應(yīng)用實(shí)例;注重可讀性和適用性,書(shū)中附有大量的圖表、程序,使讀者能正確、直觀地理解問(wèn)題;每章有學(xué)習(xí)要點(diǎn)、習(xí)題和上機(jī)實(shí)習(xí)題,既便于教學(xué),又便于自學(xué)。
《21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)·算法與數(shù)據(jù)結(jié)構(gòu):Java語(yǔ)言描述》的讀者要求具有java語(yǔ)言基礎(chǔ),特別適合普通高校本專(zhuān)科學(xué)生使用,也可作為其他程序類(lèi)課程的輔導(dǎo)教材。
教學(xué)目標(biāo)明確,注重理論與實(shí)踐的結(jié)合 教學(xué)方法靈活,培養(yǎng)學(xué)生自主學(xué)習(xí)的能力 教學(xué)內(nèi)容先進(jìn),反映了計(jì)算機(jī)學(xué)科的最新發(fā)展 教學(xué)模式完善,提供配套的教學(xué)資源解決方案
前言
關(guān)于數(shù)據(jù)結(jié)構(gòu)
計(jì)算機(jī)的日益發(fā)展,其應(yīng)用早已不局限于簡(jiǎn)單的數(shù)值運(yùn)算,而涉及問(wèn)題的分析、數(shù)據(jù)結(jié)構(gòu)框架的設(shè)計(jì)以及插入、刪除、排序、查找等復(fù)雜的非數(shù)值處理和操作。數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)就是為以后利用計(jì)算機(jī)高效地開(kāi)發(fā)非數(shù)值處理的計(jì)算機(jī)程序打下堅(jiān)實(shí)的理論、方法和技術(shù)基礎(chǔ)。
算法與數(shù)據(jù)結(jié)構(gòu)旨在分析研究計(jì)算機(jī)加工的數(shù)據(jù)對(duì)象的特性,以便選擇適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),從而使建立在其上的解決問(wèn)題的算法達(dá)到最優(yōu)。
關(guān)于結(jié)構(gòu)安排
全書(shū)共分為8章,每章主要內(nèi)容如下。
第1章: 緒論。主要介紹了數(shù)據(jù)結(jié)構(gòu)和算法的基本概念和術(shù)語(yǔ)、Java面向?qū)ο笾R(shí)、Java語(yǔ)言的數(shù)據(jù)類(lèi)型及其算法描述要點(diǎn)、Java語(yǔ)言驗(yàn)證算法的方法、Java中抽象數(shù)據(jù)類(lèi)型的規(guī)格與實(shí)現(xiàn)。
第2章: 線(xiàn)性表。主要介紹線(xiàn)性表的邏輯結(jié)構(gòu)、線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)、數(shù)組存儲(chǔ)結(jié)構(gòu)、線(xiàn)性表的應(yīng)用實(shí)例。
第3章: 棧和隊(duì)列。主要介紹棧與隊(duì)列的基本概念及存儲(chǔ)結(jié)構(gòu)、棧與隊(duì)列的應(yīng)用實(shí)例。
第4章: 遞歸。介紹遞歸的概念及設(shè)計(jì)方法、遞歸與回溯、遞歸技術(shù)應(yīng)用實(shí)例。
第5章: 樹(shù)。主要介紹樹(shù)及二叉樹(shù)的基本概念及存儲(chǔ)結(jié)構(gòu)、二叉樹(shù)的應(yīng)用——哈夫曼樹(shù)及編碼。
第6章: 圖。主要介紹圖的基本概念及存儲(chǔ)結(jié)構(gòu)、圖的遍歷、圖的生成樹(shù)和最小生成樹(shù)、最短路徑、有向無(wú)環(huán)圖的應(yīng)用實(shí)例。
第7章: 查找。主要介紹靜態(tài)查找、動(dòng)態(tài)查找、哈希表查找。
第8章: 排序。主要介紹插入排序、交換排序、選擇排序、歸并排序、基數(shù)排序、外部排序。
本書(shū)第1、6章由陳媛教授編寫(xiě),第2、5章由何波副教授編寫(xiě),第3、4章由盧玲編寫(xiě),第7、8章由涂飛編寫(xiě)。全書(shū)由陳媛教授統(tǒng)稿。
本書(shū)特點(diǎn)
全書(shū)給出的所有算法和程序采用Java語(yǔ)言描述并調(diào)試通過(guò); 非常注重?cái)?shù)據(jù)結(jié)構(gòu)的實(shí)用性,每個(gè)數(shù)據(jù)結(jié)構(gòu)章節(jié)都有工程應(yīng)用實(shí)例; 注重教材的可讀性和適用性,書(shū)中附有大量的圖表、程序,使讀者能正確、直觀地理解問(wèn)題; 書(shū)中每章有學(xué)習(xí)要點(diǎn)、習(xí)題和上機(jī)實(shí)習(xí)題,既便于教學(xué),又便于自學(xué)。
本書(shū)內(nèi)容和結(jié)構(gòu)體現(xiàn)了教學(xué)改革成果。全書(shū)由重慶市精品課程“數(shù)據(jù)結(jié)構(gòu)”重慶理工大學(xué)課程組的教師集體編寫(xiě)完成。作者都是長(zhǎng)期在高校從事數(shù)據(jù)結(jié)構(gòu)教學(xué)的一線(xiàn)教師,有豐富的教學(xué)經(jīng)驗(yàn)和軟件開(kāi)發(fā)能力。作者從多年的教學(xué)經(jīng)驗(yàn)和多項(xiàng)教研課題的研究成果,構(gòu)建了數(shù)據(jù)結(jié)構(gòu)概念建立和編程思想培養(yǎng)的框架體系,總結(jié)提煉了學(xué)習(xí)本課程的重難點(diǎn)和解決方法,大部分樣例都經(jīng)過(guò)整理和組織,以便更好地理解掌握。
為了方便教學(xué),我們開(kāi)發(fā)了課程網(wǎng)站和練習(xí)系統(tǒng),使用本書(shū)的院?赏ㄟ^(guò)Email cy@cqut.edu.cn向作者索取練習(xí)系統(tǒng)。
本書(shū)適用對(duì)象
本書(shū)的讀者要求具有Java語(yǔ)言基礎(chǔ); 特別適合普通高校本專(zhuān)科學(xué)生使用,可作為計(jì)算機(jī)專(zhuān)業(yè)、信息專(zhuān)業(yè)及其他相關(guān)專(zhuān)業(yè)的本專(zhuān)科教材,也是廣大參加自學(xué)考試的人員和軟件工作者的參考資料; 本書(shū)既可作為數(shù)據(jù)結(jié)構(gòu)、算法與數(shù)據(jù)結(jié)構(gòu)等課程的教材,也可作為其他程序類(lèi)課程輔導(dǎo)教材。
由于水平有限,本書(shū)可能會(huì)有不盡如人意及錯(cuò)漏之處,敬請(qǐng)讀者批評(píng)指正。
編者
2010年12月
第1章 緒論
1.1 數(shù)據(jù)結(jié)構(gòu)的基本概念
1.1.1 數(shù)據(jù)結(jié)構(gòu)的研究對(duì)象
1.1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念和基本術(shù)語(yǔ)
1.2 算法與數(shù)據(jù)結(jié)構(gòu)
1.2.1 算法的概念
1.2.2 描述算法的方法
1.2.3 算法分析
1.3 java面向?qū)ο笾R(shí)
1.3.1 類(lèi)及類(lèi)的使用
1.3.2 程序入口及對(duì)象的使用
1.3.3 構(gòu)造方法
1.3.4 抽象類(lèi)、接口
1.3.5 多態(tài)
1.3.6 包和類(lèi)庫(kù)的使用
1.3.7 equals方法、this、super
1.4 java語(yǔ)言的數(shù)據(jù)類(lèi)型及其算法描述要點(diǎn)
1.4.1 java語(yǔ)言的基本數(shù)據(jù)類(lèi)型概述
1.4.2 java語(yǔ)言的數(shù)組和類(lèi)數(shù)據(jù)類(lèi)型
1.4.3 java語(yǔ)言的arraylist
1.4.4 java語(yǔ)言的函數(shù)
1.4.5 用java語(yǔ)言驗(yàn)證算法的方法
1.5 java中adt規(guī)格與實(shí)現(xiàn)
1.6 一個(gè)java應(yīng)用實(shí)例
1.7 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的意義和方法
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第2章 線(xiàn)性表
2.1 線(xiàn)性表的邏輯結(jié)構(gòu)
2.1.1 線(xiàn)性表的定義
2.1.2 線(xiàn)性表的運(yùn)算
2.1.3 線(xiàn)性表的抽象數(shù)據(jù)類(lèi)型定義
2.2 線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)--順序表
2.2.1 順序表的定義
2.2.2 順序存儲(chǔ)結(jié)構(gòu)的優(yōu)缺點(diǎn)
2.2.3 順序表上的基本運(yùn)算
2.3 線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)--鏈表
2.3.1 單鏈表的定義
2.3.2 單鏈表的java表示
2.3.3 單鏈表的基本運(yùn)算
2.3.4 循環(huán)鏈表和雙向鏈表
2.3.5 java對(duì)鏈表的支持
2.4 數(shù)組
2.4.1 數(shù)組的定義與操作
2.4.2 數(shù)組的順序存儲(chǔ)結(jié)構(gòu)
2.4.3 矩陣的壓縮存儲(chǔ)方法
2.5 字符串
2.5.1 字符串的定義與操作
2.5.2 字符串的存儲(chǔ)結(jié)構(gòu)
2.5.3 字符串基本操作的實(shí)現(xiàn)
2.6 線(xiàn)性表的應(yīng)用實(shí)例
2.7 工程應(yīng)用實(shí)例
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第3章 棧和隊(duì)列
3.1 棧
3.1.1 棧的基本概念
3.1.2 棧的抽象數(shù)據(jù)類(lèi)型
3.1.3 棧的順序存儲(chǔ)結(jié)構(gòu)
3.1.4 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3.2 棧的應(yīng)用實(shí)例
3.2.1 表達(dá)式求值
3.2.2 棧與函數(shù)調(diào)用
3.2.3 棧在回溯法中的應(yīng)用
3.2.4 java對(duì)棧的支持
3.3 隊(duì)列
3.3.1 隊(duì)列的基本概念
3.3.2 隊(duì)列的抽象數(shù)據(jù)類(lèi)型
3.3.3 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)
3.3.4 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3.4 隊(duì)列的應(yīng)用實(shí)例
3.4.1 舞伴問(wèn)題
3.4.2 模擬打印隊(duì)列的管理
3.5 工程應(yīng)用實(shí)例
3.5.1 棧的應(yīng)用
3.5.2 隊(duì)列的應(yīng)用
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第4章 遞歸
4.1 遞歸的概念及設(shè)計(jì)方法
4.1.1 遞歸模型
4.1.2 遞歸的執(zhí)行過(guò)程
4.1.3 遞歸設(shè)計(jì)
4.1.4 遞歸到非遞歸的轉(zhuǎn)換
4.2 遞歸與回溯
4.3 遞歸技術(shù)應(yīng)用實(shí)例
4.3.1 漢諾塔問(wèn)題
4.3.2 組合數(shù)學(xué):委員會(huì)問(wèn)題
4.4 遞歸評(píng)價(jià)
4.5 工程應(yīng)用實(shí)例
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第5章 樹(shù)
5.1 樹(shù)
5.1.1 樹(shù)的概念
5.1.2 樹(shù)的基本操作
5.2 二叉樹(shù)
5.2.1 二叉樹(shù)的概念
5.2.2 二叉樹(shù)的性質(zhì)
5.2.3 二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)及其實(shí)現(xiàn)
5.3 二叉樹(shù)的遍歷
5.3.1 遞歸的遍歷算法
5.3.2 二叉樹(shù)遍歷操作應(yīng)用舉例
5.4 線(xiàn)索二叉樹(shù)
5.4.1 線(xiàn)索二叉樹(shù)的定義
5.4.2 遍歷線(xiàn)索二叉樹(shù)
5.5 一般樹(shù)的表示和遍歷
5.5.1 一般樹(shù)的表示
5.5.2 二叉樹(shù)與樹(shù)之間的轉(zhuǎn)換
5.5.3 一般樹(shù)的遍歷
5.6 哈夫曼樹(shù)及其應(yīng)用
5.6.1 哈夫曼樹(shù)
5.6.2 哈夫曼樹(shù)的應(yīng)用
5.7 工程應(yīng)用實(shí)例
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第6章 圖
6.1 圖的定義和術(shù)語(yǔ)
6.2 圖的存儲(chǔ)結(jié)構(gòu)
6.2.1 鄰接矩陣
6.2.2 圖的鄰接表
6.2.3 十字鏈表
6.2.4 邊集數(shù)組
6.3 圖的遍歷
6.3.1 深度優(yōu)先搜索
6.3.2 廣度優(yōu)先搜索
6.4 圖的連通性
6.4.1 無(wú)向圖的連通分量
6.4.2 生成樹(shù)和最小代價(jià)生成樹(shù)
6.5 有向無(wú)環(huán)圖及應(yīng)用
6.5.1 拓?fù)渑判?br>6.5.2 關(guān)鍵路徑
6.6 最短路徑及應(yīng)用
6.6.1 單源最短路徑
6.6.2 每個(gè)頂點(diǎn)之間的最短路徑
6.7 工程應(yīng)用實(shí)例
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第7章 查找
7.1 基本概念與術(shù)語(yǔ)
7.2 靜態(tài)查找表
7.2.1 靜態(tài)查找表結(jié)構(gòu)
7.2.2 順序查找
7.2.3 有序表的折半查找
7.2.4 有序表的插值查找和斐波那契查找
7.2.5 分塊查找
7.3 動(dòng)態(tài)查找表
7.3.1 二叉排序樹(shù)
7.3.2 平衡二叉樹(shù)
7.3.3 b-樹(shù)和b+樹(shù)
7.4 哈希表查找
7.4.1 哈希表與哈希方法
7.4.2 常用的哈希函數(shù)
7.4.3 處理沖突的方法
7.4.4 哈希表的查找分析
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
第8章 排序
8.1 基本概念
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡(jiǎn)單選擇排序
8.4.2 堆排序
8.5 歸并排序
8.6 *基數(shù)排序
8.7 *外部排序簡(jiǎn)介
8.7.1 外存信息的存取
8.7.2 外部排序的基本方法
學(xué)習(xí)要點(diǎn)
習(xí)題
上機(jī)練習(xí)
參考文獻(xiàn)