书籍详情
数据结构与算法(C语言版)
作者:胡明,王红梅 编著
出版社:电子工业出版社
出版时间:2011-11-01
ISBN:9787121148347
定价:¥32.00
购买这本书可以去
内容简介
《普通高等教育“十二五”规划教材:数据结构与算法(C语言版)》将基本的算法设计技术和数据结构很好地结合起来,第1章介绍数据结构和算法在程序设计中的作用,以及数据结构和算法的基本概念;第2章以初等数论作为应用实例介绍基本的算法设计技术,使学生初步理解常用的蛮力法、分治法、减治法、贪心法、动态规划法等算法设计技术的设计思想;第3~7章依次介绍线性表、栈和队列、字符串和多维数组、树和二叉树、图等数据结构,并从算法设计技术的角度讨论数据结构的基本操作;第8章和第9章是常用数据处理技术,包括查找和排序,并从算法设计技术的角度阐述查找和排序的算法思想和设计过程。《普通高等教育“十二五”规划教材:数据结构与算法(C语言版)》内容丰富,层次清晰,深入浅出,可作为高等学校计算机及相关专业数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。
作者简介
暂缺《数据结构与算法(C语言版)》作者简介
目录
第1章绪论
1.1问题求解与程序设计
1.1.1程序设计的一般过程
1.1.2数据结构在程序设计中的作用
1.1.3算法在程序设计中的作用
1.1.4本书讨论的主要内容
1.2数据结构的基本概念
1.2.1数据结构
1.3算法的基本概念
1.3.1算法及其重要特性
1.3.2算法的描述方法
1.4算法分析
1.4.1算法的时间复杂度
1.4.2算法的空间复杂度
1.4.3算法分析举例
习题1
第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.4贪心法
2.4.1贪心法的设计思想
2.4.2算法设计实例——埃及分数
2.5动态规划法
2.5.1动态规划法的设计思想
2.5.2算法设计实例——数塔问题
习题2
第3章线性表
3.1引言
3.2线性表的逻辑结构
3.2.1线性表的定义
3.2.2线性表的抽象数据类型定义
3.3线性表的存储结构及实现
3.3.1顺序表
3.3.2单链表
3.3.3双链表
3.3.4循环链表
3.3.5静态链表
3.3.6顺序表和链表的比较
3.4应用实例
3.4.1约瑟夫环问题
3.4.2一元多项式求和
习题3
第4章栈和队列
4.1引言
4.2栈
4.2.1栈的逻辑结构
4.2.2栈的顺序存储结构及实现
4.2.3栈的链接存储结构及实现
4.2.4顺序栈和链栈的比较
4.3队列
4.3.1队列的逻辑结构
4.3.2队列的顺序存储结构及实现
4.3.3队列的链接存储结构及实现
4.2.4循环队列和链队列的比较
4.4应用举例
4.4.1括号匹配问题
4.4.2表达式求值
习题4
第5章字符串和多维数组
5.1引言
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.4.4稀疏矩阵的压缩存储
5.5应用实例
5.5.1发纸牌
5.5.2八皇后问题
习题5
第6章树和二叉树
6.1引言
6.2树的逻辑结构
6.2.1树的定义和基本术语
6.2.2树的抽象数据类型定义
6.2.3树的遍历操作
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二叉树的存储结构
6.5.1顺序存储结构
6.5.2二叉链表
6.5.3三叉链表
6.5.4线索链表
6.6二叉树遍历的非递归算法
6.6.1前序遍历非递归算法
6.6.2中序遍历非递归算法
6.6.3后序遍历非递归算法
6.7树、森林与二叉树的转换
6.8应用实例
6.8.1文件系统
6.8.2哈夫曼树及哈夫曼编码
习题6
第7章图
7.1引言
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.1Prim算法
7.4.3Kruskal算法
7.5最短路径
7.5.1Dijkstra算法
7.5.2Floyd算法
7.6有向无环图及其应用
7.6.1AOV网与拓扑排序
7.6.2AOE网与关键路径
7.7应用实例
7.7.1七巧板涂色问题
7.7.2医院选址问题
习题7
第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平衡二叉树
8.3.3B-树
8.3.4B+树
8.4散列表的查找技术
8.4.1概述
8.4.2散列函数的设计
8.4.3处理冲突的方法
8.4.4散列查找的性能分析
8.4.5开散列表与闭散列表的比较
8.5各种查找方法的比较
习题8
第9章排序技术
9.1概述
9.1.1排序的基本概念
9.1.2排序算法的性能
9.2插入排序
9.2.1直接插入排序
9.2.2折半插入排序
9.2.3希尔排序
9.3交换排序
9.3.1起泡排序
9.3.2快速排序
9.4选择排序
9.4.1简单选择排序
9.4.2堆排序
9.5归并排序
9.5.1二路归并排序的递归实现
9.5.2二路归并排序的非递归实现
9.6分配排序
9.6.1桶式排序
9.6.2基数排序
9.7各种排序方法的比较
习题9
附录A词汇索引
附录B计算机学科硕士研究生入学考试专业基础综合考试大纲(数据结构部分)
参考文献
1.1问题求解与程序设计
1.1.1程序设计的一般过程
1.1.2数据结构在程序设计中的作用
1.1.3算法在程序设计中的作用
1.1.4本书讨论的主要内容
1.2数据结构的基本概念
1.2.1数据结构
1.3算法的基本概念
1.3.1算法及其重要特性
1.3.2算法的描述方法
1.4算法分析
1.4.1算法的时间复杂度
1.4.2算法的空间复杂度
1.4.3算法分析举例
习题1
第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.4贪心法
2.4.1贪心法的设计思想
2.4.2算法设计实例——埃及分数
2.5动态规划法
2.5.1动态规划法的设计思想
2.5.2算法设计实例——数塔问题
习题2
第3章线性表
3.1引言
3.2线性表的逻辑结构
3.2.1线性表的定义
3.2.2线性表的抽象数据类型定义
3.3线性表的存储结构及实现
3.3.1顺序表
3.3.2单链表
3.3.3双链表
3.3.4循环链表
3.3.5静态链表
3.3.6顺序表和链表的比较
3.4应用实例
3.4.1约瑟夫环问题
3.4.2一元多项式求和
习题3
第4章栈和队列
4.1引言
4.2栈
4.2.1栈的逻辑结构
4.2.2栈的顺序存储结构及实现
4.2.3栈的链接存储结构及实现
4.2.4顺序栈和链栈的比较
4.3队列
4.3.1队列的逻辑结构
4.3.2队列的顺序存储结构及实现
4.3.3队列的链接存储结构及实现
4.2.4循环队列和链队列的比较
4.4应用举例
4.4.1括号匹配问题
4.4.2表达式求值
习题4
第5章字符串和多维数组
5.1引言
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.4.4稀疏矩阵的压缩存储
5.5应用实例
5.5.1发纸牌
5.5.2八皇后问题
习题5
第6章树和二叉树
6.1引言
6.2树的逻辑结构
6.2.1树的定义和基本术语
6.2.2树的抽象数据类型定义
6.2.3树的遍历操作
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二叉树的存储结构
6.5.1顺序存储结构
6.5.2二叉链表
6.5.3三叉链表
6.5.4线索链表
6.6二叉树遍历的非递归算法
6.6.1前序遍历非递归算法
6.6.2中序遍历非递归算法
6.6.3后序遍历非递归算法
6.7树、森林与二叉树的转换
6.8应用实例
6.8.1文件系统
6.8.2哈夫曼树及哈夫曼编码
习题6
第7章图
7.1引言
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.1Prim算法
7.4.3Kruskal算法
7.5最短路径
7.5.1Dijkstra算法
7.5.2Floyd算法
7.6有向无环图及其应用
7.6.1AOV网与拓扑排序
7.6.2AOE网与关键路径
7.7应用实例
7.7.1七巧板涂色问题
7.7.2医院选址问题
习题7
第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平衡二叉树
8.3.3B-树
8.3.4B+树
8.4散列表的查找技术
8.4.1概述
8.4.2散列函数的设计
8.4.3处理冲突的方法
8.4.4散列查找的性能分析
8.4.5开散列表与闭散列表的比较
8.5各种查找方法的比较
习题8
第9章排序技术
9.1概述
9.1.1排序的基本概念
9.1.2排序算法的性能
9.2插入排序
9.2.1直接插入排序
9.2.2折半插入排序
9.2.3希尔排序
9.3交换排序
9.3.1起泡排序
9.3.2快速排序
9.4选择排序
9.4.1简单选择排序
9.4.2堆排序
9.5归并排序
9.5.1二路归并排序的递归实现
9.5.2二路归并排序的非递归实现
9.6分配排序
9.6.1桶式排序
9.6.2基数排序
9.7各种排序方法的比较
习题9
附录A词汇索引
附录B计算机学科硕士研究生入学考试专业基础综合考试大纲(数据结构部分)
参考文献
猜您喜欢