在本书中,作者Michael MairI采用一种易于理解的方法,使用Java来讲解数据结构。给出了关于面向对象编程和Java的一个知识回顾,使学习者得以牢固掌握关键的概念知识,不同层次的学习者能够根据自己的实际情况调整学习的内容。 本书第二版中包含了新的附录和在线资源,具有更加丰富的Java参考资料,并且增加了对面向对象编程和继承性的介绍。
用计算机解决任何实际问题都离不开数据表示和数据处理,数据表示和数据处理的核心问题之一就是确定数据结构,并实现它,而这正是数据结构课程的基本内容。数据结构是计算机及其相关专业的一门重要的专业基础课,为计算机专业人员提供重要的专业基础知识和必要的技能训练。
本书系统地介绍了各种常用的数据结构,对基本概念、基本原理和基本方法做了深入浅出的介绍,同时对相关的算法设计也做了详细和通俗的讲解。本书的一大特点就是采用了非常流行的面向对象程序设计语言——JaVa语言作为算法描述语言,将传统的数据结构内容与面向对象技术完整结合,使讲解更加自然贴切。
全书共有14章,分成三个层次不断深入。前4章首先对Java语言的基本知识作了简要复习:第5章站在数据结构的角度介绍了几种Java特有的技术,包括如何构建基于Java的Object类型的通用集合类,如何使用Java接口和API类,如何构建和使用Java迭代器等:从第6章开始依次介绍了特定的数据结构(堆栈、队列、树、散列表和图)或相关的编程技术(递归、排序及继承)。
本书还根据需要添加了其他一些新的Java特性(如使用断言来检查前置条件),同时详细地介绍了继承、新的Java API类(例如ArrayList、Vector和HashTable的另一可选类HashMap),以及Javadoc的新特性等。
另外,本书在章节的安排上还充分考虑到了读者现有的知识背景,各章节间相对独立,读者可以根据自身的知识结构有选择地跳过相关章节。
本书覆盖面广,结构清晰合理,是一本全新的有关数据结构的教材,可作为大专院校计算机专业与计算机应用专业学生的教材和参考书,对于计算机科学与工程领域的从业人员也是一本很好的参考书。
本书由苏州大学的孔芳、周丽琴主译,参与翻译的人员还有赵丰收、陈浩奎、陈华全、李明、祝青、谢君英、杨会珍和于旭升。本书的初排和代码录入工作由盛海燕、谢小花完成。在翻译过程中,译者尽可能地参考了最新的数据结构教材,并结合了译者的教学经验。但由于译者的知识局限,加之时间也比较仓促,译文中难免会出现一些疏漏,诚恳地希望广大读者给予批评与指正。