新書推薦:
《
大宋悬疑录:貔貅刑
》
售價:NT$
340.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
东野圭吾:分身(东野圭吾无法再现的双女主之作 奇绝瑰丽、残忍又温情)
》
售價:NT$
295.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
|
編輯推薦: |
本书配套全部项目的知识点微课和实训项目源代码,同时提供PPT、教学大纲、思维导图等教学资源。
|
內容簡介: |
本书系统、全面地讲解了数据结构与算法的主要内容,用项目化教学的形式介绍了线性表、栈、队列、字符串、数组与矩阵、树、图、查找算法及排序算法。对于每一种类型的数据结构,都详细阐述了基本概念、各种不同的存储结构和不同存储结构上一些主要操作的算法,并给出完整的Java代码,每个重要算法还设计了动手实践环节,让读者更牢固地掌握和运用知识点解决实际问题,最后用项目实现的方式介绍了数据结构及算法的实际应用。 本书可作为应用型本科、高职高专、成人高校计算机相关专业课程的教材,也可作为各类培训班、计算机从业人员和爱好者的参考用书。
|
關於作者: |
唐懿芳,工学博士,教授,校“教学名师”,学院教授(学术)委员会主任,主持建设广东省精品开放课程“数据结构与算法”。
|
目錄:
|
绪论
习题
模块1线性表——排队叫号器
1.1项目描述
1.2相关知识
1.2.1线性表的定义
1.2.2线性表的基本运算
1.2.3顺序表
1.2.4链表
1.2.5循环链表和双向链表
1.3项目实现
任务1限制队长的排队叫号器
任务2不限制队长的排队叫号器
1.4小结
1.5习题
模块2栈——歌曲播放器
2.1项目描述
2.2相关知识
2.2.1栈的定义
2.2.2栈的基本运算
2.2.3顺序栈
2.2.4链栈
2.3项目实现
任务1限制曲数的歌曲播放器
任务2不限制曲数的歌曲播放器
2.4小结
2.5习题
模块3队列——医院排队叫号系统
3.1项目描述
3.2相关知识
3.2.1队列的定义
3.2.2队列的基本运算
3.2.3顺序队列
3.2.4循环队列
3.2.5链式队列
3.3项目实现
任务1用循环队列实现排队叫号器
任务2用链式队列实现排队叫号器
3.4小结
3.5习题
模块4字符串——身份证信息的提取
4.1项目描述
4.2相关知识
4.2.1串的定义
4.2.2串的基本运算
4.2.3顺序串
4.2.4串的模式匹配算法
4.2.5链表串
4.3项目实现
4.4小结
4.5习题
模块5数组与矩阵——图片压缩小软件
5.1项目描述
5.2相关知识
5.2.1数组的定义
5.2.2数组的顺序存储结构
5.2.3特殊矩阵的压缩存储
5.2.4稀疏矩阵
5.3项目实现
5.4小结
5.5习题
模块6树——哈夫曼编码
6.1项目描述
6.2相关知识
6.2.1一般树
6.2.2二叉树
6.2.3二叉树的遍历
6.2.4树、森林与二叉树的转换
6.2.5二叉树的应用——哈夫曼树
6.3项目实现
6.4小结
6.5习题
模块7图——最短地铁乘坐线路小软件
7.1项目描述
7.2相关知识
7.2.1图的基本概念
7.2.2图的存储结构
7.2.3图的遍历
7.2.4最小生成树
7.2.5最短路径
7.2.6拓扑排序
7.3项目实现
7.4小结
7.5习题
模块8查找算法——查找书籍小软件
8.1项目描述
8.2相关知识
8.2.1静态查找
8.2.2动态查找
8.2.3哈希表的查找
8.3项目实现
8.4小结
8.5习题
模块9排序算法——排序小软件
9.1项目描述
9.2相关知识
9.2.1插入排序
9.2.2交换排序
9.2.3选择排序
9.2.5动手实践
9.2.6基数排序
9.3项目实现
9.4小结
9.5习题
参考文献
|
內容試閱:
|
一、 教材背景
课程组负责的 “数据结构与算法”被评为2015年广东省精品在线开放课程(粤教高函〔2016〕135号),本课程也是2019年国家“双高计划”专业群建设项目(教职成函〔2019〕14号)的专业核心课程。
本书与广东省精品在线开放课程配套,参考了国际上一些相关的专著和多本国内同类教材,结合全体参编教师多年的教学经验和实际教学条件编撰而成。本书注重教学活动的设计,包括技能目标、思维导图、项目描述、相关知识、项目实现、习题等环节。全书提供丰富的教学学习资源,可供学生、企业人员和社会学习者参考、学习和使用。教学资源包括课程标准、考核方案、源代码、拓展项目、演示文稿等。
二、 教材结构
本书包括绪论和9个模块内容。
(1) 绪论。这是数据结构学习的入门部分,主要讲述学习数据结构课程的意义、数据结构的相关内容、算法的知识,为后续项目的展开做好知识的积累和铺垫。
(2) 项目化教学。模块1到模块9为项目化教学内容,都引入一个项目,按照项目开发的逻辑关系开展教学工作,所讨论的内容包括: 线性表、栈、队列、字符串、数组与矩阵、树、图、查找算法及排序算法。其中,线性表、栈、队列、字符串、数组与矩阵属于线性结构,树和图是非线性结构,查找算法和排序算法是应用广泛的算法。
9个模块具体如下。
模块1介绍排队叫号器,用线性表结构实现。
模块2介绍歌曲播放器,用堆栈结构实现。
模块3介绍医院排队叫号系统,用队列结构实现。
模块4介绍身份证信息的提取,用字符串结构实现。
模块5介绍图片压缩小软件,用矩阵结构的压缩存储实现。
模块6介绍哈夫曼编码,用树结构实现。
模块7介绍最短地铁乘坐线路小软件,用图结构实现。
模块8介绍查找书籍小软件,用查找算法实现。
模块9介绍成绩排序小软件,用排序算法实现。
每个模块实现的项目按照功能描述→设计思路→相关知识→项目实现等多个环节展开。功能描述用于理解项目的具体功能需求; 设计思路描述项目实施的具体方法; 相关知识是项目成功实现要掌握的知识点; 动手实践是为了巩固这些知识点设计的实训内容; 项目实现是具体的代码。
三、 教材特色
本书依据课程需求,确立了“以项目为背景,以知识为主线,以提高能力和兴趣为目的,全面提升技能水平和职业素养”的设计理念。本书特色为: 项目式驱动、信息化教学、激发学习兴趣。
(1) 项目式驱动。课程组教师和企业人员设计了9个生活中的小场景,用数据结构的知识解决问题,使读者对所学的知识融会贯通,能学懂会用。
(2) 信息化教学。借助超星平台,配备了多种形式的教学资源,网站上设有闯关模式,激发学生的自主学习意识,课堂教学向以学生为中心的信息化课堂转变。
(3) 激发学习兴趣。本书配套有提供源代码和微课视频等多种资源,教学内容包括技能目标、项目描述、项目实施等环节,让教与学融为一体,激发学生的求知欲望,提高学生的学习兴趣。
四、 课程资源
为了方便教师教学及学生自学,本书配有微课、动画、电子课件、源代码、习题答案等相关资源,请联系编者或者访问清华大学出版社相关网站下载,如有问题可与清华大学出版社联系。
五、 致谢
本书的编写出版是本课程全体教学人员集体智慧的结晶。统稿过程正值新春佳节,课程组同人们加班加点,按质按量完成了项目化教材的再版修订工作,并增加了微课视频。
课程组与合作企业珠海新安捷信息技术有限公司项目经理席冯彦参与了所有项目的编码工作,同时对全书的实例和知识点的选择提出了很好的建议。
同时也向支持和参与本书编写工作的所有老师和同事表示感谢!
搁笔的一刹那,感慨良多。数据结构是程序的灵魂,讲好这门课程,让学生学懂弄通“数据结构与算法”,是我们的初衷和追求。尽管课程组老师在写作过程中非常的认真和努力,也对内容的组织、案例的选用以及项目化教学的融入做了充分的准备,但仍深感道长且阻,希望读者朋友们向我们多提宝贵建议,对错误不吝指正,我们感激不尽!
编者2022年2月
|
|