高级搜索
使用帮助
热门搜索:2014考研 教材 励志 单片机 嵌入式 计算机 外语
图书专区:新书专区 精品图书专区 教材专区 考研考试专区
首 页网上书城服务专区下载专区试读频道增值服务关于我们贺银成2017医学类
免费注册
 
登录
 
论坛
本版图书分类
 
您的位置》首页>>网上书城
数据结构与算法
定    价: ¥29.00
关 注 度: 0 库存状态: 未知 图书状态: 销售中
 
作    者: 于晓敏 袁琪 耿蕊 于晓坤
出版时间: 2010-10      
版    次: 1 印    次: 1 字    数: 442千字
开    本: 开本:787×10921/16印张:17.25
纸    张: 2 ISBN: 978-7-5124-0184-6
 详细信息
 作者简介
 编辑推荐
 图书简介

计算机在各个领域的应用过程中,都会涉及数据的组织与程序的编排等问题,都会用到各种各样的数据结构,选择最合适的数据结构和存储表示方法,以及编制相应的实现算法的方法是计算机工作者不可缺少的知识

本书根据计算机科学与技术专业规范的要求,全面、系统地介绍各种类型的、最常用的数据结构及常用的算法。全书分上、下两篇,上篇数据结构,下篇算法设计与分析。在数据结构中,讨论了4大类型数据结构的逻辑特性、存储表示及其应用。在算法设计中着重阐述典型算法的设计与分析。每一章后都配有适量的习题,以供读者练习。概念清楚,内容丰富,详略得当,既可以作为高等院校计算机应用本科等层次的教材,也可以供从事计算机工程与应用的科技工作者参考或自学。

 图书目录

第1章 绪论1

 

 

1.1数据结构的发展及其重要地位1

 

 

1.2数据结构的基本概念和术语2

 

 

1.3算法分析概述5

 

1.3.1算法分析评价标准5

 

1.3.2算法的复杂度分析6

 

1.3.3时间复杂度的度量8

 

1.3.4渐进时间复杂度8

 

1.3.5时间复杂度的上界和下界9

 

1.3.6算法的空间复杂度12

 

1.3.7非递归算法分析13

 

1.3.8递归算法的数学分析15

 

 

习题116

 

上篇数据结构18

 

第2章 线性表18

 

 

2.1线性表的定义及操作18

 

2.1.1线性表的定义18

 

2.1.2线性表的基本操作19

 

2.1.3线性表操作举例20

 

 

2.2线性表的顺序存储及操作实现22

 

2.2.1线性表的顺序存储结构22

 

2.2.2顺序表的操作实现23

 

 

2.3线性表的链式存储结构及操作实现26

 

2.3.1单链表26

 

2.3.2单链表上的基本操作28

 

2.3.3循环链表30

 

2.3.4双向链表31

 

 

2.4顺序表和链表的比较33

 

 

习题234

 

第3章 栈和队列35

 

 

3.1栈35

 

3.1.1栈的概念及操作35

 

3.1.2栈的存储结构及操作实现35

 

 

3.2栈的应用举例40

 

 

3.3队列45

 

3.3.1队列的定义和操作45

 

3.3.2队列的存储结构及操作实现45

 

 

3.4队列的应用举例51

 

 

习题353

 

第4章 串和数组55

 

 

4.1串的概念和基本操作55

 

4.1.1串的基本概念55

 

4.1.2串的基本操作55

 

 

4.2串的存储结构56

 

4.2.1串的顺序存储结构56

 

4.2.2串的链式存储结构58

 

 

4.3串的操作实现59

 

 

4.4数组61

 

4.4.1数组的定义61

 

4.4.2数组的顺序存储结构62

 

 

4.5矩阵的压缩存储63

 

4.5.1特殊矩阵的压缩存储63

 

4.5.2稀疏矩阵的压缩存储65

 

 

习题471

 

 

第5章 二叉树和树73

 

 

5.1树和森林73

 

 

5.2二叉树74

 

5.2.1二叉树的定义和基本术语74

 

5.2.2二叉树的基本性质76

 

5.2.3二叉树的存储结构77

 

 

5.3二叉树与树、森林之间的转换79

 

5.3.1二叉树与树之间的转换79

 

5.3.2二叉树与森林之间的转换80

 

 

5.4二叉树遍历81

 

5.4.1二叉树的遍历81

 

5.4.2二叉链表的建立88

 

 

5.5线索二叉树90

 

5.5.1全线索二叉树90

 

5.5.2线索二叉树92

 

 

5.6树的应用96

 

5.6.1哈夫曼树及其应用96

 

5.6.2二叉排序树101

 

 

习题5107

 

第6章 图和广义表109

 

 

