数据结构是高等学校计算机及其相关专业的核心课程,是计算机程序设计的基础。本书按照“像外行一样思考,像专家一样实践”的解决问题的思维方法,列举大量实际或工程案例,从具体问题中引出抽象概念,运用类比、图形化描述等各种方式,对经典数据结构内容做深入浅出的介绍。在介绍数据结构和算法的基本概念和算法分析方法的基础之上,从软件开发的角度,通过应用背景或知识背景介绍、数据分析、函数设计、算法设计、测试调试等环节,分别对顺序表、链表、栈、队列、串、数组、树、图等基本类型的数据结构进行了分析和讨论;介绍数据的典型操作方法,如数据排序方法和查找方法;介绍常见的如递归法、分治法、动态规划、贪心法等经典算法。
本书由算法领域的知名专家StevenSkiena教授编写,其主要内容包括基本算法设计、算法分析、数据结构、排序与查找、图算法、动态规划以及难解问题与近似算法。“设计”是本书的核心,作者不但以生动有趣的语言讲授了算法设计中的常用技术与思想,还着重教导我们应从已有经典设计和实现中汲取力量来完成问题求解,而这正是一个算法工作者所的素养。为了更全面真实地展现作者的算法设计观,本书每章都给出了若干取自现实案例的精彩WarStory,读者可以从中深刻体验到算法设计的曲折历程。为了减轻阅读的难度,作者淡化了繁难的算法分析而仅仅给出性能结论与对比,这在同类算法书中是相当少见的。此外,本书配套网站包含大量算法设计资源以及作者本人的授课视频,为算法设计者提供了极大的便利。本书长期居于算法教材前列,是一本不可多得的“算法