数据结构是计算机学科的一门核心课程,也是其他一些和计算机学科关系密切的学科或专业的一门必修或选修课程。数据结构课程的任务是讨论现实世界中数据的各种逻辑结构、在计算机中的存储结构以及实现各种操作的算法等问题。开设数据结构课程的目的是使学生掌握如何组织数据、如何存储数据和如何处理数据的基本方法,从而为以后进行软件开发和应用以及进一步学习后续专业课程打下坚实的基础。
本书是普通高等教育“十五”**级规划教材。作者十几年来一直讲授数据结构课程,编写过两本数据结构教材以及一本数据结构学习辅导书,其中一本数据结构教材曾获部级三等奖。本书是作者多年教学经验和教材编著经验的结晶。
本书共分10章。书中讨论的典型数据结构包括表、堆栈、队列、数组、串、树、二叉树、图、递归程序设计、排序和查找方法,介绍的典型存储结构包括顺序存储结构、链式存储结构以及这两种典型存储结构的结合。本书采用C语言作为算法描述语言,所有算法和设计例子均在计算机上测试通过。本书的特点是概念叙述简洁,深入浅出,概念讨论和实际例子相结合,实际设计例子典型且完整。
习题的选择和设计是教材编写的一个重要方面。作者在习题选择和设计上考虑了习题的广泛性和典型性,并把所有习题按类型分成基本概念题、复杂概念题、算法设计题和上机实习题4大类。习题分类设计既方便了学生学习和复习,也方便了教师布置作业。标有“*”号的习题难度较大,可供学生选做。完成上机实习作业是学生普遍感觉困难的一个问题,为此,附录给出了上机实习内容规范和两个上机实习范例。
根据作者的经验,使用本教材授课约需60~70课时,其中包括10~20课时的课内上机实践。根据课时数和学生的理解程度,目录中标有“*”号的各节可酌情考虑。对于有条件上机的学生来说,除课内上机实践外,应尽可能多地增加课外上机实践,以加深理解课程中的概念和提高实际动手进行程序设计的能力。
尽管作者在写作过程中非常认真和努力,但错误和不足之处仍在所难免,敬请读者批评指正。