一、关于数据结构计算机的日益扩大,其应用早已不局限于简单的数值运算,而涉及到问题的分析、数据结构框架的设计以及插入、删除、排序、查找等复杂的非数值处理和操作。数据结构的学习就是为以后从事非数值处理的程序设计打下坚实的理论、方法和技术基础。数据结构是计算机专业的核心课程,是从事计算机软件开发、应用人员必备的专业知识。随着计算机的日益普及,掌握数据结构知识已经成为计算机相关专业的基本要求。数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。二、结构安排全书共分为9章,保章主要内容如下:第1章:概述。主要介绍了数据结构的基本概念及研究对象,结合C++语言介绍了面向对象设计以及算法的相关概念。第2章:线性表。主要介绍了线性表的概念、线性表的抽象数据类型、循环链表等内容。第3章:栈和队列。主要介绍了栈和队列的定义及实现等内容。第4章:串和矩陈。主要介绍了串和矩陈的特殊性质和表示方法,以及在各种表示方法上的相关操作。第5章:递归。主要介绍了递归的概念、算法设计和实现以及广义表等内容。第6章:树和二叉树。主机介绍了树的有关概念、二叉树的相关概念及应用、树的表示、树的遍历,以及森林的二叉树的表示和遍历等内容。第7章:图。主机介绍了图的基本概念、图的存储结构及C++实现、图的遍历、图的连通性问题、最短路径、AOV网络与拓扑排序以及AOE-网与关键路径等内容。第8章:排序。主要介绍了排序的基本概念常用的5种最常用的查找方法:(插入、选择、交换、归并和基数)及它们的实现算法。第9章:查找。主机介绍了查找的基本概念,以及几种最常用的查找方法:顺序表查找、索引表查找、树表查找和哈希表查找。附录中收录了两套模拟试题,供读者进行自我测试,并队有参考答案和解析。三、本书特点本书是作者在多年的教学实践的基础上,参考了近年出版的多种数据结构类书籍编写而成的。本书具有以下特点:(1)内容全面、系统,实用性强。本书对每一种数据结构的不同存储方法及有关算法进行了详细的介绍。介绍了抽象数据结构的使用与基本的算法分析技术。书中使用了参数化的模板,提高了算法中数据类型的通用性,支持高效的代码重用。本书内容全面、系统,覆盖了数据结构的主要研究,概念清晰,章节合理,逻辑性强。(2)叙述翔实,讲练习结合。本书对重点设计思想介绍和分析时,结合了大量的图解和具体的实例分析,使抽象的内容变得具体得不到,浅显易懂,学习者能够联系实际,深刻地掌握数据结构的实质内容。数据结构的学习过程也是进行复杂程序设计的训练过程,因此在整个教学过程中,习题和上机练习是两个不可缺少的环节。本书在每章都设计了大量的有代表性的习题。并配有答案和解析。题目分为选择、填空、问答和编程四种类型,题型全面,覆盖面广。对每道题目都有详细的解析,有利于学习者巩固所学的基本概念、基本方法,以及进行基本的程序设计技能训练。通过学习和练习,使读者能够学会正确地选择数据类型,针对实际问题编写出符合程序规范的代码,为应用程序的开发打下的基础。四、适用对象本书可作为计算机专业、信息专业或其他相关专业的本、专科教材,也是广大参加自学考试的人员和软件工作者的参考资料。本书既可作为“数据结构”课程的教材,也可作为其他程序类课程的辅导教材。本书主要由杨谊、喻德旷、要光明编写,由于时间仓促,水平有限,书中难免有不足之处,敬请读者指正。读者如果有好的意见或建议,可以发E-mail到service@cnbook.net,也可以登录网站http://www/cnbook.net,在该网站的论坛进行探讨。