新書推薦:
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:NT$
203.0
《
甲骨拼合六集
》
售價:NT$
1520.0
《
视觉美食家:商业摄影实战与创意解析
》
售價:NT$
602.0
《
中国经济发展的新阶段:机会与选择
》
售價:NT$
454.0
《
DK月季玫瑰百科
》
售價:NT$
959.0
《
为你想要的生活
》
售價:NT$
301.0
《
关键改变:如何实现自我蜕变
》
售價:NT$
352.0
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:NT$
454.0
|
編輯推薦: |
本书配有丰富的微课资源,内容讲解生动有趣。
|
內容簡介: |
本书涵盖了数据结构的主要内容,具体介绍了线性表、栈和队列、串、数组和广义表、递归、树、图等常用数据结构及递归思想,讨论了常用的排序和查找两种基本操作,重点介绍了不同数据结构在不同存储结构下基本运算的算法实现,并给出了经典应用实例。本书遵循理论够用的原则,重实践,重实用;每章开始列出内容的重点和难点,每章末有知识巩固和实训演练,其中实训演练给出了验证性实验、设计性实验和综合性实验3种不同类型的实验,供学生进行实践;除第1章外,每章介绍完基本内容后,都通过一些经典应用实例帮助学生巩固已学知识。本书适合作为高等学校计算机专业及相关专业的教材,也可作为编程爱好者的自学参考用书。?
|
關於作者: |
徐新爱,1973年10月生,女,教授,江西省中青年骨干教师,南昌师范学院数学与计算机科学系副主任。从事数据挖掘大数据分析研究、高校教龄21年。省级精品课程负责人,校级数据挖掘团队负责人,校级首届青蓝名师认定对象。兼任江西省计算机学会理事,全国高师数学教育研究会小教培养工作委员会工委委员。近年来,主持并参与完成省教育规划重点课题等科研课题30余项,教育部产学合作协同育人项目2项,教育部大学生创新创业训练项目1项;主编并参与编写教材10余部;发表论文30余篇;获江西省高校优秀教材二等奖1项,江西省优秀教学成果一等奖1项,省级多媒体课件评比三等奖1项等;校级多媒体课件评比1等奖,教学成果二等奖1项,优秀教材一等奖1项,二等奖1项;指导学生参加蓝桥杯、大数据技能、软件设计、师范生技能赛获一等奖20多项;软件著作权3项。获学校优秀共产党员、优秀教师、科研先进个人、师德先进个人等荣誉称号。主讲课程包括有《C语言程序设计》、《编译原理》、《大数据可视化》和《数据结构》等。万里勇,男,汉族,中南大学计算机科学与技术专业硕士,江西师范大学管理科学与工程博士研究生(在读)、教育部高等学校青年骨干国内访问学者(浙江大学),副教授。数据库系统工程师、物联网系统认证讲师、深度学习开发与应用工程师,南昌工学院物联网工程专业负责人,中国计算机学会会员、国际电子电气工程师协会-计算机学会会员、江西省人工智能专业技术委员会委员、第九届高级数据挖掘与应用国际学术会议(ADMA 2013)大会出版主席、南昌市智能楼宇网络工程重点实验室成员,江西省智能楼宇网络重点实验室培育基地项目成员、2018年国家精品在线开放课程《电子线路仿真设计与实验实例》团队成员。 先后荣获省(部)级、校级优秀指导教师、优秀教师、优秀共产党员和科研先进个人等荣誉称号20余项;在《计算机工程》、《计算机系统应用》、《江西科学》期刊和国际三大检索会议发表论文40余篇,其中中文核心论文4篇,EI检索7篇,ISTP检索8篇;主编(参编)计算机类教材4部;参与国家级课题(国家科技支撑项目、国家自然基金项目等)3项、主持(参与)校级以上课题20余项,其中江西省教育厅科学研究技术项目2项、省高校教学课题6项、省高校党建研究课题1项、江西省教育科学十三五规划课题2项;获实用新型专利2项。? 徐新爱,1973年10月生,女,教授,江西省中青年骨干教师,南昌师范学院数学与计算机科学系副主任。从事数据挖掘大数据分析研究、高校教龄21年。省级精品课程负责人,校级数据挖掘团队负责人,校级首届青蓝名师认定对象。兼任江西省计算机学会理事,全国高师数学教育研究会小教培养工作委员会工委委员。近年来,主持并参与完成省教育规划重点课题等科研课题30余项,教育部产学合作协同育人项目2项,教育部大学生创新创业训练项目1项;主编并参与编写教材10余部;发表论文30余篇;获江西省高校优秀教材二等奖1项,江西省优秀教学成果一等奖1项,省级多媒体课件评比三等奖1项等;校级多媒体课件评比1等奖,教学成果二等奖1项,优秀教材一等奖1项,二等奖1项;指导学生参加蓝桥杯、大数据技能、软件设计、师范生技能赛获一等奖20多项;软件著作权3项。获学校优秀共产党员、优秀教师、科研先进个人、师德先进个人等荣誉称号。主讲课程包括有《C语言程序设计》、《编译原理》、《大数据可视化》和《数据结构》等。万里勇,男,汉族,中南大学计算机科学与技术专业硕士,江西师范大学管理科学与工程博士研究生(在读)、教育部高等学校青年骨干国内访问学者(浙江大学),副教授。数据库系统工程师、物联网系统认证讲师、深度学习开发与应用工程师,南昌工学院物联网工程专业负责人,中国计算机学会会员、国际电子电气工程师协会-计算机学会会员、江西省人工智能专业技术委员会委员、第九届高级数据挖掘与应用国际学术会议(ADMA 2013)大会出版主席、南昌市智能楼宇网络工程重点实验室成员,江西省智能楼宇网络重点实验室培育基地项目成员、2018年国家精品在线开放课程《电子线路仿真设计与实验实例》团队成员。 先后荣获省(部)级、校级优秀指导教师、优秀教师、优秀共产党员和科研先进个人等荣誉称号20余项;在《计算机工程》、《计算机系统应用》、《江西科学》期刊和国际三大检索会议发表论文40余篇,其中中文核心论文4篇,EI检索7篇,ISTP检索8篇;主编(参编)计算机类教材4部;参与国家级课题(国家科技支撑项目、国家自然基金项目等)3项、主持(参与)校级以上课题20余项,其中江西省教育厅科学研究技术项目2项、省高校教学课题6项、省高校党建研究课题1项、江西省教育科学十三五规划课题2项;获实用新型专利2项。?
|
目錄:
|
第1章 绪论 1
1.1 数据结构概述 1
1.1.1 基本概念 1
1.1.2 数据结构的定义 2
1.2 算法及其描述 8
1.2.1 算法的概念 8
1.2.2 算法描述 9
1.3 算法分析 11
1.3.1 时间复杂度 12
1.3.2 空间复杂度 14
小结 14
知识巩固 14
实训演练 15
第2章 线性表 16
2.1 线性表的定义及基本运算 16
2.1.1 线性表的定义 16
2.1.2 线性表的基本运算 17
2.2 线性表的顺序存储结构及其基本运算的实现 18
2.2.1 线性表的顺序存储结构 18
2.2.2 顺序表基本运算的实现 19
2.3 线性表的链式存储结构及其基本运算的实现 23
2.3.1 单链表 24
2.3.2 双向链表 29
2.3.3 循环单链表 32
2.3.4 循环双向链表 33
2.3.5 顺序表与链表的比较 35
2.4 经典应用实例 36
2.4.1 约瑟夫问题 36
2.4.2 多项式求和 41
小结 46
知识巩固 46
实训演练 48
第3章 栈和队列 50
3.1 栈的定义及基本运算 50
3.1.1 栈的定义 50
3.1.2 栈的基本运算 51
3.2 栈的顺序存储结构及其基本运算的实现 51
3.2.1 栈的顺序存储结构 52
3.2.2 栈的基本运算在顺序栈上的实现 52
3.2.3 栈在递归中的应用 54
3.3 栈的链式存储结构及其基本运算的实现 56
3.3.1 栈的链式存储结构 56
3.3.2 栈的基本运算在链栈上的实现 56
3.4 栈的经典应用实例 57
3.4.1 数制转换 57
3.4.2 表达式求值 59
3.5 队列的定义及基本运算 66
3.5.1 队列的定义 66
3.5.2 队列的基本运算 67
3.6 队列的顺序存储结构及其基本运算的实现 67
3.6.1 队列的顺序存储结构 67
3.6.2 顺序队列基本运算的实现 68
3.6.3 循环队列 69
3.7 队列的链式存储结构及其基本运算的实现 71
3.7.1 队列的链式存储结构 71
3.7.2 链式队列基本运算的实现 71
3.8 队列的经典应用实例 73
3.8.1 迷宫问题 73
3.8.2 模拟就诊过程 78
小结 81
知识巩固 81
实训演练 84
第4章 串 86
4.1 串的概念与操作 86
4.1.1 串的概念 86
4.1.2 串的操作 87
4.2 串的顺序存储结构及其基本运算的实现 88
4.2.1 串的顺序存储结构 88
4.2.2 顺序串基本运算的实现 88
4.2.3 常用的字符串处理函数 90
4.3 串的链式存储结构及其基本运算的实现 92
4.3.1 串的链式存储结构 92
4.3.2 链串基本运算的实现 93
4.4 经典应用实例 96
4.4.1 测试串的基本操作 96
4.4.2 模式匹配 102
小结 105
知识巩固 105
实训演练 107
第5章 数组和广义表 109
5.1 数组 109
5.1.1 数组的基本概念 109
5.1.2 数组的存储结构 110
5.2 特殊矩阵的压缩存储 112
5.2.1 三角矩阵 112
5.2.2 对称矩阵 113
5.2.3 带状矩阵 114
5.2.4 稀疏矩阵 114
5.3 广义表 117
5.3.1 广义表的概念 117
5.3.2 广义表的存储结构 118
5.3.3 广义表的运算 119
5.4 经典应用实例 119
5.4.1 矩阵鞍点 120
5.4.2 稀疏矩阵相加 122
小结 126
知识巩固 126
实训演练 127
第6章 递归 128
6.1 递归 128
6.1.1 递归的定义 128
6.1.2 递归的使用 129
6.2 递归算法的设计 130
6.2.1 递归模型的建立 130
6.2.2 递归算法的设计 131
6.2.3 递归算法的性能分析 132
6.3 递归和栈 132
6.3.1 递归调用与栈 132
6.3.2 递归到非递归的转换 133
6.4 经典应用实例 134
|
內容試閱:
|
数据结构是计算机学科各个专业的一门专业基础课程,旨在培养学生在软件设计领域的科学思维方式,以及程序设计能力与程序调试能力。同时,它也是软件设计师认证和计算机专业研究生入学考试的首选课程。该课程的重点是数据的逻辑结构、物理结构及其各种操作的算法实现和应用。但是,由于这门课程自身的特点,学生普遍反映理论难懂,实践复杂。针对这种情况,编者编写了本书,希望能将理论和实践有机结合,帮助学生轻松地掌握数据结构中的主要内容。本书对读者的技术背景要求比较低,比较容易上手,只要学过一门高级编程语言,例如C、C、Java、C#等,就可以开始学习本书的内容。
本书的主要特色如下:
1.重实践、重实用
重实践,描述算法时用已经学过的CC语言函数,学生只做简单转换,就能上机调试,验证算法的正确性,并分析算法;重实用,尽可能介绍算法在日常生活中的用途,让学生觉得算法有用,从而提高学习兴趣。
2.经典应用实例
除第1章外,每章基本内容介绍完成后,都安排了一节专门介绍经典应用实例。在这一节中,主要安排一些日常生活方面的实例,实例中用到了这一章介绍的数据结构,并详细介绍如何用数据结构的思维解决问题,采取问题描述数据结构分析实体模拟算法实现的思路。
3.知识巩固和实训演练
每章结束后,根据所讲内容,设置了知识巩固和实训演练。知识巩固有加强理解概念的填空题、选择题,还有帮助理解算法思想的简答题和算法应用题。实训演练为培养算法设计能力的验证性实验、设计性实验和综合性实验,学生按照层级要求针对性完成。
4.重点和难点
每章详细介绍内容之前,列出了本章的重点和难点,为学生学习知识提供了方向性参考。
5.微课视频
每章节针对容易出错和较难问题提供了微课视频,供学生课前预习和课后复习,可反复回看。
6.计算思维
通过本课程的学习,学生掌握数据结构相关的基础知识和基本技能,了解这些知识与技能在实践中的应用,使学生学会如何把现实世界的问题转化为计算机表示和处理,学会组织数据,选择合适的存储结构,培养较强的计算思维能力。
本书由多年从事数据结构教学的教师编写,是他们集体智慧和经验的结晶。本书由徐新爱、万里勇任主编,刘日华、胡佳、卢昕、朱莹婷任副主编。其中:万里勇、刘日华和胡佳、卢昕负责编写第3、5、10章,朱莹婷负责编写第6章,其他章节由徐新爱负责编写,全书由徐新爱统一组稿和改稿。书中所有算法都在VC6.0环境下调试通过。
本书在编写与出版过程中,得到中国铁道出版社有限公司的领导和编辑的指导和帮助,在此表示衷心的感谢!同时,对教材中引用和参考的文献资料的作者一并致谢。
本书建议授课64课时,理论课和实践课各32课时。
在本书编写和实践过程中,编者做了大量的努力,但由于时间紧迫,编者水平有限,书中难免存在疏漏和不足之处,真诚地欢迎各位专家和广大读者提出宝贵的意见和建议。
编 者
2020年5月
|
|