定 价:48 元
丛书名:全国高等农业院校计算机类与电子信息类“十三五”规划教材 , 高等农林教育“十三五”规划教材
- 作者:石玉强,闫大顺 编
- 出版时间:2017/2/1
- ISBN:9787565517563
- 出 版 社:中国农业大学出版社
- 中图法分类:TP311.12
- 页码:285
- 纸张:胶版纸
- 版次:1
- 开本:16开
《数据结构与算法》在选材与编排上,贴近当前普通高等院校“数据结构与算法”课程的现状和发展趋势,符合新计算机专业研究生考试大纲,内容难度适中,突出数据结构的实用性和应用性。《数据结构与算法》阐述了各种典型数据结构的基本概念、逻辑结构、存储结构以及相应各种操作。《数据结构与算法》共8章,内容包括绪论、线性表、栈和队列、串、数组和广义表、树和二叉树、图、查找和排序等内容。每一章不仅有大量例题解析,还有丰富的习题。全书采用C/C++语言作为数据结构和算法的描述语言。《数据结构与算法》可作为普通高等院校计算机和信息技术相关专业“数据结构”课程的教材使用,也可以作为报考高等学校计算机专业硕士研究生入学考试的复习用书,同时还可以作为从事计算机系统软件和应用软件设计与开发人员的参考资料。
“数据结构与算法”是计算机程序设计的重要理论和实践基础,它不仅是计算机专业的核心课程,也是其他理工专业的重要选修课。在计算机的应用领域中,数据结构有着广泛的应用。
本书共分8章,第1章介绍了数据结构的基本概念和算法分析的初步知识;第2章到第4章介绍了线性表、栈和队列、串、数组和广义表等线性结构的基本概念及常用算法;第5章和第6章介绍了非线性结构的树、二叉树、图等数据结构的存储结构和不同存储结构上的一些操作的实现;第7章介绍了各种查找表及查找方法;第8章介绍了各种内存及外存排序算法。本书计划学时为80学时左右,其中上机实习为35学时左右。
本书是作者根据自己的教学经验总结,为计算机类普通高等院校应用型本科学生编写的教材。作者在教学过程中发现,大多数学生在初学数据结构时,经常误把算法的伪代码作为完整函数直接在编译器上进行运行测试。为了解决这个问题,本书采用C/C++语言描述数据结构和算法,并且对关键的算法都编写了完整的C语言程序供学生上机实习参考。书中给出的每一个算法都是完整的,只要添加变量定义和主函数,程序即可运行,主函数编写可以参考书中给出的案例程序,测试数据可以从需求分析获得。
应用型本科院校面向应用、注重实践,本书力求做到选材精练、叙述简洁、通俗易懂,尽量避免抽象理论的介绍和复杂公式的推导。对各种数据结构均从实际出发,通过对实例的分析,使学生理解数据结构的基本概念。
考虑到研究生入学考试和其他考试的需要,本书在每章后面带有适量的习题,并配有习题参考答案,方便学生自学参考。另外,与本书配套的多媒体教学课件、实验指导、习题参考答案均可从中国农业大学出版社网站下载,也可与作者联系,联系方式:yuqiangshi@163.com。
本书由石玉强、闫大顺任主编,孙永新、吴志芳、王俊红、曾宪贵、邹莹、王潇、张世龙任副主编。本书第1章由张世龙、史婷婷编写,第2章由石玉强编写,第3章由闫大顺编写,第4章由邹莹、孙永新、王潇编写,第5章由吴志芳编写,第6章由王俊红编写,第7章由顾春琴编写,第8章由曾宪贵编写,全书由石玉强、闫大顺统一编排定稿。
参加本书编写的还有刘磊安、杨灵、黄裕锋、符志强、李晟、冯大春、赵爱芹、罗慧慧、黄洪波、杜淑琴、刘佳、张垒、连剑波、郭世仁、陈勇、郑建华、贺超波、成筠、杨继臣、吴霆、杨现丽等,他们对书稿提出了宝贵的意见,在此一并表示忠心的感谢!
由于作者水平有限,书中难免会有不足和错误之处,敬请广大读者批评指正。
第1章 绪论
1.1 数据结构的研究内容
1.2 基本概念和术语
1.2.1 数据、数据元素、数据项和数据对象
1.2.2 数据结构
1.2.3 数据类型和抽象数据类型
1.3 算法和算法分析
1.3.1 算法的定义及特性
1.3.2 算法评价的基本标准
1.3.3 算法的时间复杂度
1.3.4 算法的空间复杂度
小结
习题1
第2章 线性表
2.1 线性表的类型定义
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型描述
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储表示
2.2.2 顺序表中基本运算的实现
2.2.3 顺序表的特点
2.2.4 案例分析与实现
2.3 线性表的链式存储结构
2.3.1 线性表的链式存储表示
2.3.2 线性表基本运算在单链表中的实现
2.3.3 循环链表
2.3.4 双向链表
2.3.5 静态链表
2.3.6 案例分析
小结
习题2
第3章 栈和队列
3.1 栈和队列的定义和特点
3.1.1 栈的定义和特点
3.1.2 队列的定义和特点
3.2 栈的表示和操作实现
3.2.1 栈的抽象类型定义
3.2.2 顺序栈的表示和实现
3.2.3 链栈的表示和实现
3.2.4 案例分析与实现
3.3 栈与递归
3.3.1 采用递归算法解决的问题
3.3.2 递归过程与递归工作栈
3.3.3 递归算法的效率分析
3.3.4 将递归转换为非递归的方法
3.4 队列的表示和操作实现
3.4.1 队列的抽象类型定义
3.4.2 循环队列——队列的顺序表示和实现
3.4.3 链队——队列的链式表示和实现
3.4.4 其他队列
3.5 典型栈和队列案例分析与实现
3.5.1 栈的典型案例
3.5.2 队列的典型案例
小结
习题3
第4章 串、数组和广义表
4.1 串的定义
4.1.1 串的定义
4.1.2 串的抽象数据类型描述
4.2 串的存储结构及其运算
4.2.1 串的定长顺序存储结构
4.2.2 串的堆分配存储结构
4.2.3 串的块链存储结构
4.2.4 串的模式匹配算法
4.3 数组
4.3.1 数组的类型定义
4.3.2 数组的顺序存储
4.3.3 特殊矩阵的压缩存储
4.4 广义表
……
第5章 树和二叉树
第6章 图
第7章 查找
第8章 排序
附录A C语言常用语法提要
附录B C语言常用库函数
附录C 实验报告模板
参考文献