数据结构与算法教程

数据结构与算法教程
作 者: 邹永林
出版社: 机械工业出版社
丛编项: 计算机应用技术系列教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《数据结构与算法教程》作者简介

内容简介

本书特点:·内容广泛。本书全面地讲述了数据结构与算法的基础知识,分析了线性结构、树形结构、图结构等的定义、表示和实现,讨论了排序和查找的各种方法及实现技巧。·形式新颖。每当给出一个新的数据结构概念时,以流行的抽象数据类型(ADT)进行定义,而描述其对应的存储结构及基本操作算法时则使用C语言函数的形式,方便读者通过上机实验来理解和验证课程的具体内容和算法过程。·实例众多。本书包含大量的应用实例,帮助读者轻松理解抽象、枯燥的概念。·习题丰富。本书各章后均配有大量习题,以便读者实践该章所介绍的技巧和概念。·配有教辅。为方便教学,本书另配有习题参考答案、实验指导和电子课件。本书结合作者多年教学实践,循序渐进地讲述了数据结构与算法的基本概念和知识。全书共分10章,分别讨论了数据结构与算法的基础知识和表示方式,基本线性结构(线性表、栈、队列、串、数组及广义表)、树形结构、图形结构等的定义、表示和实现,排序和查找的各种方法及其实现技巧,最后简要介绍了一些扩展数据结构以及算法设计方法。本书可作为本科、专科院校计算机专业及相关专业的教材或教学参考书。版权所有,侵权必究。

图书目录

第1章 概论

1. 1 引言

1. 1. 1 几个例子

1. 1. 2 数据结构的产生和发展

1. 1. 3 基本概念和术语

1. 2 问题. 算法和程序

1. 2. 1 问题

1. 2. 2 算法

1. 2. 3 程序

1. 3 算法描述和分析

1. 3. 1 算法描述

1. 3. 2 算法分析

1. 4 小结

习题

第2章 线性表

2. 1 概述

2. 1. 1 线性表的概念

2. 1. 2 线性表的类型定义

2. 2 顺序表

2. 2. 1 线性表的顺序表示

2. 2. 2 顺序表的实现

2. 3 链表

2. 3. 1 线性表的链式表示

2. 3. 2 线性链表的实现

2. 3. 3 循环链表的实现

2. 3. 4 双向链表的实现

2. 3. 5 静态链表的实现

2. 4 栈

2. 4. 1 栈的类型定义

2. 4. 2 顺序栈的表示和实现

2. 4. 3 链栈的表示和实现

2. 5 队列

2. 5. 1 队列的类型定义

2. 5. 2 顺序队列的表示和实现

2. 5. 3 链队的表示和实现

2. 6 应用举例

2. 7 小结

习题

第3章 串

3. 1 概述

3. 1. 1 串的概念

3. 1. 2 串的基本操作

3. 2 串的存储表示和操作算法

3. 2. 1 定长顺序存储表示

3. 2. 2 块链存储表示

3. 2. 3 堆分配存储表示

3. 3 模式匹配

3. 3. 1 模式匹配的基本算法(BP算法)

3. 3. 2 模式匹配的改进算法(KMP算法)

3. 4 应用举例

3. 4. 1 文本编辑

3. 4. 2 建立词索引表

3. 5 小结

习题

第4章 数组和广义表

4. 1 数组的定义. 表示和实现

4. 1. 1 数组的定义

4. 1. 2 数组的表示

4. 1. 3 数组的实现

4. 2 矩阵的压缩存储

4. 2. 1 特殊矩阵

4. 2. 2 稀疏矩阵

4. 3 广义表的定义和表示

4. 3. 1 广义表的定义

4. 3. 2 广义表的存储结构

4. 3. 3 广义表的基本算法

4. 4 小结

习题

第5章 树和二叉树

5. 1 树的定义和术语

5. 1. 1 树的定义

5. 1. 2 树的基本术语

5. 1. 3 树的表示

5. 1. 4 树的遍历

5. 2 二叉树

5. 2. 1 二叉树的定义

5. 2. 2 二叉树的重要性质

5. 2. 3 二叉树的存储结构

5. 3 二叉树的遍历和线索二叉树

5. 3. 1 二叉树的遍历

5. 3. 2 线索二叉树

5. 4 树和森林

5. 4. 1 树的存储结构

5. 4. 2 森林与二叉树的转换

5. 4. 3 森林的遍历

5. 5 哈夫曼树及其应用

5. 5. 1 哈夫曼树

5. 5. 2 哈夫曼树的应用--哈夫曼编码

5. 6 小结

习题

第6章 图

6. 1 图的基本概念

6. 1. 1 图的定义

6. 1. 2 基本术语

6. 2 图的表示和实现

6. 2. 1 邻接矩阵

6. 2. 2 邻接表

6. 2. 3 十字链表

6. 2. 4 邻接多重表

6. 3 图的遍历

6. 3. 1 深度优先搜索

6. 3. 2 广度优先搜索

6. 3. 3 非连通图的遍历

6. 4 应用举例

6. 4. 1 生成树

6. 4. 2 拓扑排序

6. 4. 3 关键路径

6. 4. 4 最短路径

6. 5 小结

习题

第7章 排序

7. 1 内部排序

7. 1. 1 简单排序

7. 1. 2 希尔排序

7. 1. 3 快速排序

7. 1. 4 归并排序

7. 1. 5 堆排序

7. 1. 6 基数排序

7. 2 外部排序

7. 2. 1 外部排序方法

7. 2. 2 自然归并

7. 2. 3 多路平衡归并

7. 2. 4 置换-选择排序

7. 2. 5 最佳归并树

7. 3 排序效益评估

7. 4 小结

习题

第8章 查找

8. 1 基本概念

8. 1. 1 查找的定义

8. 1. 2 基本术语

8. 2 线性表的查找

8. 2. 1 顺序查找

8. 2. 2 二分查找

8. 2. 3 分块查找

8. 3 树表的查找

8. 3. 1 二叉排序树和平衡二叉树

8. 3. 2 B树

8. 3. 3 键树

8. 4 散列查找

8. 4. 1 散列表

8. 4. 2 散列函数的构造方法

8. 4. 3 处理冲突的方法

8. 4. 4 散列表的查找及分析

8. 5 小结

习题

第9章 算法设计方法

9. 1 递归与分治法

9. 1. 1 递归技术

9. 1. 2 分治法

9. 2 回溯法

9. 2. 1 回溯法的基本思想

9. 2. 2 0-1背包问题

9. 2. 3 旅行售货员问题

9. 2. 4 n皇后问题

9. 3 动态规划法

9. 3. 1 动态规划法的基本思想

9. 3. 2 计算矩阵连乘积

9. 3. 3 动态规划法的基本要素

9. 4 贪心法

9. 4. 1 贪心法的基本思想

9. 4. 2 哈夫曼编码问题

9. 4. 3 贪心法与动态规划法的差异

9. 5 分支限界法

9. 5. 1 分支限界法的基本思想

9. 5. 2 0-1背包问题

9. 5. 3 旅行售货员问题

9. 6 小结

习题

第10章 高级专题

10. 1 集合

10. 1. 1 集合的定义

10. 1. 2 字典

10. 1. 3 有序字典

10. 1. 4 优先队列

10. 2 线性结构的扩展

10. 2. 1 自组织线性表

10. 2. 2 跳跃表

10. 2. 3 动态存储管理

10. 3 树形结构的扩展

10. 3. 1 竞赛树

10. 3. 2 Trie树

10. 3. 3 伸展树

10. 4 小结

习题

附录 数学预备知识

参考文献