本书把数据结构的原理和算法分析技术有机地结合在一起,系统地介绍各种数据结构及各种数据结构的相关算法,使用C语言作为算法描述语言,通过C语言实现了具体算法,能够更好地让学生理解各种数据结构的基本描述方法,借助抽象数据类型,从逻辑结构的角度系统地介绍线性表、栈、队列、串、数组、矩阵、广义表、二叉树、树和图等各种基本数据结构;从算法的角度讨论查找方法和排序算法;从应用的角度介绍了一些具体的应用在C语言下的代码实现。全书共分三部分:第1部分(第1章)为基本概念介绍部分,介绍数据结构、抽象数据类型以及算法的基本概念;第2部分(第2~8章)为基本数据结构部分,重点介绍线性表、栈、队列、串、数组、矩阵、广义表、二叉树、树和图等各种基本数据结构,并且附带有具体的算法实现的代码;第3部分(第9章和第10章)为算法应用设计,重点介绍顺序查找、折半查找、插值查找、斐波那契查找、分块查找等静态查找的具体算法,介绍在二叉排序树、平衡二叉树上的动态查找算法以及哈希表查找算法等。全书提供了大量应用实例,每章后均附有习题。