数据结构实用教程

出版时间:2012-11  出版社:清华大学出版社  作者:张居晓,葛武滇,乔正洪,朱胜强 编著  页数:340  字数:533000  

内容概要

  《高职高专工作过程·立体化创新规划教材·计算机系列:数据结构实用教程》依据高职高专计算机基础教育的特点,结合作者多年从事计算机教育的经验编写而成。全书共10章,主要内容包括绪论、线性表、栈和队列、串、数组及广义表、树、图、查找、排序以及综合实训。
  《高职高专工作过程·立体化创新规划教材·计算机系列:数据结构实用教程》以“工作场景导入”一“知识讲解”一“回到工作场景”一“工作实训营”为主线编写,以例题配合深入学习,知识讲解细致。同时,每章都有配套的实训练习,突出了实用性和操作性,另外还提供了实践中常见问题解析,能够进一步拓展学生的知识,灵活应对实际操作时会遇到的困难,使学生提高操作能力。本书结构清晰、易教易学、实例丰富、可操作性强、学以致用、注重能力的培养。
  《高职高专工作过程·立体化创新规划教材·计算机系列:数据结构实用教程》注重实际应用,既可作为高职高专院校计算机及相关专业的教材,也可作为各类培训班的培训教程。此外,本书也适合于有关工程技术人员、技师参考阅读。

书籍目录

第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.2.4 算法设计的空间复杂度
本章小结
习题
第2章 线性表
2.1 工作场景导入
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.4.3 循环链表
2.5 回到工作场景
2.6 工作实训营
2.6.1 训练实例
2.6.2 常见问题解析
本章小结
习题
第3章 栈和队列
3.1 工作场景导入
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.5 工作实训营
3.5.1 训练实例一:模拟排队看病
3.5.2 训练实例二:模拟计算器
3.5.3 常见问题解析
本章小结
习题
第4章 串
4.1 工作场景导入
4.2 串的基本概念
4.3 串的顺序存储结构与基本操作
4.4 串的链式存储结构
4.5 串的模式匹配
4.5.1 Brute.Force算法
4.5.2 KMP算法
4.6 回到工作场景
4.7 工作实训营
4.7.1 训练实例
4.7.2 常见问题解析
本章小结
习题
第5章 数组及广义表
5.1 工作场景导入
5.2 数组的定义
5.3 数组的顺序存储结构与实现
5.3.1 数组的顺序存储结构
5.3.2 基本操作的实现
5.3.3 数组的应用举例
5.4 矩阵的压缩存储
5.4.1 特殊矩阵
5.4.2 稀疏矩阵
5.5 广义表
5.5.1 广义表的定义
5.5.2 广义表的存储结构
5.5.3 广义表的应用
5.6 回到工作场景
5.7 工作实训营
5.7.1 训练实例
5.7.2 常见问题解析
本章小结
习题
第6章 树
6.1 工作场景导入
6.2 树的基本概念
6.2.1 树的定义
6.2.2 树的基本术语
6.3 二叉树
6.3.1 二叉树的基本概念
6.3.2 二叉树的存储结构
6.4 二叉树的遍历
6.4.1 二叉树的前序遍历
6.4.2 二叉树的中序遍历
6.4.3 二叉树的后序遍历
6.5 线索二叉树
6.5.1 线索二叉树的定义
6.5.2 中序线索二叉树
6.6 树和森林
6.6.1 树的存储结构
6.6.2 森林、树、二叉树的相互转化
6.6.3 树和森林的遍历
6.7 哈夫曼树及其应用
6.7.1 哈夫曼树的概念
6.7.2 哈夫曼编码
6.8 回到工作场景
6.9 工作实训营
6.9.1 训练实例
6.9.2 常见问题解析
本章小结
习题
第7章 图
7.1 工作场景导入
7.2 图的基本概念与存储方式
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.3 图的遍历
7.3.1 深度优先搜索遍历
7.3.2 广度优先搜索遍历
7.3.3 遍历算法的实现
7.4 生成树和最小生成树
7.4.1 生成树
7.4.2 最小生成树
7.4.3 普里姆算法
7.4.4 克鲁斯卡尔算法
7.5 最短路径
7.5.1 单源点最短路径
7.5.2 所有顶点对最短路径问题
7.6 回到工作场景
7.7 工作实训营
7.7.1 训练实例
7.7.2 常见问题解析
本章小结
习题
第8章 查找
8.1 工作场景导入
8.2 查找的基本概念
8.3 顺序查找
8.4 二分查找
8.5 分块查找
^
第9章 排序
第10章 综合实训
附录 习题参考答案
参考文献

