数据结构基础

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构基础(C语言版)(第2版)

【作者】[美] Ellis Horowitz; Sartaj Sahni; Susan

Anderson-Freed 著

朱仲涛译

【从书名】世界著名计算机教材精选

【出版社】清华大学出版社

【出版时间】2009年03月

【关注人次】3596

内容简介

本书是最经典数据结构教材的最新版本,国内外大多数的同类教材都是以本书为蓝本编写而来的。

本书用C作为描述语言,全面而生动地介绍了数据结构的有关知识,如数组、栈、队列、链表、树和图,以及构成所有软件基础的排序散列技术。此外,本书还介绍了各种高级或特殊数据结构,如优先级队列、高效二叉查找树、多路查找树等。本书对大多数算法都给出了计算时间在最优、最差情形下的复杂度分析。

本书不仅可以作为计算机及相关专业本科生“数据结构”课程的教材,也可以作为研究生第一学年的“高等数据结构”课程的教材,同时,本书所介绍的各种算法的C语言实现,对有关专业人员也具有很好的参考价值。

作者简介

Ellis Horowitz,是南加州大学计算机与电子工程系的教授。Horowitz博士已编著了10多本教材,并发表了大量学术论文。

Sartaj Sahni是佛罗里达大学计算机与信息科学系的杰出教授和讲座教授。Sahni博士已发表300多篇学术研究论文,编著了15本教材。

Susan Anderson-Freed是伊利诺伊卫斯理大学计算机教授。她的研究领域是数据库管理系统、Web设计与开发。她毕业于诺伯特大学,并在印第安纳大学获得硕士和博士学位,以及在Bradley大学获得计算机理学地硕士学位。她从1977年起就供职于伊利诺伊卫斯理大学。

目录

第1章基本概念

§1.1 概观:系统生命周期§1.2 指针和动态存储分配§1.2.1 指针

§1.2.2 动态存储分配

§1.2.3 指针隐患

§1.3 算法形式规范

§1.3.1 综论

§1.3.2 递归算法

§1.4 数据抽象

§1.5 性能分析

§1.5.1 空间复杂度

§1.5.2 时间复杂度

§1.5.3 渐近记号(O,Q,) §1.5.4 实际复杂度

§1.6 性能度量

§1.6.1 定时

§1.6.2 生成测试数据

§1.7 参考文献和选读材料第2章数组和结构

§2.1 数组

§2.1.1 数组的抽象数据类型§2.1.2 c语言的数组

§2.2 数组的动态存储分配§2.2.1 一维数组

§2.2.2 二维数组

§2.3 结构体和联合体

§2.3.1 结构体

§2.3.2 联合体

§2.3.3 结构的内部实现

§2.3.4 自引用结构

§2.4 多项式

§2.4.1 多项式的抽象数据类型

§2.4.2 多项式的表示

§2.4.3 多项式加法

§2.5 稀疏矩阵

§2.5.1 稀疏矩阵的抽象数据类型

§2.5.2 稀疏矩阵的表示

§2.5.3 矩阵转置

§2.5.4 矩阵相乘

§2.6 多维数组的表示

§2.7 字符串

§2.7.1 字符串的抽象数据类型

§2.7.2 C语言的字符串

§2.7.3 模式匹配

§2.8 参考文献和选读材料

§2.9 补充习题

第3章栈与队列

§3.1 栈

§3.2 动态栈

§3.3 队列

§3.4 动态循环队列

§3.5 迷宫问题

§3.6 表达式求值

§3.6.1 表达式

§3.6.2 后缀表达式求值

§3.6.3 中缀表达式转换成后缀表达式

§3.7 多重栈与多重队列

§3.8 补充习题

第4章链表

§4.1 单向链表

§4.2 用C语言表示单向链表§4.3 链式栈与链式队列

§4.4 多项式

§4.4.1 多项式表示

§4.4.2 多项式加法

§4.4.3 销毁多项式

§4.4.4 循环链表与多项式

§4.4.5 小结

§4.5 其它链表操作

§4.5.1 单向链表操作

§4.5.2 循环链表操作

§4.6 等价类

§4.7 稀疏矩阵

§4.7.1 稀疏矩阵表示

§4.7.2 输入稀疏矩阵

§4.7.3 输出稀疏矩阵

§4.7.4 销毁稀疏矩阵

§4.8 双向链表

第5章树

§5.1 引论

§5.1.1 术语

§5.1.2 树的表示

§5.2 二叉树

§5.2.1 二叉树的抽象数据类型

§5.2.2 二叉树的性质

§5.2.3 二叉树的表示

§5.3 遍历二叉树

§5.3.1 中序遍历

§5.3.2 先序遍历

§5.3.3 后序遍历

§5.3.4 非递归(循环)中序遍历

§5.3.5 层序遍历

§5.3.6 不设栈遍历二叉树

§5.4 其它二叉树操作

§5.4.1 复制二叉树

§5.4.2 判断两个二叉树全等

§5.4.3 可满足性问题

§5.5 线索二叉树

§5.5.1 线索

§5.5.2 中序遍历线索二叉树

§5.5.3 线索二叉树插入结点

§5.6 堆

§5.6.1 优先级队列

§5.6.2 大根堆定义

§5.6.3 大根堆插入操作

§5.6.4 大根堆删除操作

§5.7 二叉查找树

§5.7.1 定义

§5.7.2 二叉查找树的查找

§5.7.3 二叉查找树的插入

§5.7.4 二叉查找树的删除

§5.7.5 二叉查找树的合并与分裂§5.7.6 二叉查找树的高度

§5.8 选拔树

相关文档
最新文档