|
編輯推薦: |
本书应用性较强,集教材、习题、实验和课程设计于一体,一册在手就能方便地进行“数据结构”课程的理论学习和实验、课程设计等实践性环节的训练。
|
內容簡介: |
本书对数据结构的概念和原理进行了阐述,对数据结构的基本运算进行了分析, 并给 出了详细的实现过程。 全书共分 11 章,内容包括: 绪论、 线性表、 队列、 栈、 树和二叉树、 图、 查找、 排序、 串、 多维数组和广义表、 数据结构课程设计等。 本书集教学内容、习题、实验和课程设计于一体, 书中的重要算法均给出了完整的 C/ C 语言源程序, 并全部在 VC 环境中运行通过,一书在手就能方便地进行 “数据结构” 课程的理论学习和实验、 课程设计等实践性环节的训练。?
|
關於作者: |
王中华,任教于上海电机学院电子信息学院,研究领域:计算机软件及计算机应用、互联网技术、自动化技术;主讲课程:面向对象程序设计(C)、数据结构等。陈元春,曾任教于上海电机学院电子信息学院,从事高等教育教学工作近30年。主授课程包括程序设计、数据结构等近20余门;编写过多种教材和教学参考书。
|
內容試閱:
|
本书在第四版的基础上进行了修订,修订后的内容仍由11章组成,但是章节的先后次序有所调整,部分章节的内容有所扩充。第1章绪论介绍了数据结构与算法的基本概念;第2章~第4章依次介绍了线性表、队列、栈等线性结构;第5章和第6章分别介绍了树和图这两种非线性结构;第7章和第8章分别介绍了查找和排序算法的相关概念及一些经典算法的实现;第9章和第10章分别介绍了串、多维数组和广义表的基本概念、定义和实现;第11章仍是数据结构课程设计,课题列表略有更新。
由于生活中的队列比栈更显而易见,学生也更熟悉和易于理解,因此本次改版将队列放置在栈之前,更利于教学内容的承前启后和展开。因为章节内容重要性的不同,以及课时的限制等原因,串、多维数组和广义表等内容,部分学校可能不会安排相应的实验,因此将这些内容安排到了靠后的位置,可以保证学生进行重要内容的实验时,相关章节的理论内容已经讲解过。
本次改版,除了对各章的内容做了一些修订外,重点修改了以下几方面的内容:(1)对书中所有的代码和伪代码,尽可能以纯C语言的语法形式进行描述,加强了本书与先行课程“C语言程序设计”的过渡与衔接。对于引用变量这种C 语法的使用,通过1.5.1节的内容进行了补充和说明。针对部分同学C语言编程尚不熟练的情况,通过1.5节的实验预备知识,对C语言编程环境中可能会遇到的一些细节问题,以及后续实验的程序框架、数据来源等给予了说明。书中可以直接运行的代码称为“程序”,需要稍做修改才能运行的代码称为“伪代码”。虽然部分代码是伪代码,但是仅需通过简单的拼接和修改,即可形成完整的可以编译并运行的C语言程序。通过及时的编程实践加强对理论知识的理解,能有效降低学习难度,从而给数据结构课程的学习提供了一个相对更为平缓的坡度。(2)新增的主要内容和章节如下:● 1.5节实验预备知识。● 4.3.3~4.3.5节非递归调用的分析及其与函数调用栈之间的关系。● 7.4节平衡多路查找树。● 8.6节线性时间排序算法。● 8.7节通用类型数据的排序。(3)对每章后面的实验题目和要求进行了修改。(4)替换了每章后面的部分习题。(5)使用Visio 2019重绘了全书几乎所有的插图,并新增了部分插图。(6)在Visual Studio 2017编程环境中调试了所有代码并规范了所有标识符的命名。将所有常量名大写,类型名使用大驼峰命名法,其余的变量名、数组名、函数名等一律采用小驼峰命名法。本次修订的全部内容由王中华负责,陈元春老师提供了宝贵的指导和审阅意见。学习本课程的学生应具备C或C 的初步编程能力。本书集教学内容、习题、实验和课程设计于一体,使用本书,一书在手就能方便地进行数据结构课程的理论学习和实验、课程设计等实践性环节的训练。本书提供详细完善的配套电子教案、习题参考答案,以及所有的源代码;读者如有需要可访问www.tdpress.com/51eds/获取。由于编者水平有限,书中疏漏或不妥之处在所难免,恳请广大专家和读者不吝赐教,多提宝贵意见。联系方式:1908163832@qq.com,谢谢! 编者 2022年5月?
|
|