普通高等学校计算机教育“十二五”规划教材

数据结构(C语言版)(第3版)

分享 推荐 14 收藏 51 阅读 19.8K
李云清 , 杨庆红 , 揭安全 (编著) 978-7-115-36463-0

关于本书的内容有任何问题,请联系 孙澍


1."十二五"普通高等教育本科国家级规划教材
2.省精品课程、省精品资源共享课程配套教材
3.理论与实践并重,内容涵盖考研大纲要求
4.C 语言实现,提供全部实例代码及实验代码
5.教学资源丰富,提供教学课件、所有算法的源代码、测试用例等

内容摘要


本书介绍了数据结构的基本概念和基本算法。全书共分为10 章,包括概论、线性表及其顺序存储、线性表的链式存储、字符串、数组和特殊矩阵、递归、树型结构、二叉树、图、检索、内排序等内容,附录给出了较为详细的基础实验和几类综合课程设计题。

目录

目 录

第 1章 概论 1
1.1 数据结构的基本概念与术语 1
1.1.1 数据结构的基本概念 1
1.1.2 数据的逻辑结构 2
1.1.3 数据的存储结构 3
1.1.4 数据的运算集合 5
1.2 数据类型和抽象数据类型 5
1.2.1 数据类型 6
1.2.2 抽象数据类型 7
1.2.3 抽象数据类型的描述和实现 7
1.3 算法和算法分析 8
1.3.1 算法的基本概念和基本特征 8
1.3.2 算法的时间复杂度和空间复杂度 8
习题 10

第 2章 线性表及其顺序存储 11
2.1 线性表 11
2.2 顺序表 11
2.2.1 顺序表的基本概念及描述 11
2.2.2 顺序表的实现 12
2.3 栈 16
2.3.1 栈的基本概念及描述 16
2.3.2 顺序栈及其实现 18
2.3.3 栈的应用之一——括号匹配 20
2.3.4 栈的应用之二——算术表达式求值 21
2.4 队列 26
2.4.1 队列的基本概念及描述 26
2.4.2 顺序队列及其实现 27
2.4.3 顺序循环队列及其实现 30
习题 32

第3章 线性表的链式存储 34
3.1 链式存储 34
3.2 单链表 35
3.2.1 单链表的基本概念及描述 35
3.2.2 单链表的实现 36
3.3 带头结点的单链表 40
3.3.1 带头结点的单链表的基本概念及描述 40
3.3.2 带头结点的单链表的实现 40
3.4 循环单链表 44
3.4.1 循环单链表的基本概念及描述 44
3.4.2 循环单链表的实现 44
3.5 双链表 50
3.5.1 双链表的基本概念及描述 50
3.5.2 双链表的实现 50
3.6 链式栈 55
3.6.1 链式栈的基本概念及描述 55
3.6.2 链式栈的实现 56
3.7 链式队列 58
3.7.1 链式队列的基本概念及描述 58
3.7.2 链式队列的实现 59
习题 62

第4章 字符串、数组和特殊矩阵 64
4.1 字符串 64
4.1.1 字符串的基本概念 64
4.1.2 字符串类的定义 64
4.1.3 字符串的存储及其实现 65
4.2 字符串的模式匹配 72
4.2.1 朴素的模式匹配算法 73
4.2.2 快速模式匹配算法 73
4.3 数组 76
4.3.1 数组和数组元素 76
4.3.2 数组类的定义 77
4.3.3 数组的顺序存储及实现 78
4.4 特殊矩阵 81
4.4.1 对称矩阵的压缩存储 82
4.4.2 三角矩阵的压缩存储 83
4.4.3 带状矩阵的压缩存储 84
4.5 稀疏矩阵 86
4.5.1 稀疏矩阵类的定义 86
4.5.2 稀疏矩阵的顺序存储及其实现 87
4.5.3 稀疏矩阵的链式存储及实现 89
习题 93

第5章 递归 94
5.1 递归的基本概念与递归程序设计 94
5.2 递归程序执行过程的分析 96
5.3 递归程序到非递归程序的转换 99
5.3.1 简单递归程序到非递归程序的转换 99
5.3.2 复杂递归程序到非递归程序的转换 102
5.4 递归程序设计的应用实例 107
习题 109

