





定价:59元
印次:1-4
ISBN:9787302603351
出版日期:2022.06.01
印刷日期:2025.06.05
图书责编:董柳吟
图书分类:教材
数据结构是计算机专业的核心基础课程之一,在计算机及相关专业教学中占有十分重要的地位,也是其他理工类专业的重要选修课程。本书主要介绍线性表、树和图三种重要的基本数据结构,以及如何应用这些基本数据结构解决实际问题,在此基础上穿插讲解了一些在计算机发展史上做出重要贡献的经典算法,并以查找和排序为专题介绍了这两类算法。 本书既具有较强的理论性,又注重实际动手能力的培养,提供了丰富的图例和大量接近可执行版本的代码样例。通过阅读和学习,读者将了解数据对象的特性,掌握数据的逻辑结构与存储结构,初步具备数据组织和算法设计能力,从而提高学生的程序设计技能,为后续课程的学习和科研工作的参与打下良好的基础。 本书面向普通高等学校计算机及相关专业已经完成C++程序设计课程学习的本科生,也适用于其他理工类专业有学习数据结构需求的本科生和希望强化专业基础知识进入信息行业的非计算机专业学生阅读,还可作为计算机行业软硬件开发人员的参考书。
慕晨,男,博士,长安大学信息工程学院副教授,计算机科学系主任,国家级一流专业“计算机科学与技术”负责人。2009年博士毕业于西安交通大学。负责计算机科学与技术国家级一流专业、卓越工程师,以及留学生班的申报、教学实施和教学改革工作。承担计算机科学与技术及卓越工程师的“数据结构”课程的本科生教学工作约10年20余次,同时还承担“数据结构”留学生英文课程的教学工作,对数据结构课程的教学内容和教学方法有深刻的理解,在教学中实施了多项教学组织、评价等方面的改革。
前言 “数据结构”课程是计算机及相关专业的核心课程,主要学习如何将实际工程问题转化为计算机可以描述、存储和解决的问题,并编程实现。该课程理论和实践紧密结合,对学生的综合素质要求较高。教学过程中发现,多数学生对数据结构的理论知识掌握较好,但实际动手编程实现能力不足,运用能力较差; 代码编写较为随意,导致代码晦涩、调试困难,进而影响了学习积极性。针对上述问题,本书以学生为本,以工程应用为导向,具有以下几个特色。 (1) 理论联系实际,引入典型的工程应用问题,分析其中涉及的数据结构,并给出案例的分析过程及代码实现。各个环节紧密衔接,实现了理论和实践的有机结合。 (2) 采用面向对象设计方法,用规范的UML语言对数据结构和算法进行描述,并注重代码风格,便于代码阅读和调试,也为学生毕业后适应公司代码规范化要求打好基础。 (3) 为拉近与学生的距离,激发其学习兴趣,部分内容引入网络流行用语和深入浅出的例子,以轻松诙谐的方式介绍复杂的理论知识。利用二维码方式提供课件和教学视频等资源,将纸质教材和电子资源融为一体,更利于读者对所学知识融会贯通。 (4) 每章后增加了扩展阅读的内容,对章节知识进行一定的拓展,或者介绍科学家的事迹,激发学生的学习兴趣,引导学生对更深、更新层次的知识进行探索。 本书共分为8章,重点介绍线性表、树和图三类基本数据结构,并讲解常用的查找和排序算法,培养学生的算法分析能力。第1章主要介绍数据结构和算法的基本概念,包括数据结构和算法在程序设计中的作用、抽象数据类型、面向对象建模的基本思路、算法描述的常用方法、算法分析的思想和时间复杂度的计算等内容。...
目录
第1章绪论
1.1数据结构的基本概念
1.1.1数据结构的定义与研究对象
1.1.2数据结构在程序设计中的作用
1.1.3逻辑结构与存储结构
1.2抽象数据类型与C++类
1.2.1抽象数据类型的基本概念
1.2.2设计与实现: 无人驾驶汽车
1.3算法与算法分析
1.3.1算法的基本概念
1.3.2算法描述的工具
1.3.3算法评价与渐进复杂度思想
1.3.4算法的复杂度分析
1.4本章小结
本章习题
扩展阅读: 唐纳德·欧文·克努特和他的天书
第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.3.6静态链表
2.4顺序表与链表的比较
2.5可怕的死亡游戏
2.5.1一维数组
2.5.2顺序表
2.5.3循环链表
2.5.4数学建模
2.6本章小结
本章习题
扩展阅读: 复杂系统的计算机仿真方法
目录
数据结构与算法——C++实现(微课视频版)
第3章栈和队列
3.1引言
3.2栈
3.... 查看详情