数据结构

数据结构
作 者: 杨正宏
出版社: 清华大学出版社
丛编项: 新世纪高职高专实用规划教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 数据结构
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《数据结构》作者简介

内容简介

以合适的算法来设计程序,采用简洁适用的数据结构来表示程序中的数据和变量是数据结构包含的主要内容。它是对程序设计者最基本的要求,也是计算机程序设计的重要理论基础。本书循序渐进地引导读者掌握数组结构,链表结构,推栈结构,队列结构,树状结构,图强构等不同的数据结构,以及递归、排序和查找等程序设计方法。全书文字浅显易懂,程序示例简洁明了,是程序设计人员的入门参考书。本书融合了作者十多年的教学经验及对现代数据结构的体会,十分适合高职高专及大专以上的学生和对电脑有浓厚兴趣的人员阅读。

图书目录

第1章 数据结构概论

1. 1 数据与信息

1. 2 数据处理

1. 3 计算器操作方式

1. 4 程序的产生

I. 5 程序的分析

1. 5. 1 如何分析程序

1. 6 算法

1. 6. 1 算法的书写

1. 6. 2 算法效率的评估

1. 7 复杂度

1. 7. 1 复杂度的表示法

1. 8 NP-Complete

1. 9 参数的传递

1. 10 数据结构

1. 10. 1 数据结构探讨问题

1. 11 魔术方阵

1. 12 习题

第2章 数组结构

2. 1 数组的定义

2. 2 数组表示法

2. 2. 1 一维数组

2. 2. 2 二维数组

2. 2. 3 三维数组

2. 2. 4 多维数组

2. 3 稀疏矩阵

2. 3. 1 稀疏矩阵的转胃

2. 4 数组的应用

2. 4. 1 多项式的数据结构

2. 4. 2 多项式相加

2. 4. 3 上三角矩阵储存方式

2. 4. 4 下三角矩阵储存方式

2. 4. 5 带状矩阵

2. 4. 6 矩阵相乘

2. 5 最佳洗牌法

2. 6 习题

第3章 链表

3. 1 链表的定义

3. 2 动态内存配置

3. 2. 1 函数malloc

3. 2. 2 函数free

3. 3 链表的创建

3. 3. 1 动态数据结构的声明

3. 3. 2 内存的配置

3. 3. 3 基本链表的创建

3. 4 链表的遍历

3. 5 链表的连结

3. 6 链表内节点的删除

3. 7 释放链表的内存空间

3. 8 链表内节点的插入

3. 9 链表结构的反转

3. 10 环状链农结构

3. 10. 1 环状链表的创建

3. 10. 2 环状链表内节点的插入

3. 10. 3 环状链表内节点的删除

3. 11 使用环状链表结构表示稀疏矩阵

3. 12 双向链表结构

3. 12. 1 双向链表的创建

3. 12. 2 双向链表内节点的插入

3. 12. 3 双向链表内节点的删除

3. 13 环状双向链表结构

3. 14 习题

第4章 递归

4. 1 递归的定义

4. 2 递归工作原则

4. 3 递归的执行过程

4. 3. 1 递归树

4. 3. 2 费氏数列

4. 4 递归的应用

4. 4. 1 汉诺塔问题

4. 4. 2 迷宫问题

4. 4. 3 八皇后问题

4. 4. 4 骑士问题

4. 4. 5 最大公因子

4. 4. 6 史波克先生的难题

4. 5 递归程序与非递归程序的差异

4. 6 习题

第5章 栈

5. 1 栈的定义

5. 2 栈的制作及操作方式

5. 3 栈的应用

5. 3. 1 算术表达式的转换

Expression Conversion

5. 3. 2 处理子程序调用

5. 3. 3 处理中断例程

5. 3. 4 编译错误处理

5. 3. 5 汉诺塔问题

5. 3. 6 迷宫问题

5. 3. 7 八皇后问题

5. 4 习题

第6章 队列

6. 1 队列的定义

6. 2 线性队列的制作及操作方式

6. 2. 1 以数组制作线性队列

6. 2. 2 以链表制作线性队列

