本书对近年来程序设计教育和竞赛培训活动中涌现的许多实用的数据结构设计方法进行了全面总结,通过深入的分析和生动的实例引导读者寻找问题中各对象之间的关系,确定数学模型所使用的逻辑结构;实现对各个对象的操作,即确定数据所采用的存储结构;将数据类型与定义在该类型上的运算融于一体,为面向对象的程序设计方法奠定基础。 本书既是大学计算机专业数据结构课程和算法设计课程的优秀参考书,也是大中学生程序设计竞赛不可多得的培训教材。本书特色按照数据结构的知识体系,全书分为“线性表”、“树型问题”和“图型问题”三篇,介绍了几十种存储方式和相应的算法。 介绍了许多实用的数据结构设计方法,同时引导读者尽可能采用“扬长避短”的选择原则和“取长补短”的结合方法,选择有利于提升算法效率的数据结构。 对每个比较难懂的概念都举实例加以说明,对每个比较抽象的定理都有具体的应用例证帮助理解,对每个经典算法都有清晰的程序流程给予示范。此外,还大量运用图表,使得概念、定理和算法的由来变得具体、形象和直观。 书中采用了一种结构清晰、移植性强且贴近自然语言表述的类程序设计语言。只要读者具备Pascal和C等任一种语言的基础,就可以比较轻松地读懂其语义。