首页 > 图书中心 >图书详情

数据结构——从概念到C++实现(第3版)

“十二五”普通高等教育本科国家级规划教材,将数据结构、算法设计和程序实现有机融合在一起,提供丰富的融媒体资源。配套资源咨询请加QQ:2301891038(仅限教师)

作者:王红梅 王慧 王新颖
定价:45
印次:3-3
ISBN:9787302505761
出版日期:2019.05.01
印刷日期:2019.07.19

数据结构是计算机及相关专业的核心课程,也是计算机及相关专业硕士研究生入学考试的必考科目,而且是理工专业的热门公选课程。本书介绍数据结构、算法以及抽象数据类型的概念;介绍线性表、栈和队列、字符串和多维数组、树和二叉树、图等常用数据结构;讨论查找和排序技术。本书合理规划教学内容,梳理知识单元及其拓扑结构,兼顾概念层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用,在提炼基础知识的同时,进行适当的扩展和提高。 本书内容丰富,层次清晰,深入浅出,结合实例,可作为高等学校计算机及相关专业数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员参考和阅读。

more >

前言数据结构是计算机及相关专业的核心课程,也是计算机及相关专业硕士研究生入学考试的必考科目,而且是理工专业的热门公选课程。作为程序设计的重要补充和延伸,数据结构所讨论的知识内容、蕴含的技术方法、体现的思维方式,无论进一步学习计算机专业的其他课程,还是从事计算机领域的各项工作,都有着不可替代的作用。 数据结构课程的知识丰富,内容抽象,隐藏在各知识单元的概念和方法较多,贯穿于各知识单元的链表和递归更是加重了学习难度。笔者长期从事数据结构的研究和教学,深切理解学生在学习数据结构过程中遇到的问题和困惑,深入探究掌握数据结构的有效途径和方法,深刻思考数据结构对培养程序设计和计算思维的地位和作用,深度把握课程的教学目标和重点难点。本书第1版于2005年7月出版,第2版于2011年6月出版,国内有超过100所院校将本书作为主讲教材,第3版在体例和主要内容保持不变的基础上,在教学内容和教学设计等方面进行了如下处理。 ① 合理规划教学内容。紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。 ② 遵循认知规律,厘清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划各知识单元及其拓扑结构,设计清晰的教学主线。知识单元及其拓扑结构如图1所示。 ③ 提炼基础知识,适当扩展提高。考虑到不同学校教学要求的差异以及不同学生学习需求的差别,一方面本着“够用、实用”的原则,抓牢核心概念,提炼基础性知识,贯彻数据结构课程的基本教学要求;另一方面对某些知识点进行适当的扩充和提高(图1中打星号部分),这部分内容可用于选讲,也可用于学生自学或课外阅读(教学建议: 目录中打一个星号的可用于选讲,打两个星号的可用于课外阅读,其他是必讲的基础知识)。数据结构——从概念到C++实现(第3版)前言 ④ 兼顾概念层和实现层。从抽象数据类型的角度将数据结构的实现过程分为抽象层、设计层和实现层,其中抽象层定义数据结构和基本操作集合,设计层是数据结构的存储表示和算法设计,实现层用C++语言实现数据结构,既强调了数据结构的基本概念和原理方法,又注重了数据结构的程序实现和实际运用。 ⑤ 展现求解过程,培养计算思维。通过讲思路、讲过程、讲方法,按照“问题→想法→算法→程序”的模式进行问题求解,采用“阐述基本思想→伪代码描述算法→C++语言实现算法”的模式进行算法设计与实现,这个过程正是计算思维的运用过程。每章通过两个应用实例展示了问题求解过程以及算法设计过程。 ⑥ 明确重点,化解难点。每一章开篇即给出该章的重点难点,以及各知识点的教学要求,在具体阐述时提供针对性的处理方法。针对数据结构内容抽象的特点,全书设计了大量插图,将抽象内容进行了具体化处理,降低了理解问题的复杂性。 总之,本书在概念的描述、实例的选择、知识的前后衔接、内容的组织结构,以及教学内容的理解、教学目标的实现、教学意图的融入、教学方法的运用等方面进行了系统思考和统筹设计,力图通过本书为读者构建多层次的知识体系。在问题求解层面,以数据表示和数据处理为主线,给出“问题→想法→算法→程序”的思维模式;在算法设计层面,通过伪代码描述算法,强调计算思维的培养;在算法分析层面,理解什么是“好”算法,给出算法分析的基本方法;在存储结构层面,通过存储示意图理解数据表示,再给出存储结构定义;在程序实现层面,给出所有数据结构的C++程序实现以及使用范例;在数据结构和算法的运用层面,通过应用实例理解如何为求解问题设计适当的数据结构,如何基于数据结构设计算法,从而将数据结构、算法和程序设计有机地融合在一起。 参加本书编写的还有王涛、党源源、肖巍、刘冰等,2015级本科生陈圣、陈甲旺、房子龙同学参与了本书的代码调试工作,所有代码均在DevC++ 5.8.1、Code::Blocks 1601、Cfree 5.0编程环境下调试通过。本书采用C++11标准,具体变化是: ①用nullptr取代NULL; ②定义模板时,用typename取代class; ③定义对象变量时,用花括号{}取代圆括号()。本书程序源代码均以二维码形式提供,使用前请阅读readme(二维码)。 由于作者的知识和写作水平有限,书稿虽再三斟酌几经修改,仍难免有缺点,欢迎专家和读者批评指正。作者的电子邮箱是: wanghm@ccut.edu.cn。 作者 2019年2月