6. 3 环状队列的制作及操作方式

6. 3. 1 以数组制作环状队列

6. 3. 2 以链表制作环状队列

6. 4 双向队列

6. 5 优先队列

6. 5. 1 优先队列的特性

6. 5. 2 用双队列表示优先队列

6. 6 多重队列

6. 7 队列的应用

6. 7. 1 买票问题

6. 7. 2 Josephus问题

6. 8 习题

第7章 树状结构

7. 1 基本术语

7. 2 树的表示法

7. 3 二叉树

7. 3. 1 二叉树的创建

7. 3. 2 二叉树的遍历

7. 3. 3 二叉树的搜索

7. 3. 4 二元树的删除

7. 3. 5 二元树的比较

7. 3. 6 一般树转换至二叉树

7. 3. 7 二叉表示树

7. 4 相关二叉树

7. 4. 1 完全平衡树

7. 4. 2 满二叉树

7. 4. 3 完全二叉树

7. 4. 4 线索二叉树 Threaded

Binary Tree

7. 4. 5 扩充二叉树

7. 4. 6 赫夫曼树

7. 4. 7 贪婪二元树 Greedy

Binary Tree

7. 4. 8 高度平衡二叉树

7. 4. 9 扇形树

7. 5 二元树的衍生

7. 5. 1 2-3树与2-3-4树

7. 5. 2 红-黑树 Red-Black Tree

7. 5. 3 最小-最大堆树

7. 5. 4 双堆树

7. 5. 5 B树

7. 6 树的应用

7. 6. 1 皇后问题

7. 6. 2 游戏树

7. 6. 3 决策树

7. 7 习题

第8章 图

8. 1 前言

8. 2 图的基本观念

8. 2. 1 无向图的一些重要术语

8. 2. 2 有向图的一些重要术语

8. 2. 3 其他重要术语

8. 3 图的表示法

8. 3. 1 邻接矩阵

8. 3. 2 邻接表

8. 3. 3 邻接多重表

8. 3. 4 索引表格法

8. 4 图的遍历

8. 4. 1 深度优先搜索法

8. 4. 2 广度优先搜索法

8. 5 扩张树

8. 5. 1 克鲁斯卡 Kruskal 法

8. 5. 2 普瑞法

8. 6 拓朴排序

8. 7 最短路径

8. 8 习题

第9章 排序

9. 1 前言

9. 2 内部排序法

9. 2. 1 交换式排序

9. 2. 2 插入式排序

9. 2. 3 选择和树状排序

9. 2. 4 其他排序

9. 3 外部排序法

9. 3. 1 直接合并排序法

9. 3. 2 自然合并排序法

9. 3. 3 k-路合并法

9. 3. 4 多阶段合并法

9. 4 排序法的效益评估

9. 5 习题

第10章 查找

10. 1 前言

10. 2 顺序查找法

10. 3 折半查找法

10. 4 费氏查找法

10. 5 区块查找法

10. 6 插补查找法

10. 7 基数查找法

10. 8 树状查找法

10. 8. 1 折半查找树

10. 8. 2 B树查找法

10. 8. 3 B 树 B Tree

10. 8. 4 数字查找树

10. 8. 5 补偿树

10. 9 散列查找法

10. 9. 1 直接定址法

10. 9. 2 摘取法

10. 9. 3 除法

10. 9. 4 乘法

10. 9. 5 平方取中法

10. 9. 6 折叠法

10. 9. 7 解决散列冲突方法

10. 9. 8 自哈希表删除项目

10. 9. 9 哈希法的评估

10. 10 习题

第11章 动态内存管理

11. 1 前言

11. 2 内存分配方法

11. 3 边界标记法

11. 3. 1 可利用空间链表的结构

11. 3. 2 分配算法

11. 3. 3 回收算法

11. 4 伙伴系统

11. 4. 1 可利用空间链表的结构

11. 4. 2 分配算法

11. 4. 3 回收算法

11. 5 费氏伙伴系统

11. 6 无用单元收集

11. 7 无用单元收集的改良

11. 8 内存压缩

11. 9 习题