书籍详情

数据结构

数据结构

作者:舒后 著

出版社:电子工业出版社

出版时间:2017-08-01

ISBN:9787121318870

定价:¥39.00

购买这本书可以去
内容简介
  数据结构是计算机等相关专业的一门重要专业基础课。本书根据课程教学大纲的要求并结合多年的教学经验编写而成,系统地介绍了各种典型的数据结构及其应用,并介绍了递归、查找和排序的常用方法。全书共8章,主要内容包括数据结构的基本概念、算法的描述及复杂度分析、线性表、栈和队列、串和数组、树和二叉树、图、查找、排序等。本书注重实用性和可读性,叙述深入浅出,文字简洁,图文并茂,提供了大量的案例介绍。既可作为计算机等相关专业本科、专科学生的教材,也可供从事计算机工程和应用工作的科技工作者参考。
作者简介
  舒后:北京印刷学院副教授,长期从事计算机、数字媒体技术专业的教学工作,主要教授的有数据结构、数据库及应用基础、网络数据库技术、C程序设计、Web技术、CSS+JavaScript程序设计。最近主要主持或参的研究项目有文本数字水印在博客版权保护中的应用研究、基于安卓系统的手机应用软件开发、数字新媒体技术主题资源库、数字与网络出版”实践教学模式研究、矢量图形表示媒体安全技术研究、基于XML的印刷企业数据集成模型研究、文本数字水印技术在网络出版中的研究、网络出版中版权保护技术:基于自然语言文本数字水印的研究。出版教材8部,发表 论文十几篇。
目录
目 录
第1章 绪论\t1
1.1 引言\t2
1.2 数据结构的发展简史及其在计算机科学中所处的地位\t2
1.3 什么是数据结构\t2
1.4 基本概念和术语\t4
1.5 算法\t7
1.5.1 算法的概念\t7
1.5.2 算法的特征\t8
1.5.3 算法和程序\t8
1.5.4 算法的描述\t8
1.5.5 算法分析\t12
习题1\t13
第2章 线性表\t14
2.1 线性表的定义及其运算\t15
2.1.1 线性表的逻辑结构\t15
2.1.2 线性表的抽象数据类型定义\t15
2.1.3 线性表的运算\t16
2.2 线性表的顺序存储结构\t16
2.2.1 顺序表的结构\t17
2.2.2 顺序表的基本运算\t17
2.3 线性表的链式存储结构\t19
2.3.1 单链表结构\t20
2.3.2 单链表上的基本运算\t21
2.3.3 循环链表结构\t25
2.3.4 双向链表结构\t26
2.3.5 线性表实现方法的比较\t29
习题2\t30
第3章 栈和队列\t32
3.1 栈\t33
3.1.1 栈的定义\t33
3.1.2 栈的抽象数据类型描述\t33
3.1.3 栈的运算\t34
3.1.4 栈的顺序存储结构――顺序栈\t34
3.1.5 栈的链式存储结构――链栈\t38
3.1.6 栈的应用\t39
3.2 队列\t45
3.2.1 队列的定义\t45
3.2.2 队列的基本运算\t46
3.2.3 队列的顺序存储结构――顺序队列\t46
3.2.4 链队列\t50
3.2.5 队列的应用\t52
习题3\t52
第4章 串和数组\t54
4.1 串的定义及运算\t55
4.1.1 基本概念\t55
4.1.2 串的运算\t55
4.2 串的存储结构\t56
4.2.1 顺序存储\t56
4.2.2 链式存储\t58
4.3 串的基本运算\t58
4.4 数组\t60
4.4.1 多维数组的概念\t60
4.4.2 数组的存储结构\t61
4.4.3 特殊矩阵及其压缩存储\t62
4.5 稀疏数组\t65
4.5.1 稀疏矩阵的三元组表示\t65
4.5.2 稀疏矩阵的十字链表表示\t66
习题4\t68
第5章 树\t69
5.1 树的基本概念\t70
5.1.1 树的定义\t70
5.1.2 基本术语\t71
5.1.3 树的表示\t72
5.2 树的存储结构\t73
5.2.1 多重链表表示法\t74
5.2.2 二重链表表示法(孩子兄弟表示法)\t74
5.3 二叉树\t75
5.3.1 二叉树的定义\t75
5.3.2 二叉树的性质\t75
5.3.3 二叉树的存储结构\t77
5.3.4 二叉树的基本操作\t80
5.4 遍历二叉树\t82
5.4.1 先序遍历\t82
5.4.2 中序遍历\t83
5.4.3 后序遍历\t83
5.4.4 遍历二叉树的非递归算法\t84
5.4.5 遍历算法应用举例\t86
5.5 线索二叉树\t88
5.5.1 线索的概念\t88
5.5.2 线索的分类\t89
5.5.3 线索的描述\t90
5.6 树和森林\t91
5.6.1 树、森林和二叉树的转换\t91
5.6.2 树和森林的遍历\t94
5.7 二叉树的应用――哈夫曼(Huffman)树\t95
5.7.1 基本术语\t95
5.7.2 哈夫曼树的定义及构造\t95
5.7.3 哈夫曼树的应用\t96
习题5\t99
第6章 图\t101
6.1 图的基本概念\t102
6.1.1 图的定义\t102
6.1.2 图的相关术语\t102
6.2 图的存储结构\t105
6.2.1 邻接矩阵\t106
6.2.2 邻接表\t109
6.3 图的基本运算――遍历\t112
6.3.1 深度优先搜索遍历\t112
6.3.2 广度优先搜索遍历\t115
6.4 生成树和最小生成树\t116
6.4.1 基本概念\t116
6.4.2 普里姆(Prim)算法\t118
6.4.3 克鲁斯卡尔(Kruskal)算法\t119
6.5 最短路径\t120
6.5.1 单源点最短路径\t120
6.5.2 所有顶点对之间的最短路径\t121
6.6 拓扑排序\t125
6.6.1 基本概念\t125
6.6.2 拓扑排序的基本方法\t126
习题6\t127
第7章 查找\t128
7.1 查找的基本概念\t129
7.2 线性表的查找\t130
7.2.1 顺序查找\t130
7.2.2 二分查找\t131
7.2.3 分块查找\t133
7.3 树表查找\t135
7.3.1 基于树的查找法――二叉排序树\t135
7.3.2 平衡二叉树查找\t141
7.3.3 B-树查找\t144
7.4 散列查找(Hash)\t150
7.4.1 基本概念\t150
7.4.2 散列函数的构造\t151
7.4.3 解决冲突的方法\t152
习题7\t154
第8章 排序\t156
8.1 排序的基本概念\t157
8.2 插入排序\t159
8.2.1 直接插入排序\t159
8.2.2 希尔排序\t160
8.3 交换排序\t161
8.3.1 冒泡排序\t161
8.3.2 快速排序\t162
8.4 选择排序\t165
8.4.1 直接选择排序\t165
8.4.2 堆排序\t166
8.5 归并排序\t170
8.6 各种排序方法的综合比较\t172
8.6.1 各种内排序方法的比较\t173
8.6.2 各种内排序方法的选择\t173
习题8\t174
习题答案\t176
参考文献\t188
猜您喜欢

读书导航