内容简介
《数据结构:用C语言描述(第2版)》根据教育部计算机类专业教学指导委员会制定的“数据结构与算法”课程大纲和《全国硕士研究生入学统一考试计算机专业基础综合考试大纲》的要求而编写,跟踪技术发展需要,教材体系科学,内容简洁实用。
《数据结构:用C语言描述(第2版)》共10章。内容包括基本概念、基本结构(线性表、栈与队列、串、数组与广义表、树、图)和基本技术(查找方法与排序方法)三大部分,每章均附有小结与典型题例,并配有大量的例题、习题与实习题,连贯性强。与该书配套的教学资源丰富,按章节知识树的结构构成,包括教学视频、部分扩展内容、课程设计与课程实习指导、多媒体教学课件、算法源码等,适合网络学习使用。
《数据结构:用C语言描述(第2版)》既可作为高等学校计算机及相关专业数据结构课程的教材,也可供从事计算机应用开发的工程技术人员参考使用。
作者简介
耿国华,教授,国家教学名师,西北大学信息学院副院长,教育部高等学校大学计算机课程教学指导委员会委员,陕西省计算机学会副理事长,陕西省人工智能与模式识别专业委员会副主任。
主持获得国家教学成果奖2项,主持2门国家精品资源共享课程,主编出版的多部教材被列入“十二五”“十一五”国家级规划教材,并获教育部精品教材奖。带领的计算机专业基础核心课程教学队伍于2008年被评为国家教学团队。
内页插图
目录
第1章 绪论
1.1 数据结构的基础概念
1.2 数据结构的内容
1.3 算法
1.4 算法描述
1.5 算法性能评价
1.5.1 算法的时间性能分析
1.5.2 算法的空间性能分析
1.5.3 算法性能选择
1.6 数据结构与c语言表示
1.6.1 数据结构与程序设计的关联性
1.6.2 结构化程序设计与函数的模块化
1.6.3 面向对象与抽象数据类型
1.6.4 算法描述规范与设计风格
1.7 关于学习数据结构
1.8 总结与提高
习题
实习题
第2章 线性表
2.1 线性表的概念及其抽象数据类型定义
2.1.1 线性表的逻辑结构
2.1.2 线性表的抽象数据类型定义
2.2 线性表的顺序存储
2.2.1 线性表的顺序存储结构
2.2.2 线性表顺序存储结构上的基本运算
2.3 线性表的链式存储
2.3.1 单链表
2.3.2 单链表上的基本运算
2.3.3 循环链表
2.3.4 双向链表
2.3.5 静态链表
2.4 线性表应用——一元多项式的表示及相加
2.5 顺序表与链表的综合比较
2.5.1 顺序表和链表的比较
2.5.2 线性表链式存储方式的比较
2.6 总结与提高
2.6.1 主要知识点
2.6.2 典型题例
习题
实习题
第3章 限定性线性表——栈与队列
3.1 栈
3.1.1 栈的定义
3.1.2 栈的表示和实现
3.1.3 栈的应用举例
3.1.4 栈与递归的实现
3.2 队列
3.2.1 队列的定义
3.2.2 队列的表示和实现
3.2.3 队列的应用举例
3.3 总结与提高
3.3.1 主要知识点
3.3.2 典型题例
习题
实习题
第4章 串
4.1 串的基本概念
4.2 串的存储实现
4.2.1 定长顺序串
4.2.2 堆串
4.2.3 块链串
4.3 串的应用举例:简单的行编辑器
4.4 总结与提高
4.4.1 主要知识点
4.4.2 典型题例
习题
实习题
第5章 数组与广义表
5.1 数组的定义与运算
5.2 数组的顺序存储与实现
5.3 特殊矩阵的压缩存储
5.3.1 规律分布的特殊矩阵
5.3.2 稀疏矩阵
5.4 广义表
5.4.1 广义表的概念
5.4.2 广义表的存储结构
5.4.3 广义表的操作实现
5.5 总结与提高
5.5.1 主要知识点
5.5.2 典型题例
习题
实习题
第6章 树与二叉树
6.1 树的定义与基本术语
6.2 二叉树
6.2.1 二叉树的定义与基本操作
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.3 二叉树的遍历与线索化
6.3.1 二叉树的遍历
6.3.2 遍历算法应用
6.3.3 基于栈的递归消除
6.3.4 线索二叉树
6.3.5 由遍历序列确定二叉树
6.4 树、森林和二叉树的关系
6.4.1 树的存储结构
6.4.2 树、森林与二叉树的相互转换
6.4.3 树与森林的遍历
6.5 哈夫曼树及其应用
6.5.1 哈夫曼树
6.5.2 哈夫曼编码
6.6 并查集与等价类划分
6.7 总结与提高
6.7.1 主要知识点
6.7.2 典型题例
习题
实习题
第7章 图
7.1 图的定义与基本术语
7.1.1 图的定义
7.1.2 基本术语
7.2 图的存储结构
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.2.3 十字链表
7.2.4 邻接多重表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的应用
7.4.1 图的连通性问题
7.4.2 有向无环图的应用
7.4.3 最短路径问题
7.5 总结与提高
7.5.1 主要知识点
7.5.2 典型题例
习题
实习题
第8章 查找
8.1 查找的基本概念
8.2 基于线性表的查找法
8.2.1 顺序查找法
8.2.2 折半查找法
8.2.3 分块查找法
8.3 基于树的查找法
8.3.1 二叉排序树
8.3.2 平衡二叉排序树
8.3.3 B树
8.4 计算式查找法——哈希法
8.4.1 哈希函数的构造方法
8.4.2 处理冲突的方法
8.4.3 哈希表的查找过程
8.4.4 哈希法性能分析
8.5 总结与提高
8.5.1 主要知识点
8.5.2 典型题例
习题
实习题
第9章 内部排序
9.1 排序的基本概念
9.2 插人类排序
9.2.1 直接插入排序
9.2.2 折半插入排序
9.2.3 希尔排序
9.2.4 小结
9.3 交换类排序
9.3.1 冒泡排序
9.3.2 快速排序
9.3.3 小结
9.4 选择类排序
9.4.1 简单选择排序
9.4.2 树形选择排序
9.4.3 堆排序
9.4.4 小结
9.5 归并排序
9.6 分配类排序
9.6.1 多关键字排序
9.6.2 链式基数排序
9.6.3 基数排序的顺序表实现
9.7 各种排序方法的综合比较
9.8 总结与提高
9.8.1 主要知识点
9.8.2 典型题例
习题
实习题
第10章 外部排序
10.1 外排序的基本方法
10.1.1 磁盘排序
10.1.2 磁带排序
10.2 总结与提高
习题
参考文献
前言/序言
IEEE-CS/ACM的CS教程已将算法与数据结构课程列为核心课程之首,数据结构愈显出其在信息学科中的重要地位。作为重要的计算机类专业学科基础课,数据结构课程一般开设在大学二年级,应对前两年学习的软件技术进行总结提高,为后续专业课程提供基础。作为计算机科学与技术人才素质培养框架中的中坚课程,它承上启下,贯通始终,是计算机科学与技术人才素质框架中的脊梁,其学习过程体现着创造性思维的信息素质培养过程,对学生的软件开发能力培养至关重要。
本书是“十二五”普通高等教育本科国家级规划教材,根据教育部高等学校计算机类专业教学指导委员会制定的《高等学校计算机科学与技术专业核心课程教学实施方案》和《全国硕士计算机专业综合考试大纲》要求编写而成。本书是在作者编写的《数据结构》(2011年由高等教育出版社出版)教材基础上的更新与提升,紧密跟进学科和技术发展,融入了我们建设国家精品资源共享课的成果。
本书以抽象数据类型为中心,采用面向对象的新观点,将教学内容分为基本概念、基本结构、基本技术三个层次,贯穿了计算机科学中的一些重要的问题求解技术,符合认知规律;使用标准C作为算法描述的语言,使之与目前大多数院校讲授的第一语言衔接,便于将读者的注意力集中在算法的理解上。书中给出了大量的C函数表示算法,体现数据抽象与过程抽象的结合,突出了算法表示的实质。
本书共10章,可分为三部分。其中,第一部分(第1章)介绍数据结构的基本概念;第二部分(2~7章)介绍基本的数据结构,包括线性结构(线性表、栈和队列、串、数组与广义表)与非线性结构(树、图);第三部分(8~10章)介绍基本技术,包括查找方法与排序方法。书中贯穿了重要的程序设计技术,如参数传递技术、动态处理的指针技术、数组技术(抽象规律处理)和递归技术与队列技术。书中给出的许多精彩典型算法是人们在数据处理中智慧的结晶,我们力求将经典算法的思路表现出来,为学习者继续拓展提供线索。内容特色:
·在基本概念部分,为增强对抽象概念的理解,举例说明了数据结构的重要性,增加了算法性能评价和问题规模、算法复杂度分析的范例,针对同一个问题给出了两个复杂度不同的算法,便于直观地理解算法复杂度的概念和算法复杂度分析的方法。
·在数据结构部分,为方便读者理解与应用抽象数据类型结构,建立完整的结构体系,我们提供了“C语言实现算法模板示例”。读者可在上机实验前参阅数字课程网站上的相关资源,引用已定义的类型文件嵌入相关函数,实现抽象数据类型重用,从而掌握算法实现的方法。同时,为紧扣考研大纲要求,我们增补了并查集与等价类划分相关内容。
·在基本技术部分,突出了典型技术的优化处理技术,增加了数据结构典型技术的新应用,引入了B树动态索引技术应用示例,以便读者理解构建目前使用的查找索引数据结构。为引导学习者注重掌握排序思想与改进思路,加入对每类排序方法的小结。
·全书各章均有总结与典型题例,形成梯度,便于引导提高。与前版教材相比,增大了习题与实习题的比例,对综合性强的实习加入部分提示与指导,注重引导能力的培养。资源特色:
鉴于数据结构课程的技术性特点,同时为适应翻转课堂的教学需求,以及移动学习的环境变化,我们充实了与教材配套的数字课程资源,通过课程教学视频和课程资源网站,提供师生之间的课程教学资源与交流平台。
针对教材各章难点及重点提供了课程教学视频,可通过在数字课程网站按章节选播或手机扫描二维码的方式进行在线学习。
配套数字课程网站含有丰富的教学资源,包括多媒体教学课件与电子教案、算法实现和课程设计与实习范例、选学内容、试卷及解析等内容。其他教学资源可参考国家精品资源共享课网站。
本书同时也是国家精品课、国家精品资源共享课及MOOC课程“数据结构”的配套主讲教材。
本书由耿国华主编,第l章、第6章、第7章、第9章由耿国华编写,第5章、第8章由张德同编写,第3章、第10章由周明全编写,第2章由卢燕宁编写,第4章由刘晓宁编写,全书由耿国华统稿。刘晓宁、李康老师负责数字课程资源建设,多名研究生参加了算法调试与动画多媒体课件制作。
本书前版教材已应用于多所学校的电子、数学、自动化、通信、计算机等专业的教学过程,在这里衷心感谢广大读者对我们的厚爱与信任。真诚期待大家在使用本教材的过程中提出意见和建议,使之在教学过程中逐步改进完善,更好地服务于教学。
数据结构:用C语言描述(第2版) [Data Structure in C (Second Edition)] 下载 mobi epub pdf txt 电子书 格式
数据结构:用C语言描述(第2版) [Data Structure in C (Second Edition)] 下载 mobi pdf epub txt 电子书 格式 2024
数据结构:用C语言描述(第2版) [Data Structure in C (Second Edition)] mobi epub pdf txt 电子书 格式下载 2024