书籍详情
数据结构
作者:黄国瑜,叶乃菁编著
出版社:清华大学出版社
出版时间:2001-08-01
ISBN:9787302045090
定价:¥32.00
购买这本书可以去
内容简介
数据结构包含以下两方面的内容:一是用合适的运算法则来规划程序流程,二是采用简洁的数据结构来表示程序中的数据和变量。本书以C语言为程序设计语言,采用条列式的叙述方式,引导读者循序渐进地掌握堆栈结构、了例子结构、树状结构、字符串结构,以及递归设计、排序设计和查找设计等程序设计。全书文字浅显易懂,程序示例简洁明了,是程序设计人员的上乘参考书。
作者简介
暂缺《数据结构》作者简介
目录
第1章 数据结构的基本概念
1.1 何谓数据结构
1.2 算法与伪码
1.3 程序结构化与设计风格
1.4 程序分析的方法
1.5 时间复杂度分析
1.6 渐近式表示法
1.6.1 时间复杂度各类等级
1.6.2 渐近式表示法
1.7 递归式的复杂度计算
第2章 数组
2.1 何谓数组
2.2 一维数组
2.3 一维数组的使用
2.4 一维数组的存取
2.5 一维数组的遍历
2.6 一维数组的高级应用
2.7 二维数组
2.8 数组表示法
2.9 特殊类型的数组
2.9.1 稀疏数组
2.9.2 上三角数组
2.9.3 下三角数组
第3章 链表
3.1 何谓链表
3.2 单链表的建立
3.2.1 单链表内节点的配置
3.2.2 单链表内节点的释放
3.2.3 单链表的建立与释放
3.2.4 单链表的查找
3.3 单链表的基本处理
3.3.1 单链表内节点的插入
3.3.2 单链表内节点的删除
3.3.3 单链表的反转
3.3.4 单链表的链接
3.3.5 单链表的比较
第4章 堆栈
4.1 何谓堆栈
4.2 用数组仿真堆栈
4.3 用链表仿真堆栈
4.4 表达式表示法
4.5 中序表达式的表示法及计算
4.6 前序表达式的表示法及计算
4.7 后序表达式的表示法及计算
4.8 表达式的转换
第5章 队列
5.1 何谓队列
5.2 用数组仿真队列
5.3 用链表仿真队列
5.4 环状队列
5.5 双向队列
5.5.1 输入限制性双向队列
5.5.2 输出限制性双向队列
第6章 递归
6.1 何谓递归
6.2 函数调用与参数传递
6.3 数学问题
6.3.1 阶乘问题
6.3.2 最大公因子问题
6.3.3 费氏级数问题
6.3.4 组合公式
6.4 河内塔问题
6.5 N皇后问题
6.6 迷宫问题
第7章 基础树状结构
7.1 何谓树状结构
7.1.1 何谓树
7.1.2 树的相关名称及意义
7.2 二叉树
7.2.1 何谓二叉树
7.2.2 二叉树和树的比较
7.2.3 二叉树的相关特色
7.3 二叉树表示法
7.3.1 二叉树数组表示法
7.3.2 三叉树结构数组表示法
7.3.3 二叉树链表表示法
7.4 二叉树的遍历
7.4.1 二叉树的前序遍历
7.4.2 二叉树的中序遍历
7.4.3 二叉树的后序遍历
7.5 二叉树的建立(递归法)
7.6 二叉树的查找
7.6.1 何谓二叉查找树
7.6.2 二叉树的查找方式
7.7 二叉树的节点删除
7.7.1 节点无左子树,无右子树
7.7.2 节点有左子树,无右子树
7.7.3 节点无左子树,有右子树
7.7.4 节点有左子树,有右子树
7.8 二叉树的复制
7.9 二叉树的比较
7.10 二叉树的映像
7.11 一般树转二叉树
7.12 引线二叉树
7.13 二叉树的应用(表达式)
第8章 排序
8.1 何谓排序
8.1.1 排序的意义
8.1.2 排序的特性——稳定性与不稳定性
8.1.3 排序的分类
8.2 内部排序法——交换式排序
8.2.1 冒泡排序法
8.2.2 快速排序法
8.3 内部排序法——选择式排序
8.3.1 选择排序法
8.3.2 累堆排序法
8.4 内部排序法——插入式排序
8.4.1 插入排序法
8.4.2 谢耳排序法
8.4.3 二叉树排序法
8.5 外部排序——合并排序法
8.6 排序法的效率比较
第9章 查找
9.1 何谓查找
9.2 线性查找
9.3 折半查找
9.4 费氏查找
9.5 插补查找
9.6 杂凑查找
9.6.1 杂凑函数
9.6.2 杂凑碰撞解决法
9.6.3 杂凑查找
9.7 二叉查找树
第10章 高级链表
10.1 循环链表
10.1.1 循环链表的建立与释放
10.1.2 循环链表内节点的插入
10.1.3 循环链表内节点的删除
10.2 双链表
10.2.1 双链表的建立与释放
10.2.2 双链表的插入
10.2.3 双链表的删除
第11章 字符串结构
11.1 字符串的声明
11.2 字符串的基本I/O
11.3 字符串的传递方式
11.4 字符串的基本处理
11.4.1 字符串的长度计算:Strlen(char*s)
11.4.2 字符串的复制——Strcpy(char*s1,chars2)
11.4.3 字符串的结合——Strcat(char*s1,char*s2)
11.4.4 字符串的取代——Sttrep(char*s1,char*s2,int pos)
11.4.5 字符串的插入——Strins(cha*s1,char*s2,int pos)
11.4.6 字符串的删除——Strdel(char*s1,int pos,int len)
11.5 字符串的高级处理
11.5.1 字符串的比较——Strcmp(char*s1,char*s2)
11.5.2 抽取子字符串——Substr(cha*s1,int pos,int len)
11.5.3 字符串的比较
11.5.4 字符串的分割
11.5.5 常用的字符串函数
11.6 字符串转换数值的应用
第12章 图形结构
12.1 何谓图形结构
12.1.1 无向图形
12.1.2 有向图形
12.1.3 完全图形
12.1.4 子图形
12.1.5 路径
12.1.6 简单路径
12.1.7 回路
12.1.8 连通顶点
12.1.9 连通图形
12.1.10 连通单元
12.1.11 强连通顶点
12.1.12 强连通图形
12.1.13 强连通单元
12.2 图形的表法
12.2.1 邻接数组表示法
12.2.2 邻接列表表示法
12.2.3 多重邻接列表表示法
12.2.4 加权边的图形
12.3 图形的查找
12.3.1 深度优先法
12.3.2 广度优先法
12.3.3 连通组件
12.4 生成树问题
12.4.1 生成树
12.4.2 最小生成树
12.4.3 Kruskal算法
12.4.4 Prims算法
12.5 最短路径问题
附录A ASCII码
附录B 习题解答
1.1 何谓数据结构
1.2 算法与伪码
1.3 程序结构化与设计风格
1.4 程序分析的方法
1.5 时间复杂度分析
1.6 渐近式表示法
1.6.1 时间复杂度各类等级
1.6.2 渐近式表示法
1.7 递归式的复杂度计算
第2章 数组
2.1 何谓数组
2.2 一维数组
2.3 一维数组的使用
2.4 一维数组的存取
2.5 一维数组的遍历
2.6 一维数组的高级应用
2.7 二维数组
2.8 数组表示法
2.9 特殊类型的数组
2.9.1 稀疏数组
2.9.2 上三角数组
2.9.3 下三角数组
第3章 链表
3.1 何谓链表
3.2 单链表的建立
3.2.1 单链表内节点的配置
3.2.2 单链表内节点的释放
3.2.3 单链表的建立与释放
3.2.4 单链表的查找
3.3 单链表的基本处理
3.3.1 单链表内节点的插入
3.3.2 单链表内节点的删除
3.3.3 单链表的反转
3.3.4 单链表的链接
3.3.5 单链表的比较
第4章 堆栈
4.1 何谓堆栈
4.2 用数组仿真堆栈
4.3 用链表仿真堆栈
4.4 表达式表示法
4.5 中序表达式的表示法及计算
4.6 前序表达式的表示法及计算
4.7 后序表达式的表示法及计算
4.8 表达式的转换
第5章 队列
5.1 何谓队列
5.2 用数组仿真队列
5.3 用链表仿真队列
5.4 环状队列
5.5 双向队列
5.5.1 输入限制性双向队列
5.5.2 输出限制性双向队列
第6章 递归
6.1 何谓递归
6.2 函数调用与参数传递
6.3 数学问题
6.3.1 阶乘问题
6.3.2 最大公因子问题
6.3.3 费氏级数问题
6.3.4 组合公式
6.4 河内塔问题
6.5 N皇后问题
6.6 迷宫问题
第7章 基础树状结构
7.1 何谓树状结构
7.1.1 何谓树
7.1.2 树的相关名称及意义
7.2 二叉树
7.2.1 何谓二叉树
7.2.2 二叉树和树的比较
7.2.3 二叉树的相关特色
7.3 二叉树表示法
7.3.1 二叉树数组表示法
7.3.2 三叉树结构数组表示法
7.3.3 二叉树链表表示法
7.4 二叉树的遍历
7.4.1 二叉树的前序遍历
7.4.2 二叉树的中序遍历
7.4.3 二叉树的后序遍历
7.5 二叉树的建立(递归法)
7.6 二叉树的查找
7.6.1 何谓二叉查找树
7.6.2 二叉树的查找方式
7.7 二叉树的节点删除
7.7.1 节点无左子树,无右子树
7.7.2 节点有左子树,无右子树
7.7.3 节点无左子树,有右子树
7.7.4 节点有左子树,有右子树
7.8 二叉树的复制
7.9 二叉树的比较
7.10 二叉树的映像
7.11 一般树转二叉树
7.12 引线二叉树
7.13 二叉树的应用(表达式)
第8章 排序
8.1 何谓排序
8.1.1 排序的意义
8.1.2 排序的特性——稳定性与不稳定性
8.1.3 排序的分类
8.2 内部排序法——交换式排序
8.2.1 冒泡排序法
8.2.2 快速排序法
8.3 内部排序法——选择式排序
8.3.1 选择排序法
8.3.2 累堆排序法
8.4 内部排序法——插入式排序
8.4.1 插入排序法
8.4.2 谢耳排序法
8.4.3 二叉树排序法
8.5 外部排序——合并排序法
8.6 排序法的效率比较
第9章 查找
9.1 何谓查找
9.2 线性查找
9.3 折半查找
9.4 费氏查找
9.5 插补查找
9.6 杂凑查找
9.6.1 杂凑函数
9.6.2 杂凑碰撞解决法
9.6.3 杂凑查找
9.7 二叉查找树
第10章 高级链表
10.1 循环链表
10.1.1 循环链表的建立与释放
10.1.2 循环链表内节点的插入
10.1.3 循环链表内节点的删除
10.2 双链表
10.2.1 双链表的建立与释放
10.2.2 双链表的插入
10.2.3 双链表的删除
第11章 字符串结构
11.1 字符串的声明
11.2 字符串的基本I/O
11.3 字符串的传递方式
11.4 字符串的基本处理
11.4.1 字符串的长度计算:Strlen(char*s)
11.4.2 字符串的复制——Strcpy(char*s1,chars2)
11.4.3 字符串的结合——Strcat(char*s1,char*s2)
11.4.4 字符串的取代——Sttrep(char*s1,char*s2,int pos)
11.4.5 字符串的插入——Strins(cha*s1,char*s2,int pos)
11.4.6 字符串的删除——Strdel(char*s1,int pos,int len)
11.5 字符串的高级处理
11.5.1 字符串的比较——Strcmp(char*s1,char*s2)
11.5.2 抽取子字符串——Substr(cha*s1,int pos,int len)
11.5.3 字符串的比较
11.5.4 字符串的分割
11.5.5 常用的字符串函数
11.6 字符串转换数值的应用
第12章 图形结构
12.1 何谓图形结构
12.1.1 无向图形
12.1.2 有向图形
12.1.3 完全图形
12.1.4 子图形
12.1.5 路径
12.1.6 简单路径
12.1.7 回路
12.1.8 连通顶点
12.1.9 连通图形
12.1.10 连通单元
12.1.11 强连通顶点
12.1.12 强连通图形
12.1.13 强连通单元
12.2 图形的表法
12.2.1 邻接数组表示法
12.2.2 邻接列表表示法
12.2.3 多重邻接列表表示法
12.2.4 加权边的图形
12.3 图形的查找
12.3.1 深度优先法
12.3.2 广度优先法
12.3.3 连通组件
12.4 生成树问题
12.4.1 生成树
12.4.2 最小生成树
12.4.3 Kruskal算法
12.4.4 Prims算法
12.5 最短路径问题
附录A ASCII码
附录B 习题解答
猜您喜欢