【内容简介】
本书采用程序员最爱用的面向对象C++语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种类型的数据结构和排序、检索的各种方法。作者非常注意对每一种数据结构不同存储方法及有关算法进行分析比较。书中还引入了一些比较高级的数据结构与先进的算法分析技术,并介绍了可计算性理论的一般知识。本版的重要改进在于引入了参数化的模板,从而提高了算法中数据类型的通用性,支持高效的代码重用。本书概念清楚、逻辑性强、内容新颖,可作为大专院校计算机软件专业与计算机应用专业学生的教材和参考书,也可供计算机工程技术人员参考。
【目录信息】
第一部分 预备知识
第1章 数据结构和算法
1.1 数据结构的原则
1.1.1 学习数据结构的必要性
1.1.2 代价与效益
1.2 抽象数据类型和数据结构
1.3 问题、算法和程序
1.4 深入学习导读
1.5 习题
第2章 数学预备知识
2.1 集合和关系
2.2 常用数学术语
2.3 对数
2.4 递归
2.5 级数求和与递归
2.6 数学证明方法
2.6.1 反证法
2.6.2 数学归纳法
<< 查看详细目录
【译者序】
数据结构与算法分析是一门计算机专业十分重要的基础课,计算机科学各领域及各种应用软件都要使用相关的数据结构和算法。当面临一个新的设计问题时,设计者需要选择适当的数据结构,并设计出满足一定时间和空间限制的有效算法。本书作者把数据结构和算法分析有机地揉合在一本教材中,有助于读者根据问题的性质选择合理的数据结构,并对时间空间复杂性进行必要的控制。
本书采用当前流行的面向对象的C++语言来描述数据结构和算法,因为C++语言是程序员最广泛使用的语言。因此,程序员可以把本书中的许多算法直接应用于将来的实际项目中。尽管数据结构和算法在设计本质上还是很底层的东西,并..
<< 查看译者序
【前言】
我们研究数据结构的目的是为了学会编写更高效的程序。既然现在的计算机速度一年比一年快,为什么还会需要高效率的程序呢?这是由于人类解决问题的雄心与能力是同步增长的。现代计算技术在计算能力和存储容量上的革命,仅仅提供了计算更复杂问题的有效工具,而程序的高效性要求永远也不会过时。
程序高效性的要求不会,也不应该与合理的设计和简明清晰的编码相矛盾。高效程序的设计基于良好的信息组织和优秀的算法,而不是基于“编程小伎俩”。如果一个程序员没有掌握程序设计简明清晰的基本原理,就不可能编写出有效的程序。反过来讲,简洁的程序需要合理的数据组织和清晰的算法。大多数计算机..
<< 查看前言