- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章图1讲述
第六章回顾 树的定义和基本术语 子树 孩子 叶子 兄弟 度 …… 二叉树的性质 2k-1 2k-1 n0=n2+1 [log2n]+1 i的双亲 [i/2]; 2in, i无左孩子 ;2i+1n, i无右孩子 二叉树的存储结构 二叉链表、三叉链表 二叉树的遍历 先序遍历、中序遍历、后序遍历 线索二叉树 在二叉链表的基础上增加两个标志域,表示按某种次序遍历时的前驱和后继 树的三种存储结构 双亲表示法 孩子链表表示法 孩子兄弟表示法 森林和二叉树的转换 由森林转换为二叉树 由二叉树转换为森林 树和森林的遍历 树的先根遍历(= 二叉树的先序遍历) 树的后根遍历(= 二叉树的中序遍历) 森林的先序遍历(= 二叉树的先序遍历) 森林的中序遍历(= 二叉树的中序遍历) 赫夫曼树和赫夫曼编码 课前思考 1、如何确定一项工程的工期?最佳工期如何计算?(关键路径问题) 2、如何以最低造价架构城市之间的通信网?几个小区之间要建一个供水站,建在什么位置最合适?(最小生成树问题) 3、如何合理安排大一到大四的教学计划?(拓扑排序问题) 4、从上海到北京怎么走最省时间或金钱?如何花费最少周游所有城市? (最短路径问题) 课前导学 7.1 图的定义和术语 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径 知识点小结 【学习目标】 1.领会图的类型定义。 2.熟悉图的各种存储结构及其构造算法, 了解各种存储结构的特点及其选用原则。 3.熟练掌握图的两种遍历算法。 4.理解各种图的应用问题的算法。 【重点和难点】 理解各种图的算法及其应用场合。? 【考试知识点:】 1、理解图的概念、术语。 2、掌握图的存储结构(邻接矩阵、邻接表、逆邻接表、十字链表)。 3、掌握图的遍历方法(深度优先遍历,广度优先遍历)。 4、掌握图的最小生成村的算法(Prim算法,Kruskal算法)。 5、掌握图的单源最短路径的dijstra算法。 6、了解所有顶点对之间的最短路径的Floyd算法。 【学习指南】 数据结构中对图的讨论侧重于在计算机中如何表示图以及如何实现图的操作和应用等。图是较线性表和树更为复杂的数据结构,因此和线性表、树不同,虽然在遍历图的同时可以对顶点或弧进行各种操作,但更多图的应用问题如求最小生成树和最短路径等在图论的研究中都早已有了特定算法,在本章中主要是介绍它们在计算机中的具体实现,应多对照具体图例的存储结构进行学习。而图遍历的两种搜索路径和树遍历的两种搜索路径极为相似,应将两者的算法对照学习。 7.1 图的定义和术语 1. 基本定义和术语 图(Graph)——图G是由两个集合V(G)和E(G)组成的,记为G=(V,E),其中:V(G)是顶点(Vertex)的非空有限集E(G)是边(Edge)的有限集合,边是顶点的无序对(即:无方向的,(v0,v2))或有序对(即:有方向的,v0,v2)。 有向图(Digraph)—— 有向图G是由两个集合V(G)和E(G)组成的,其中:V(G)是顶点的非空有限集,E(G)是有向边(也称弧)的有限集合,弧是顶点的有序对,记为v,w,v,w是顶点,v为弧尾,w为弧头 无向图(Undigraph)—— 无向图G是由两个集合V(G)和E(G)组成的其中:V(G)是顶点的非空有限集,E(G)是边的有限集合,边是顶点的无序对,记为(v,w)或(w,v),并且(v,w)=(w,v) 有向完备/全图——n个顶点的有向图最大边数是n(n-1) 无向完备/全图——n个顶点的无向图最大边数是n(n-1)/2 顶点的度 无向图中,顶点的度为与每个顶点相连的边数 有向图中,顶点的度分成入度与出度 入度:以该顶点为头的弧的数目 出度:以该顶点为尾的弧的数目 子图——如果图G(V,E)和图G’(V’,E’),满足:V’?V E’?E 则称G‘为G的子图 权(Weight)——与图的边或弧相关的数,可以表示两个顶点之间的距离或耗费 网——带权的图 上海→北京 怎么走最优? 路径——路径是顶点的序列V={Vi,0,Vi,1,……Vi,n},满足(Vi,j-1,Vi,j)?E 或 Vi,j-1,Vi,j?E,(1j?n) 路径长度——沿路径边的数目或沿路径各边权值之和 回路——第一个顶点和最后一个顶点相同的路径 简单路径——序列中顶点不重复出现的路径 简单回路——除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路 连通——从顶点V到顶点W有一条路径,则说V和W是连通的
文档评论(0)