青少年信息学奥林匹克竞赛实战辅导丛书 数据结构及其应用
定 价:34 元
- 作者:沈军主编7
- 出版时间:2009/3/1
- ISBN:9787564116095
- 出 版 社:东南大学出版社
- 中图法分类:TP311.12
- 页码:320
- 纸张:胶版纸
- 版次:1
- 开本:16K
《数据结构及其应用》是面向青少年信息学奥林匹克竞赛活动训练的教材。《数据结构及其应用》共分为6章,分别是概述(数据结构基础)、线性结构及其应用、线性结构的深入应用、层次结构(树)及其应用、网状结构(图)及其应用、数据结构深入应用。《数据结构及其应用》以最主要的三种数据组织的逻辑结构(线性、层次、网状)为主线,将数据结构知识恰当地应用到实际问题的解决中,详细分析了每一种逻辑结构的不同的存储方式以及基于不同存储方式建立的对问题求解的算法。每章均配有适量习题。
《数据结构及其应用》特色是描述简单、易懂、易学,有机地将实际问题求解、竞赛问题求解与数据结构紧密结合,使读者感悟到数据结构与算法之间的关系,体会数据结构的具体应用之奥妙。
《数据结构及其应用》也可以作为大学生学习数据结构的配套辅导教材。
《数据结构及其应用》遵循青少年信息学奥林匹克竞赛大纲的要求,深入浅出地介绍了数据结构的基本知识、数据结构在程序设计中的作用以及数据结构与算法之间的关系。本教材将数据结构知识与算法设计有机结合,使读者了解数据结构在算法设计中的作用。
本教材遵循青少年信息学奥林匹克竞赛大纲的要求,深入浅出地介绍了数据结构的基本知识、数据结构在程序设计中的作用以及数据结构与算法之间的关系。本教材将数据结构知识与算法设计有机结合,使读者了解数据结构在算法设计中的作用。了解到同一个问题若采用的数据结构不同,其对应的算法实现也不相同;反之一个算法实现也可以采取不同的数据结构。
教材所涉及的内容及知识体系既考虑到中学生现有的知识水平和能力,同时又兼顾到他们在原有知识结构基础上的提高、拓展与创新。并且,将原本高等学校的教学内容,以初等教学的方式呈现在中学生面前,使学生易读、易学、易懂,也有利于教师开展培训工作。
由于我们的水平有限,加之时间比较紧,错误和不足之处在所难免,敬请专家和广大读者批评指正。
第1章 概述
1.1 相关概念
1.1.1 数据
1.1.2 数据元素
1.1.3 数据类型
1.1.4 数据结构
1.2 算法
1.2.1 算法概念及算法特性
1.2.2 算法的描述
1.2.3 算法的评价
1.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.3.3 双向链表基本操作的实现
2.3.4 循环链表基本操作的实现
2.4 线性表的应用
2.5 特殊线性结构——栈及其应用
2.5.1 栈及其基本操作
2.5.2 栈的存储方式
2.5.3 栈基本操作的实现
2.5.4 栈的应用
2.6 特殊线性结构——队列及其应用
2.6.1 队列及其基本操作
2.6.2 队列的存储方式
2.6.3 队列基本操作的实现
2.6.4 循环队列及其基本操作的实现
2.6.5 队列的应用
习题2
第3章 线性结构的深入应用
3.1 高精度运算
3.1.1 基本算法
3.1.2 应用实例
3.1.3 拓展
3.2 排序
3.2.1 简单排序算法
3.2.2 算法的改进
3.2.3 应用实例
3.3 查找
3.3.1 顺序表的查找
3.3.2 二分查找
3.3.3 索引查找
3.3.4 应用实例
3.4 散列查找
3.4.1 散列表的概念
3.4.2 散列函数的构造
3.4.3 处理冲突的方法
3.4.4 应用实例
3.5 分治
3.5.1 分治算法解决问题模式
3.5.2 应用实例
3.6 递推
3.6.1 递推算法
3.6.2 常见递推关系
3.6.3 应用实例
3.7 动态规划初探
3.7.1 动态规划的定义
3.7.2 动态规划的基本概念
3.7.3 应用实例
习题3
3.6.3 应用实例
3.7 动态规划初探
3.7.1 动态规划的定义
3.7.2 动态规划的基本概念
3.7.3 应用实例
习题3
第4章 层次结构(树)及其应用
4.1 从线性结构到层次结构——广义表及其操作
4.1.1 广义表概念及存储结构
4.1.2 广义表的建立与输出
4.1.3 广义袁的应用
4.2 树的基本概念
4.2.1 树的定义
4.2.2 树的表示方法
4.2.3 树的基本术语
4.3 二叉树的基本知识
4.3.1 二叉树基本概念
4.3.2 二叉树的性质
4.3.3 二叉树的存储结构
4.3.4 二叉树的建立算法
4.3.5 二叉树的基本运算
4.4 二叉树的应用
4.5 特殊二叉树及其应用
4.5.1 二叉排序树
4.5.2 哈夫曼树
4.5.3 哈夫曼编码
4.6 层次结构的综合应用
习题4
第5章 网状结构(图)及其应用
5.1 网状结构(图)的基本知识
5.1.1 图的基本概念
5.1.2 图的连通性
5.2 图的存储结构
5.2.1 邻接矩阵
5.2.2 邻接表
5.2.3 边集数组
5.2.4 邻接压缩表
5.2.5 几种存储结构比较
5.3 图的遍历
5.3.1 图的深度优先遍历
5.3.2 图的广度优先遍历
5.3.3 应用实例
5.4 图的应用
5.4.1 求图的某个通路
5.4.2 求图的最小生成树
5.4.3 求图的最短路径
5.4.4 图的拓扑排序及关键路径
习题5
第6章 数据结构深入应用
6.1 概述
6.2 从数据结构与算法的关系优化算法
6.2.1 数学建模与算法优化
6.2.2 时空优化与搜索算法
6.3 数据结构与动态规划
6.3.1 线性结构与动态规划
6.3.2 树型结构与动态规划
6.4 综合应用举例
6.5 总结
习题6
参考文献
第1章 概述
【本章学习要点】
(1)了解数据、数据结构、算法等基本概念的含义。
(2)掌握数据逻辑结构的三种常用类型及表示方法,掌握数据物理结构的常用类型及含义。
(3)掌握算法的基本特点及算法的描述方法,并具备基本的算法评价能力。
伴随着计算机的发展,计算机的应用领域从最初的科学计算逐步发展到人类活动的各个领域。现在计算机处理的对象不仅是简单的数值或字符,还有不同结构的各种数据。因此,要设计一个比较好的程序,通过计算机工具处理问题,除了掌握计算机语言外,还需要研究各种数据的特性和数据之间存在的关系,建立方便有效的数据结构,合理组织好用于处理的数据对象。针对同一个问题的求解,若采用的数据结构不同,则建立在其之上的处理问题的算法也不完全相同,处理问题的效率也大相径庭。著名计算机科学家N-Wirth指出:算法+数据结构一程序。可见,数据结构在计算机问题处理中具有重要地位,认识和理解各种数据结构成为计算机程序设计的基础。
1.1 相关概念
1.1.1 数据
数据(data)是对客观事物的符号表示。在计算机领域,数据是指所有能输入到计算机中,并能被计算机存储、处理和输出的一切信息,如文字、图形、图像、声音和视频等。