more >
扫描二维码
下载APP了解更多

同系列产品more >

程序设计基础(C语言版)

徐正芹、赵文栋、彭来献
定 价:39元

查看详情
数据结构--从概念到Java实现

王红梅、党源源、刘冰
定 价:49元

查看详情
C语言程序设计(第3版)

马靖善 秦玉平 主 编 冯
定 价:39.80元

查看详情
C语言程序设计(第3版)学习与实验...

秦玉平 马靖善 王丽君
定 价:39元

查看详情
C语言程序设计及应用教程

郭鹏 、康元元、孙宏强
定 价:39元

查看详情
图书分类全部图书
more >
  • 1. 合理规划教学内容。紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。
    2. 遵循认知规律,理清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划了各知识单元及其拓扑结构。
    3. 提炼基础知识,适当扩展提高。抓牢核心概念,贯彻数据结构课程的基本教学要求,同时对某些知识点进行了适当的扩充和提高。
    4. 兼顾概念层和实现层。将数据结构的实现过程分为抽象层、设计层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用。
    5. 展现求解过程,培养计算思维。按照“问题想法算法程序”的模式进行问题求解,采用“阐述基本思想→伪代码描述算法→C++语言实现算法”的模式进行算法设计。
    6. 明确重点,化解难点。给出每一章的重点难点、各知识点的教学要求,以及有效的处理方法。针对数据结构内容抽象的特点,设计大量图解降低了理解问题的复杂性。

  • 1. 合理规划教学内容。紧扣《高等学校计算机专业核心课程教学实施方案》和《计算机学科硕士研究生入学考试大纲》,涵盖教学方案及考研大纲要求的全部知识点。
    2. 遵循认知规律,理清教学主线。根据学生的认知规律和课程的知识结构,按照从已知到未知的思维进程逐步推进教学内容,梳理和规划了各知识单元及其拓扑结构。
    3. 提炼基础知识,适当扩展提高。抓牢核心概念,贯彻数据结构课程的基本教学要求,同时对某些知识点进行了适当的扩充和提高。
    4. 兼顾概念层和实现层。将数据结构的实现过程分为抽象层、设计层和实现层,既强调数据结构的基本概念和原理方法,又注重数据结构的程序实现和实际运用。
    5. 展现求解过程,培养计算思维。按照“问题想法算法程序”的模式进行问题求解,采用“阐述基本思想→伪代码描述算法→C++语言实现算法”的模式进行算法设计。
    6. 明确重点,化解难点。给出每一章的重点难点、各知识点的教学要求,以及有效的处理方法。针对数据结构内容抽象的特点,设计大量图解降低了理解问题的复杂性。

more >
  • 目录第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

    思想火花——好算法是反复努力和重新修...

版本展示

精彩书评more >

标题

评论

版权所有(C)2019 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802013248号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