第6章 树型结构 110
6.1 树的基本概念 110
6.2 树类的定义 112
6.3 树的存储结构 112
6.3.1 双亲表示法 112
6.3.2 孩子表示法 113
6.3.3 孩子兄弟表示法 116
6.4 树的遍历 117
6.5 树的线性表示 120
6.5.1 树的括号表示 120
6.5.2 树的层号表示 122
习题 124

第7章 二叉树 125
7.1 二叉树的基本概念 125
7.2 二叉树的基本运算 127
7.3 二叉树的存储结构 128
7.3.1 顺序存储结构 128
7.3.2 链式存储结构 130
7.4 二叉树的遍历 131
7.4.1 二叉树遍历的定义 131
7.4.2 二叉树遍历的递归实现 131
7.4.3 二叉树遍历的非递归实现 133
7.5 二叉树其他运算的实现 137
7.6 穿线二叉树 139
7.6.1 穿线二叉树的定义 139
7.6.2 中序穿线二叉树的基本运算 140
7.6.3 中序穿线二叉树的存储结构及其实现 140
7.7 树、森林和二叉树的转换 143
7.7.1 树、森林到二叉树的转换 143
7.7.2 二叉树到树、森林的转换 144
习题 144

第8章 图 146
8.1 图的基本概念 146
8.2 图的基本运算 149
8.3 图的基本存储结构 150
8.3.1 邻接矩阵及其实现 150
8.3.2 邻接表及其实现 153
8.3.3 邻接多重表 155
8.4 图的遍历 156
8.4.1 深度优先遍历 156
8.4.2 广度优先遍历 158
8.5 生成树与**小生成树 160
8.5.1 **小生成树的定义 161
8.5.2 **小生成树的普里姆(Prim)算法 163
8.5.3 **小生成树的克鲁斯卡尔(Kruskal)算法 166
8.6 **短路径 169
8.6.1 单源**短路径 169
8.6.2 所有顶点对的**短路径 172
8.7 拓扑排序 174
8.8 关键路径 177
习题 182

9章 检索 186
9.1 检索的基本概念 186
9.2 线性表的检索 187
9.2.1 顺序检索 187
9.2.2 二分法检索 188
9.2.3 分块检索 191
9.3 二叉排序树 193
9.4 丰满树和平衡树 200
9.4.1 丰满树 200
9.4.2 平衡二叉排序树 201
9.5 **佳二叉排序树和Huffman树 207
9.5.1 扩充二叉树 207
9.5.2 **佳二叉排序树 208
9.5.3 Huffman树 213
9.6 B树 216
9.6.1 B-树的定义 217
9.6.2 B-树的基本操作 217
9.6.3 B+树 222
9.7 散列表检索 224
9.7.1 散列存储 224
9.7.2 散列函数的构造 225
9.7.3 冲突处理 226
习题 230

第 10章 内排序 233
10.1 排序的基本概念 233
10.2 插入排序 234
10.2.1 直接插入排序 234
10.2.2 二分法插入排序 237
10.2.3 表插入排序 238
10.2.4 Shell插入排序 240
10.3 选择排序 241
10.3.1 直接选择排序 241
10.3.2 树型选择排序 243
10.3.3 堆排序 245
10.4 交换排序 249
10.4.1 冒泡排序 249
10.4.2 快速排序 250
10.5 归并排序 253
10.6 基数排序 256
10.6.1 多排序码的排序 256
10.6.2 静态链式基数排序 256
习题 260

附录1 基础实验 262
实验1 线性表的顺序实现 262
实验2 不带头结点的单链表 265
实验3 带头结点的单链表 269
实验4 栈与字符串 271
实验5 递归 275
实验6 树 278
实验7 二叉树 280
实验8 图 283
实验9 检索 285
实验10 排序 286
附录2 综合实验 289

参考文献 295

