内容简介
这是一本适合于学生的C++数据结构指南,它基于现代软件发展的现实和职业程序员的需求。本书首先从类的全面介绍入手,提供学生成功使用数据结构所需的基础知识。接下来介绍了创建数据结构的方法,包括链表和可扩展/收缩的动态数组。解释了时间复杂度对执行速度的影响方式,帮助程序员理解关键性能之间的权衡考虑。然后以这些为基础,从散列表到二叉搜索树,详细介绍了每一种常见的数据结构。本书还详细设计了各种概念性的解释,以帮助程序员使用任何现代程序语言。 本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
译 者 序 数据结构是计算机专业的一门重要的基础课,在计算机科学各领域尤其是在软件设计和开发中发挥着举足轻重的作用。几乎所有的计算机软件系统,例如,操作系统、编辑工具和编译器等都要使用不同的数据结构。因此,数据结构是计算机专业的核心课程,是许多其他后续课程的重要基础。 目前,国内外有很多介绍数据结构方面的书籍,这些书籍都各具特色。但是大多数书籍都只注重于技术细节,缺乏详细的解释说明,没有数据结构基础知识的读者难以掌握理解。 考虑到上述事实,本书作者从自己教学的实际需求出发,根据自己对数据结构的理解,结合自己对数据结构的研究,考虑学生的学习需求,编写了本书。本书由易到难,不仅详细介绍了各种常见的数据结构,还提供了学习数据结构的基础知识。读者可以先阅读基础知识,再深入学习数据结构,通过这种安排方式,方便读者的学习,加强概念的理解。 本书采用当前流行的面向对象的C++语言来描述数据结构和算法,因为C++语言是程序员使用最广泛的语言。但是,本书还考虑到目前编程语言的多样性,在详细阐述数据结构概念时尽量避免使用与语言相关的术语解释,强调对概念的透彻理解,注重能力的培养,使读者能够使用其他编程语言编写出自己所需的数据结构。 通过本书的学习,读者不仅可以了解数据结构的基本概念和算法,还可以了解数据结构的应用场合;不仅可以使用数据结构,还可以根据需求设计自己的数据结构;不仅可以选择高效的算法,还可以了解这样做的原因。确切地说,本书内容全面丰富,语言精练简洁,示例和练习的实践性、针对性强,是一本优秀的数据结构教材。 译 者 2008年3月