章节摘录

版权页:   插图:   【问题3】已知某带权连通无向图边的个数远远小于顶点的个数,若求其最小生成树用哪种算法最好? 【答】用克鲁斯卡尔(Kruskal)算法较好。该算法的时间复杂度是O。 该算法的基本思想:假设G=(V,E)是一个具有n个顶点e条边的连通图,T=(U,TE)是G的最小生成树,U的初值等于K即包含有G中的全部顶点,TE的初值为空集。该算法的基本思想是:将G中的边按权值从小到大的川页序依次选取,若选取的边使生成树T形成回路,则将其舍弃,如此进行下去,直到TE中包含n一1条边为止,此时的T即为最小生成树。 【问题4】在求每两个顶点间的最短路径的(Floyd)算法中有什么要求? 【答】Floyd算法在使用中的限制:图中允许负边,但图中不能含有带负权值的边组成的回路。 【问题5】求有向无环图的拓扑序列时,其结果为何不唯一? 【答】因为可能存在n个结点的入度都为0,选择从哪一个开始排序将决定排序的顺序。 【问题6】怎样判断一个有向图是否有回路? 【答】拓朴排序可以判断图中是否有回路,当拓扑排序进行到图中没有入度(或出度)为0的结点,但还有结点没有被排序的情况,则说明有回路。 每次将一个没有入度的结点从图中删除,并删除从此结点出发的边。如果最后没有结点剩余,则说明该有向图不存在回路。 对于一个n个结点的无向连通图,该图无环当且仅当它只有n—1条边。由图的边数和度数的关系可知,如果一个无向图所有顶点的度≥2,则它边数至少为n。所以该无向连通图必存在回路。 【问题7】如何用图的框架及其遍历方法解决背包问题? 【答】背包问题是指:设有n个物品,其重量分别为W1,W2,…,Wn,所有物品的重量之和大于等于背包所能放置的重量S,要求从中找出若干物品放入背包中,使得其重量之和正好为S的所情况。 假设有5个物品的有向图如图7—22所示。 对图7—22所示的有向图,采用图的深度优先遍历算法分别从顶点W1、W2、W3、W4、W5开始进行深度优先遍历,且判断访问的顶点序列的权值之和是否为S,若是,则输出,否则继续。若设S=50,n=5,(W1,W2,W3,W4,W5)=(29,19,18,3,2),则满足要求的所有输出序列为: (1) 29, 19, 2 (2) 29, 18, 3 通常图的深度优先遍历是基于邻接表存储结构,而n个物品的重量是存放在数组W[1..n]中的,若按照图7—4格式建立邻接表,将增加算法的存储空间。为此,将教组W[1..n]看成为虚拟的邻接表,其中W[i]的邻接点为W[i+1],W[i+2],…,W[n],则得到“背包”问题的递归和非递归算法。我们只介绍解决“背包”问题的递归算法。

编辑推荐

《高职高专工作过程•立体化创新规划教材•计算机系列:数据结构实用教程》注重实际应用,既可作为高职高专院校计算机及相关专业的教材,也可作为各类培训班的培训教程。此外,《高职高专工作过程•立体化创新规划教材•计算机系列:数据结构实用教程》也适合于有关工程技术人员、技师参考阅读。

图书封面

评论、评分、阅读与下载


    数据结构实用教程 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7