计算机类教材 > 智能科学与技术

实用数据结构基础(第五版)

书号:9787113295776 套系名称:普通高等院校计算机类专业规划教材.精品系列

作者:王中华 陈元春 出版日期:2022-09-01

定价:58.00 页码 / 开本:无 /16

策划编辑:陆慧萍 责任编辑:陆慧萍 彭立辉

适用专业:计算机类 适用层次:高等教育

最新印刷时间:

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书对数据结构的概念和原理进行了阐述,对数据结构的基本运算进行了分析, 并给 出了详细的实现过程。 全书共分 11 章,内容包括: 绪论、 线性表、 队列、 栈、 树和二叉树、 图、 查找、 排序、 串、 多维数组和广义表、 数据结构课程设计等。 本书集教学内容、习题、实验和课程设计于一体, 书中的重要算法均给出了完整的 C/ C ++ 语言源程序, 并全部在 VC ++ 环境中运行通过,一书在手就能方便地进行 “数据结构” 课程的理论学习和实验、 课程设计等实践性环节的训练。
  • 本书在第四版的基础上进行了修订,修订后的内容仍由11章组成,但是章节的先后次序有所调整,部分章节的内容有所扩充。
    
    第1章绪论介绍了数据结构与算法的基本概念;第2章~第4章依次介绍了线性表、队列、栈等线性结构;第5章和第6章分别介绍了树和图这两种非线性结构;第7章和第8章分别介绍了查找和排序算法的相关概念及一些经典算法的实现;第9章和第10章分别介绍了串、多维数组和广义表的基本概念、定义和实现;第11章仍是数据结构课程设计,课题列表略有更新。
    
    由于生活中的队列比栈更显而易见,学生也更熟悉和易于理解,因此本次改版将队列放置在栈之前,更利于教学内容的承前启后和展开。因为章节内容重要性的不同,以及课时的限制等原因,串、多维数组和广义表等内容,部分学校可能不会安排相应的实验,因此将这些内容安排到了靠后的位置,可以保证学生进行重要内容的实验时,相关章节的理论内容已经讲解过。
    
    本次改版,除了对各章的内容做了一些修订外,重点修改了以下几方面的内容:
    
    (1)对书中所有的代码和伪代码,尽可能以纯C语言的语法形式进行描述,加强了本书与先行课程“C语言程序设计”的过渡与衔接。
    
    对于引用变量这种C++语法的使用,通过1.5.1节的内容进行了补充和说明。
    
    针对部分同学C语言编程尚不熟练的情况,通过1.5节的实验预备知识,对C语言编程环境中可能会遇到的一些细节问题,以及后续实验的程序框架、数据来源等给予了说明。
    
    书中可以直接运行的代码称为“程序”,需要稍做修改才能运行的代码称为“伪代码”。虽然部分代码是伪代码,但是仅需通过简单的拼接和修改,即可形成完整的可以编译并运行的C语言程序。通过及时的编程实践加强对理论知识的理解,能有效降低学习难度,从而给数据结构课程的学习提供了一个相对更为平缓的坡度。
    
    (2)新增的主要内容和章节如下:
    
    ● 1.5节实验预备知识。
    
    ● 4.3.3~4.3.5节非递归调用的分析及其与函数调用栈之间的关系。
    
    ● 7.4节平衡多路查找树。
    
    ● 8.6节线性时间排序算法。
    
    ● 8.7节通用类型数据的排序。
    
    (3)对每章后面的实验题目和要求进行了修改。
    
    (4)替换了每章后面的部分习题。
    
    (5)使用Visio 2019重绘了全书几乎所有的插图,并新增了部分插图。
    
    (6)在Visual Studio 2017编程环境中调试了所有代码并规范了所有标识符的命名。将所有常量名大写,类型名使用大驼峰命名法,其余的变量名、数组名、函数名等一律采用小驼峰命名法。
    
    本次修订的全部内容由王中华负责,陈元春老师提供了宝贵的指导和审阅意见。
    
    学习本课程的学生应具备C或C++的初步编程能力。本书集教学内容、习题、实验和课程设计于一体,使用本书,一书在手就能方便地进行数据结构课程的理论学习和实验、课程设计等实践性环节的训练。本书提供详细完善的配套电子教案、习题参考答案,以及所有的源代码;读者如有需要可访问www.tdpress.com/51eds/获取。
    
    由于编者水平有限,书中疏漏或不妥之处在所难免,恳请广大专家和读者不吝赐教,多提宝贵意见。联系方式:1908163832@qq.com,谢谢!
    
                                                                                                                           编者
    
                                                                                                                      2022年5月
  • 第1章 绪  论
    1.1 数据结构概述
    1.2 数据的逻辑结构
    1.3 数据的存储结构
    1.4 算法和算法的效率
    1.5 实验预备知识
    实验 学生成绩分析程序
    习题
    第2章 线性表
    2.1 线性表的定义与操作
    2.2 线性表的顺序存储
    2.3 线性表的链式存储
    实验 多项式求和
    习题
    第3章 队  列
    3.1 队列的定义和操作
    3.2 队列的存储和实现
    3.3 队列的应用举例
    实验 银行排队机的模拟
    习题
    第4章 栈
    4.1 栈的定义和操作
    4.2 栈的存储和实现
    4.3 栈的应用举例
    实验 中缀表达式转后缀并求值
    习题
    第5章 树和二叉树
    5.1 树的定义和术语
    5.2 二叉树
    5.3 遍历二叉树和线索二叉树
    5.4 一般树或森林与二叉树的转换
    5.5 二叉树的应用
    5.6 哈夫曼树及其应用
    实验 二叉树
    习题
    第6章 图
    6.1 图的定义和基本操作
    6.2 图的存储表示
    6.3 图的遍历
    6.4 图的连通性
    6.5 最短路径
    6.6 有向无环图及其应用
    实验 图
    习题
    第7章 查  找
    7.1 查找的基本概念
    7.2 静态查找表
    7.3 动态查找表
    7.4 平衡多路查找树
    7.5 哈希表
    实验 平衡二叉树
    习题
    第8章 排  序
    8.1 概述
    8.2 插入类排序方法
    8.3 交换类排序方法
    8.4 选择类排序方法
    8.5 归并排序
    8.6 线性时间排序算法
    8.7 通用类型数据的排序
    8.8 各种排序算法的比较
    实验 排序
    习题
    第9章 串
    9.1 串的定义和操作
    9.2 串的存储
    9.3 串基本操作的实现
    9.4 串的模式匹配
    实验 字符串
    习题
    第10章 多维数组和广义表
    10.1 多维数组
    10.2 特殊矩阵的压缩存储
    10.3 稀疏矩阵
    10.4 广义表
    实验 稀疏矩阵的存储及运算
    习题
    第11章 数据结构课程设计
    11.1 课程设计的目的与内容
    11.2 课程设计的安排和要求
    11.3 课程设计题目(30个)
  • 王中华,任教于上海电机学院电子信息学院,研究领域:计算机软件及计算机应用、互联网技术、自动化技术;主讲课程:面向对象程序设计(C)、数据结构等。
    
    陈元春,曾任教于上海电机学院电子信息学院,从事高等教育教学工作近30年。主授课程包括程序设计、数据结构等近20余门;编写过多种教材和教学参考书。
  • 本书适合作为普通高等院校计算机类专业数据结构课程的教材, 也可以作为成人教育、 自学考试和从事计算机应用的工程技术人员的参考用书。