





定价:58元
印次:3-13
ISBN:9787302505761
出版日期:2019.05.01
印刷日期:2024.07.04
图书责编:袁勤勇
图书分类:教材
数据结构是计算机及相关专业的核心课程,也是计算机及相关专业硕士研究生入学考试的必考科目,而且是理工专业的热门公选课程。本书介绍数据结构、算法以及抽象数据类型的概念;介绍线性表、栈和队列、字符串和多维数组、树和二叉树、图等常用数据结构;讨论查找和排序技术。本书合理规划教学内容,梳理知识单元及其拓扑结构,兼顾概念层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用,在提炼基础知识的同时,进行适当的扩展和提高。 本书内容丰富,层次清晰,深入浅出,结合实例,可作为高等学校计算机及相关专业数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员参考和阅读。
1. 合理规划教学内容。紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。2. 遵循认知规律,理清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划了各知识单元及其拓扑结构。3. 提炼基础知识,适当扩展提高。抓牢核心概念,贯彻数据结构课程的基本教学要求,同时对某些知识点进行了适当的扩充和提高。4. 兼顾概念层和实现层。将数据结构的实现过程分为抽象层、设计层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用。5. 展现求解过程,培养计算思维。按照“问题想法算法程序”的模式进行问题求解,采用“阐述基本思想→伪代码描述算法→C++语言实现算法”的模式进行算法设计。6. 明确重点,化解难点。给出每一章的重点难点、各知识点的教学要求,以及有效的处理方法。针对数据结构内容抽象的特点,设计大量图解降低了理解问题的复杂性。
前言数据结构是计算机及相关专业的核心课程,也是计算机及相关专业硕士研究生入学考试的必考科目,而且是理工专业的热门公选课程。作为程序设计的重要补充和延伸,数据结构所讨论的知识内容、蕴含的技术方法、体现的思维方式,无论进一步学习计算机专业的其他课程,还是从事计算机领域的各项工作,都有着不可替代的作用。 数据结构课程的知识丰富,内容抽象,隐藏在各知识单元的概念和方法较多,贯穿于各知识单元的链表和递归更是加重了学习难度。笔者长期从事数据结构的研究和教学,深切理解学生在学习数据结构过程中遇到的问题和困惑,深入探究掌握数据结构的有效途径和方法,深刻思考数据结构对培养程序设计和计算思维的地位和作用,深度把握课程的教学目标和重点难点。本书第1版于2005年7月出版,第2版于2011年6月出版,国内有超过100所院校将本书作为主讲教材,第3版在体例和主要内容保持不变的基础上,在教学内容和教学设计等方面进行了如下处理。 ① 合理规划教学内容。紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。 ② 遵循认知规律,厘清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划各知识单元及其拓扑结构,设计清晰的教学主线。知识单元及其拓扑结构如图1所示。 ③ 提炼基础知识,适当扩展提高。考虑到不同学校教学要求的差异以及不同学生学习需求的差别,一方面本着“够用、实用”的原则,抓牢核心概念,提炼基础性知识,贯彻数据结构课程的基本教学要求;另一方面对某些知识点进行适当的扩充和提高(图1中...
1.1问题求解与程序设计2
1.1.1程序设计的一般过程2
1.1.2数据结构在程序设计中的作用5
1.1.3算法在程序设计中的作用6
1.1.4本书讨论的主要内容7
1.2数据结构的基本概念9
1.2.1数据结构9
1.2.2抽象数据类型11
1.3算法的基本概念13
1.3.1算法及算法的特性13
1.3.2算法的描述方法14
1.4算法分析16
1.4.1算法的时间复杂度16
1.4.2算法的空间复杂度18
1.4.3算法分析举例18
1.5扩展与提高21
1.5.1从数据到大数据21
1.5.2算法分析的其他渐进符号22
思想火花——概率算法23
习题124
第2章线性表27
2.1引言28
2.2线性表的逻辑结构29
2.2.1线性表的定义29数据结构——从概念到C++实现(第3版)目录2.2.2线性表的抽象数据类型定义30
2.3线性表的顺序存储结构及实现31
2.3.1顺序表的存储结构31
2.3.2顺序表的实现32
2.3.3顺序表的使用37
2.4线性表的链接存储结构及实现38
2.4.1单链表的存储结构38
2.4.2单链表的实现40
2.4.3单链表的使用48
2.4.4双链表49
2.4.5循环链表50
2.5顺序表和链表的比较51
2.6扩展与提高52
2.6.1线性表的静态链表存储52
2.6.2顺序表的动态分配方式54
2.7应用实例56
2.7.1约瑟夫环问题56
2.7.2一元多项式求和59
思想火花——好算法是反复努力和重新修...
2. 遵循认知规律,理清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划了各知识单元及其拓扑结构。
3. 提炼基础知识,适当扩展提高。抓牢核心概念,贯彻数据结构课程的基本教学要求,同时对某些知识点进行了适当的扩充和提高。
4. 兼顾概念层和实现层。将数据结构的实现过程分为抽象层、设计层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用。
5. 展现求解过程,培养计算思维。按照“问题想法算法程序”的模式进行问题求解,采用“阐述基本思想→伪代码描述算法→C++语言实现算法”的模式进行算法设计。
6. 明确重点,化解难点。给出每一章的重点难点、各知识点的教学要求,以及有效的处理方法。针对数据结构内容抽象的特点,设计大量图解降低了理解问题的复杂性。