读者评论

  • 有人知道怎样获取习题答案吗?买了书却不能看答案,真的是很无奈。
    heluxuelaoshiban发表于 2017/12/13 11:44:46
    • 在ppt最后面有答案

      邓志坚发表于 2018/7/8 16:42:29
  • 有人知道怎样获取习题答案吗?买了书却不能看答案,真的是很无奈。
    heluxuelaoshiban发表于 2017/12/13 11:44:46
  • 出版社也没有答案的密码,需要与作者联系,作者的联系方式在提供的说明文档中有。

    邹文波发表于 2017/11/1 15:12:15
  • 有人有习题答案吗 可以给一份吗 谢谢啦 急用
    王哈哈哈发表于 2017/9/21 19:27:39
  • 有人有习题答案吗 可以给一份吗 谢谢啦 急用
    王哈哈哈发表于 2017/9/21 19:27:39

我要评论

作者介绍

李云清,江西师范大学计算机学院教授,硕士研究生导师。江西省高等学校中、青年骨干教师,江西省教育厅认定的江西省高等学校首批首级优质精品课程《数据结构》课程负责人。独立系统地为计算机本科专业的学生开设了《数据结构》、《程序设计方法学》、《高级程序设计语言》(如BASIC语言、PASCAL语言)、《程序设计选讲》等专业课程。独立系统地讲授了《面向对象技术》和《软件自动化》等计算机专业硕士研究生课程。为研究课程进修班和助教进修班讲授《人工智能》、《面向对象技术》和《软件自动化》等课程。(合作)主持完成教育部教改项目1项,主持(完成)江西省教育厅科技项目2项,并且作为第二成员完成了3项国家级科研项目(1项国家863计划,2项国家自然科学基金)和1项江西省跨世纪人才项目。另外,主持完成江西省教育厅省级教学研究项目1项,主持完成3项江西师大科研和教学研究课题。合编出版教材三部。 获得省级优秀教学成果二等奖1次,三等奖2次。获得校级优秀教学成果一等奖1次、二等奖1次,校首届教师CAI课件大赛一等奖1次。

同系列书

  • 办公自动化技术与应用(第2版)

    李岚

    本书全面介绍了办公软件在办公工作中的具体应用,常用办公设备的安装、使用和维护,系统的安全及优化,以及局域网的设...

    ¥39.80
  • MySQL数据库教程(视频指导版)

    郑阿奇

    本书以当前较流行的MySQL5.7作为平台,系统介绍MySQL数据库原理及其应用。具体内容涉及MySQL初步、...

    ¥49.80
  • 计算机英语(第3版)

    司爱侠 张强华

    本书是为培养计算机人才的专业英语能力而编写的教材,主要内容包括:计算机硬件和软件基础、外部设备、操作系统、数据...

    ¥54.00
  • Office高级应用案例教程

    文海英

    本书内容涵盖:word高级应用篇(第1,2章)、excel高级应用篇(第3,4章)、powerpoint高级应...

    ¥52.00
  • 办公自动化案例教程

    肖辉军

    本书以Windows系统平台为基础,系统地了解和掌握常用办公自动化软件的基础知识、基本操作方法和技巧。全书共8...

    ¥49.80

购买本书用户

相关图书

  • 数据库原理(微课版)

    郭玉彬 宋歌 边山

    本书依据教育部《普通高等学校本科专业类教学质量国家标准》,以新工科背景下加快培养计算机类工程人才为目标,构建了...

    ¥69.80
  • 数据结构(C语言版)(第3版)

    李冬梅 严蔚敏

    本书在选材与编排上,贴近当前普通高等院校“数据结构”课程的现状和发展趋势,符合最新研究生考试大纲,内容难度适度...

    ¥59.80
  • 机器学习基础与案例实战(Python+Sklearn+TensorFlow)(慕课版)

    张平

    机器学习作为人工智能的重要分支,已在不同行业得到了广泛应用。本书以锤炼读者机器学习相关技术的实战能力为导向,将...

    ¥69.80
  • 大学计算机导论

    甘勇

    “计算机科学导论”作为计算机科学与技术专业的必修课,旨在引导刚刚进入大学的新生对计算机基础知识及研究方向有一个...

    ¥59.80
  • 传感器技术与应用(微课版)

    胡福年 王晓燕 栾声扬

    本书立足于“新工科”人才培养目标和工程教育专业认证课程建设的要求,以提升高等工程人才培养质量为目标,不但注重工...

    ¥69.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部