欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

数据结构(C语言版)

书      号:9787113129439

丛  书 名:高职高专计算机实用教程系列规划教材

作      者:王桂芝

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:24

  • 内容简介

    本书是为“数据结构”课程编写的教材,也可以作为学习数据结构及其算法的C语言程序设计的参考书。书中系统地介绍了各种常用的数据结构与算法方面的基本知识。全书共分为9章。第1章为概论,引入了数据结构与算法的一些基本概念,是全书的综述;第2~7章分别介绍了线性表、栈、队列、串、多维数组、广义表、树、二叉树和图等几种基本的数据结构;第8章和第9章分别介绍了查找和排序,它们都是数据处理时广泛使用的技术。本书的特色是深入浅出,既注重理论又重视实践。全书配有大量的例题和详尽的注释,各章都有小结和不同类型的习题。书中自始至终使用C语言来描述算法和数据结构,全部程序都在CFree3.5或VisualC++6.0中调试通过。本书可作为普通高等学校计算机及相关专业本科生的教材,也可以作为专科和成人教育的教材,还可供从事计算机应用的科技人员参考。
  • 前言

    数据结构是计算机程序设计的重要理论基础,是高等院校计算机类、信息类、相关专业的一门必修课程。
    本书主要讨论数据的逻辑结构和在计算机中的表示,以及常用的各种非数值运算的算法,使读者掌握计算机处理的数据对象的特性,学会数据的组织方法,能够选择合适的数据组织形式,把现实中的问题转换为计算机内部的数据表示和数据处理。
    参与本书编写的作者具有多年数据结构教学及软件开发经验,全书采用类C语言作为数据结构和算法的描述语言,在对各类数据结构及算法的描述中尽量考虑C语言的特色。本书选用的算法思路清晰、描述精练,运用大量图示方法把抽象的理论形象化。本书注重理论与实践的统一,除第1章外,其余每章都安排有实训,利用完整的实例对本章所学的重要算法进行练习。
    全书共分9章:第1章主要介绍了有关数据结构的基本概念和术语;第2章~第7章分别讨论了线性表、栈和队列、串、数组和广义表、树及图等基本类型的数据结构;第8章和第9章主要讨论了查找和排序的各种实现方法及其综合分析比较。
    其中,正文中第“*”的为选学内容。
    本书由王桂芝任主编,来社安和孙凌任副主编。其中,王桂芝编写第2章和第8章,来社安编写第1章和7章,李丹编写第3章和第4章,孙凌编写第5章和第6章,吕金龙编写第9章。
    在本书的编写过程中,我们参阅了许多有关数据结构的教材和大量的资料,在此对所有的编著者表示衷心的感谢。由于时间仓促,编者水平有限,书中难免存在不当之处,恳请有关专家和广大读者批评指正。


    编 者
    2011年6月

  • 目录

    第1章 数据结构概述 1
    1.1 数据结构课程的性质和地位 1
    1.1.1 数据结构课程所讨论的内容 1
    1.1.2 数据结构在计算机学科中的地位 4
    1.1 数据结构课程的性质和地位 1
    1.1.1 数据结构课程所讨论的内容 1
    1.1.2 数据结构在计算机学科中的地位 4
    1.2 基本概念和术语 5
    1.2.1 数据结构的相关术语 5
    1.2.2 数据的逻辑结构 5
    1.2.3 数据的存储结构 6
    1.2.4 数据类型和抽象数据类型 7
    1.3 算法及算法分析 8
    1.3.1 算法的概念 8
    1.3.2 算法的设计要求 8
    1.3.3 算法的时间复杂度 9
    1.3.4 算法的空间复杂度 11
    本章小结 11
    习题 12
    第2章 线性表 15
    2.1 线性表的逻辑结构 15
    2.1.1 线性表的定义 15
    2.1.2 线性表的常用操作 16
    2.2 线性表的顺序存储结构 16
    2.2.1 顺序表的类型定义 17
    2.2.2 顺序表的基本运算 18
    2.3 线性表的链式存储结构 21
    2.3.1 单链表 21
    2.3.2 循环链表 25
    2.3.3 双向链表 26
    2.3.4 静态链表 28
    2.4 两种存储结构的比较 28
    2.5 实训 29
    本章小结 31
    习题 32
    第3章 栈和队列 35
    3.1 栈 35
    3.1.1 栈的定义及常用操作 35
    3.1.2 栈的顺序存储结构 36
    3.1.3 栈的链式存储结构 40
    3.1.4 栈的应用 41
    3.2 队列 47
    3.2.1 队列的定义及常用操作 47
    3.2.2 队列的顺序存储结构 47
    3.2.3 队列的链式存储结构 49
    3.2.4 队列的应用 51
    3.3 实训 52
    本章小结 55
    习题 56
    第4章 串 58
    4.1 串的定义及常用操作 58
    4.1.1 串的定义及相关术语 58
    4.1.2 串的常用操作 59
    4.2 串的存储结构 59
    4.2.1 串的定长顺序存储结构 60
    4.2.2 串的动态顺序存储结构 62
    4.2.3 串的链式存储结构 63
    4.3 串的模式匹配 63
    4.4 串的应用 65
    4.5 实训 66
    本章小结 68
    习题 68
    第5章 数组和广义表 71
    5.1 数组 71
    5.1.1 数组的定义及常用操作 71
    5.1.2 数组的顺序存储结构及基本运算 72
    5.2 矩阵的压缩存储 73
    5.2.1 特殊矩阵 73
    5.2.2 稀疏矩阵 76
    5.3 广义表 77
    5.3.1 广义表的定义及常用操作 78
    5.3.2 广义表的存储结构 79
    * 5.3.3 广义表基本操作的实现 82
    5.4 实训 83
    本章小结 86
    习题 87
    第6章 树 89
    6.1 树的逻辑结构 89
    6.1.1 树的定义及逻辑特征 89
    6.1.2 树的表示形式 90
    6.1.3 树的基本术语 91
    6.1.4 树的常用操作 92
    6.2 二叉树 92
    6.2.1 二叉树的定义及常用操作 92
    6.2.2 二叉树的性质 93
    6.2.3 二叉树的存储结构 96
    6.3 二叉树的遍历 97
    6.3.1 二叉树遍历的概念 97
    6.3.2 二叉树遍历的算法 98
    6.4 构造二叉树 101
    6.4.1 由遍历序列构造二叉树 101
    6.4.2 构造二叉树的算法 103
    6.4.3 二叉树的其他递归算法 104
    6.5 线索二叉树 105
    6.5.1 线索二叉树的概念 105
    6.5.2 二叉树的线索化 106
    6.5.3 线索二叉树的主要算法 107
    6.6 树和森林 109
    6.6.1 树的存储结构 109
    6.6.2 树、森林和二叉树的转换 112
    6.6.3 树和森林的遍历 115
    6.7 哈夫曼树 116
    6.7.1 哈夫曼树的定义 116
    6.7.2 哈夫曼树的构造算法 118
    6.7.3 哈夫曼编码 119
    6.8 实训 120
    本章小结 123
    习题 123
    第7章 图 127
    7.1 图的定义和术语 127
    7.1.1 图的基本概念 128
    7.1.2 图的基本操作 130
    7.2 图的存储结构 130
    7.2.1 邻接矩阵表示法 130
    7.2.2 邻接表表示法 131
    7.3 图的遍历 132
    7.3.1 深度优先搜索 133
    7.3.2 广度优先搜索 134
    7.4 生成树和最小生成树 136
    7.4.1 基本概念 136
    7.4.2 普里姆(Prim)算法 137
    7.4.3 克鲁斯卡尔(Kruskal)算法 138
    7.5 有向无环图及其应用 139
    7.5.1 拓扑排序 139
    7.5.2 关键路径 142
    7.6 最 短 路 径 145
    7.6.1 最短路径的概念 145
    7.6.2 单源最短路径 145
    7.6.3 所有顶点之间的最短路径 148
    7.7 实训 151
    本章小结 153
    习题 154
    第8章 查找 158
    8.1 查找的基本概念 158
    8.2 线性表查找 160
    8.2.1 顺序查找 160
    8.2.2 折半查找 161
    8.2.3 索引查找 164
    8.3 树 表 查 找 165
    8.3.1 二叉排序树 165
    * 8.3.2 平衡二叉树 170
    8.4 哈希表查找 176
    8.4.1 哈希表的定义 176
    8.4.2 哈希函数的构造 176
    8.4.3 冲突处理方法 178
    8.4.4 哈希表的查找及其分析 180
    8.5 实训 182
    本章小结 184
    习题 185
    第9章 内部排序 189
    9.1 排序概述 189
    9.1.1 排序的基本概念 190
    9.1.2 排序的分类 190
    9.1.3 排序算法性能评价 190
    9.1.4 排序数据的类型说明 191
    9.2 插入排序 191
    9.2.1 直接插入排序 191
    9.2.2 折半插入排序 193
    9.2.3 希尔排序 194
    9.3 交换排序 196
    9.3.1 冒泡排序 196
    9.3.2 快速排序 198
    9.4 选择排序 202
    9.4.1 简单选择排序 202
    9.4.2 树形选择排序 203
    9.4.3 堆排序 204
    9.5 归并排序 209
    9.6 基数排序 211
    9.6.1 多关键字排序 211
    9.6.2 基数排序 212
    9.7 各种内部排序方法的比较 216
    9.8 实训 217
    本章小结 220
    习题 221
    参考文献 224



    实训项目8 Word 2003表格操作 270
    实训项目9 Word 2003的图文混排 275
    第4章 Excel 2003实训 280
    实训项目10 Excel 2003基本操作 280
    实训项目11 工作表的编辑与格式化 284
    实训项目12 排序和筛选 288
    实训项目13 分类汇总和数据透视表 291
    实训项目14 图表的制作 293
    第5章 PowerPoint 2003实训 298
    实训项目15 PowerPoint 2003基本操作 298
    实训项目16 幻灯片的编辑 301
    实训项目17 演示文稿的放映 304
    实训项目18 幻灯片动态效果的设置 308
    第6章 网络操作实训 311
    实训项目19 IE浏览器的使用 311
    实训项目20 E-mail的使用 315
    实训项目21 Outlook Express的使用 318
    实训项目22 信息搜索和下载 324
    附录A Windows XP的安装 330


    实训项目8 Word 2003表格操作 270
    实训项目9 Word 2003的图文混排 275
    第4章 Excel 2003实训 280
    实训项目10 Excel 2003基本操作 280
    实训项目11 工作表的编辑与格式化 284
    实训项目12 排序和筛选 288
    实训项目13 分类汇总和数据透视表 291
    实训项目14 图表的制作 293
    第5章 PowerPoint 2003实训 298
    实训项目15 PowerPoint 2003基本操作 298
    实训项目16 幻灯片的编辑 301
    实训项目17 演示文稿的放映 304
    实训项目18 幻灯片动态效果的设置 308
    第6章 网络操作实训 311
    实训项目19 IE浏览器的使用 311
    实训项目20 E-mail的使用 315
    实训项目21 Outlook Express的使用 318
    实训项目22 信息搜索和下载 324
    附录A Windows XP的安装 330





  • 作者介绍

    主要著译者顺序姓名学历职称学科专长通讯地址1 王桂芝 硕士 副教授数据结构 工作单位河南商业高等专科学校 邮政编码 450045电话13673369265 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话
  • 编辑推荐

    数据结构课程内容抽象,知识丰富,隐藏在各章节内容中的方法和技术比较多。编者长期从事数据结构课程的教学,对该课程的教学特点和知识难点有比较深切的体会,本教材中,作者对多年来形成的数据结构课程的教学内容进行了合理的剪裁和重组,既强调数据结构的原理和方法,又特别注重其实践性与实用性。书中介绍了各种常用的数据结构和它们在计算机中的存储表示,讨论了基于这些数据结构的基本运算(操作)和实际的执行算法,简要介绍了算法的时间分析和空间分析的技巧,并阐述了各种常用数据结构内涵的逻辑关系。
  • 书评书荐

  • 附件下载

图书推荐