6.1图的定义和基本术语109

 

 

6.2图的存储结构110

 

6.2.1邻接矩阵111

 

6.2.2邻接表112

 

 

6.3图的遍历115

 

6.3.1深度优先搜索遍历115

 

6.3.2图的广度优先搜索遍历117

 

 

6.4生成树119

 

6.4.1生成树119

 

6.4.2最小生成树119

 

 

6.5最短路径124

 

6.5.1单源最短路径124

 

6.5.2每一对顶点间的最短路径128

 

 

6.6拓扑排序130

 

6.6.1AOV网130

 

6.6.2拓扑排序131

 

 

6.7关键路径135

 

 

6.8广义表139

 

6.8.1广义表的定义139

 

6.8.2广义表的存储139

 

 

习题6140

 

第7章 排序142

 

 

7.1排序的基本概念142

 

 

7.2简单的排序方法143

 

7.2.1气泡排序143

 

7.2.2简单选择排序144

 

7.2.3插入排序146

 

 

7.3先进的排序方法148

 

7.3.1快速排序148

 

7.3.2归并排序150

 

7.3.3堆排序152

 

7.4基数排序154

 

7.5各种内部排序方法的综合比较158

 

 

习题7159

 

第8章 查找161

 

8.1静态查找表161

 

8.1.1顺序查找161

 

8.1.2折半查找162

 

8.1.3分块查找163

 

8.2动态查找表165

 

8.2.1二叉平衡树165

 

8.2.2 B_树167

 

8.3哈希表及哈希查找169

 

8.3.1哈希表概念169

 

8.3.2哈希函数170

 

8.3.3处理冲突的方法172

 

8.3.4哈希表的查找174

 

8.3.5哈希表的删除174

 

 

习题8175

 

第9章 文件176

 

 

9.1文件的基本概念176

 

 

9.2顺序文件178

 

 

9.3索引文件179

 

 

9.4索引顺序文件181

 

9.4.1 ISAM文件181

 

9.4.2 VSAM文件183

 

 

9.5散列文件185

 

 

9.6多关键字文件186

 

9.6.1多重表文件186

 

9.6.2倒排文件187

 

 

习题9188

 

 

下篇 算法分析190

 

第10章 蛮力法190

 

 

10.1算法概述190

 

 

10.2货郎担问题191

 

10.2.1问题陈述191

 

10.2.2问题分析及算法设计分析191

 

10.2.3实例分析192

 

10.3 0/1背包问题193

 

10.3.1问题陈述193

 

10.3.2问题分析及算法设计分析193

 

10.4狱吏问题194

 

10.4.1问题陈述194

 

10.4.2问题分析和算法设计分析195

 

 

习题10195

 

第11章 贪心法196

 

11.1算法概述196

 

11.1.1贪心选择性质196

 

11.1.2最优子结构性质197

 

11.1.3贪心算法的设计步骤197

 

 

11.2活动安排问题198

 

11.2.1问题陈述198

 

11.2.2问题分析及算法设计分析198

 

11.2.3实例分析199

 

11.2.4最优性分析200

 

 

11.3背包问题200

 

11.3.1问题陈述200

 

11.3.2问题分析及算法设计分析201

 

11.3.3实例分析201

 

11.3.4最优性分析202

 

11.4集装箱装载问题203

 

11.4.1问题陈述203

 

11.4.2问题分析及算法设计分析203

 

11.4.3最优性分析204

 

 

习题11204

 

第12章 分治法206

 

12.1算法概述206

 

12.1.1分治法的设计步骤206

 

12.1.2分治法的算法分析207

 

12.2大整数乘法208

 

12.2.1问题陈述208

 

12.2.2问题分析及算法设计分析208

 

 

12.3棋盘问题211

 

12.3.1问题陈述211

 

12.3.2问题分析及算法设计分析212

 

 

12.4循环赛日程表214

 

12.4.1问题陈述214

 

12.4.2问题分析及算法设计分析214

 

 

习题12216

 

第13章 动态规划法218

 

13.1算法概述218

 

13.1.1动态规划法的设计步骤218

 

13.1.2动态规划法与贪心法的比较分析220

 

 

13.2矩阵连乘问题221

 

13.2.1问题陈述221

 

13.2.2问题分析及算法设计分析221

 

13.2.3实例分析223

 

 

13.3最长公共子序列问题224

 

13.3.1问题陈述224

 

13.3.2问题分析及算法设计分析225

 

13.3.3实例分析227

 

 

13.4流水作业调度问题228

 

13.4.1问题陈述228

 

13.4.2问题分析及算法设计分析228

 

13.4.3实例分析231

 

 

习题13231

 

第14章 回溯法234

 

 

14.1算法概述234

 

14.1.1问题的解空间234

 

14.1.2回溯法的设计步骤235

 

14.2 n后问题237

 

14.2.1问题陈述237

 

14.2.2问题分析及算法设计分析237

 

14.3图的m-着色问题239

 

14.3.1问题陈述239

 

14.3.2问题分析及算法设计分析240

 

 

习题14242

 

第15章 计算复杂性理论244

 

 

15.1计算复杂性概述244

 

15.1.1易解问题和难解问题244

 

15.1.2不可解问题与停机问题245

 

15.2 P类与NP类问题245

 

15.2.1确定性算法和非确定性算法245

 

15.2.2 P类问题和NP类问题246

 

15.3 NP完全问题247

 

15.3.1多项式归约247

 

15.3.2 NP完全性248

 

15.3.3 Cook定理249

 

15.3.4 NP完全性证明249

 

习题15250

 

第16章 分布式算法251

 

16.1分布式系统251

 

16.1.1分布式系统概述251

 

16.1.2分布式计算252

 

16.1.3分布式系统特点252

 

16.1.4分布式系统的体系结构253

 

16.2同步技术255

 

16.2.1同步机构255

 

16.2.2物理时钟255

 

16.2.3逻辑时钟256

 

16.3容错技术258

 

16.3.1容错性概述258

 

16.3.2故障检测和诊断258

 

16.3.3故障屏蔽259

 

16.3.4故障恢复259

 

16.4分布式调度260

 

16.4.1调度算法概述260

 

16.4.2静态调度261

 

16.4.3动态调度262

 

 

习题16263

 

参考文献265

 图书前言

计算机在各个领域的应用过程中,都会涉及数据的组织与程序的编排等问题,都会用到各种各样的数据结构,特别是针对各种特殊数据的表示,就更需要学会分析和研究计算机加工对象的特性、选择最合适的数据组织结构及其存储表示方法,以及编制相应实现算法的方法,这是计算机工作者不可缺少的知识。因此“数据结构”这门课一直是高等院校计算机专业教学中的一门主要技术基础课程,在我国当前的计算机专业教学计划中,它是主干课程之一。

本书分数据结构和算法设计两部分。在数据结构中,讨论了四大类型数据结构的逻辑特性、存储表示及其应用。在算法设计中着重阐述典型算法的设计与分析。每一章后都配有适量的习题,以供读者练习。

全书分上、下两篇,共16章。前9章为上篇,主要阐述数据结构的相关内容;后7章主要阐述算法设计的相关内容。第1章至第4章主要介绍数据结构的基本知识和几种基本的数据结构,即线性表、栈和队列、串和数组,它们均属于线性数据结构。第5和第6章叙述非线性数据结构,它们是树、图和广义表;第7、8两章分别介绍数据处理中广泛使用的技术——排序和查找;第9章讨论外存储器上的数据结构——文件;第10章至第14章介绍了蛮力法、贪心法、分治法、动态规划法和回溯法等典型算法及应用;第15章介绍计算复杂性理论;第16章介绍分布式算法的设计与分析。

本书是在计算机科学与技术专业规范和作者多年的教学经验的基础上编写而成的。本书的编写思路既注重基本原理的介绍又重视实践能力的培养。书中还配有大量的例题和习题,供学生练习,加深对知识点的理解。本书讲解详细,通俗易懂,详略得当。书中算法采用C语言进行描述,且所给的程序均已在计算机上运行调试,部分程序还做了较详细的注解,以便于读者了解算法的实质和基本思想。书中每一章均有习题,可以检验读者的学习效果和培养程序设计的能力。

本书既可作为计算机专业学生的教材,亦可供从事计算机应用的工程技术人员参考,特别适合于那些使用C语言编程的计算机应用人员。使用本书作为本科生教材时,其内容可以讲授一个学期;若作为专科生教材时,可以酌情精简有关内容。

本书初稿经过在我校的教学实践的检验,教学效果较好,学生反映本书好学易懂。本书的第1章的前两节、第4章、第5章、第6章和第9章由于晓敏编写,第2章和第3章由于晓坤编写,第7章和第8章由耿蕊编写,第1章的第3节、第10章至第16章由袁琪编写。

由于作者水平有限,书中缺点或错误在所难免,殷切希望广大读者批评指正。

 相关资料
 相关书评
 
版权所有 2017 北京航空航天大学出版社 备案编号:京公海网安备110108001067号
地址:北京市海淀区学院路37号工程训练中心楼5层 邮政编码:100191
联系电话:86(10)82317024 传真:86(10)82328026 电子邮箱:bhpress@263.net
 
京ICP备05030743号