图的分.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图的分

*;图的应用;使用“图”来描述问题 地图染色 忽略不相干的信息,比如边界的形状 将国家描述为图的节点,两个国家之间如果有边界,则相应节点之间有边连接。 巴西-节点1 阿根廷-节点11 安排考试 每门课是一个 节点 如果有同学选 两门课,对应 两个点有边连 接;图的表示 包含点的集合V和边的集合E ,如果 ,图可以用一个邻接矩阵表示, 如果图的边有方向(称为有向图),则 ;如果无方向(称为无向图),则 ,矩阵是对称矩阵。 在计算机中存储图,如果采用邻接矩阵,占用空间 ,这种方法在矩阵密度不高的情况下比较浪费空间 仅仅存储边,比如在每个节点上存储和该节点连接的边,占用空间 。称为邻接表;如何确定图的存储方式 取决于|V|和|E|之间的关系。 当|E||V|-1,图中将出现孤立的点 边数最少的连通的图是树,有|E|=|V|-1 |E|最多为|V|2-|V| 当|E|接近|V|时,称图是稀疏的,此时采用邻接表的方式比较节省空间。 例如,如果WWW上每个网页是一个节点,每个超链接是一个边,将会有超过80亿个节点,采用邻接矩阵存储需要几百万T(1012)的空间。如果采用邻接表(几百亿超链接),一两个T就够了。;无向图上深度优先搜索-迷宫搜索;走迷宫的办法,粉笔和细绳,粉笔标记走过的路口,细绳用于回到出发点。 计算机实现: 每个节点用一个布尔变量标记是否访问过;用栈实现细绳的功能,我们使用递归调用体现栈的功能。;算法说明 previsit()和postvisit()是可选的,表示在访问一个节点前和访问后做的一些操作,比如打印一条消息 算法的正确性 首先,算法不会访问从v出发不能到达的节点 是否访问从v出发能够到达的所有节点? 假设节点u没有被访问到,而从v到u存在一条路径 z是这条路径上算法访问到的最后一个节点,w是路径上z后面的那个节点 则算法在执行explore(z)时一定会访问w,这与z是该路径上算法访问的最后一个节点的假设冲突;算法执行情况 一个节点上多条边存在时按字母顺序访问下一节点。这个树被称为深度优先搜索树(DFS树) 实线表示图上实际被访问的边, 每条实??边代表一个explore 调用。实线边被称为树边。 虚线边表示图上没有被访问的 边,因为访问这些边不会发现 新的节点。虚线边被称为回边。;深度优先搜索;算法分析 每当DFS访问一个节点,做两件事 标记节点为“visited” 检查从节点出发所有的边 对所有节点,第一件事耗时O(|V|);对每条边,算法至多检查两次,因此第二件事耗时O(|E|)。DFS总耗时O(|V|+|E|)。 这是非常好的结果,算法耗时与图的规模呈线性关系;算法执行实例 算法先后调用explore(A),explore(C)和explore(F)。 算法产生三棵DFS搜索树,称为一个DFS森林;无向图的连通性;将explore和DFS算法略作需改,就可以标记图的所有连通部分。 对每个节点,整数ccnum[v]表示v所属的连通部件的编号。 修改previsit如下 在DFS中初始化cc为0,并且DFS每次重新开始调用explore时,cc增加1。;前序和后序;性质:对任意两个节点u和v,区间[prev(u),post(u)]和[prev(v),post(v)]要么不相交,要么一个完全包含另一个。 不相交:从u出发的搜索不会访问v,从v出发的搜索也不会访问u u的区间包含v的区间:从u出发的搜索访问v;*;有向图上深度优先搜索-边的类型;对于有向图DFS产生的搜索树(森林),一些定义: A是树的根节点,是所有节点的祖先 所有节点是A的后裔 F、G和H是E的后裔,E是F、G和H的祖先 B是C和D的父节点、C和D是B的子节点 ;将有向图G上边集E中的边对应到DFS森林中,有一些定义: DFS森林中的实线被称为树边, 在这条边上调用explore 一条从节点到其非子节点的后 裔的边被称为前向边 一条从节点到其祖先的边被称 为回边 两个非祖先-后裔关系的节点之 间的边被称为横跨边 ;通过节点的pre和post值可以判定DFS树上节点之间的关系 如果u是v的祖先,DFS搜索将先访问u,并且通过explore(u)发现并访问v,所以有 或者表示为 pre和post所有可能情况,以及对应关系如下;有向无环图;性质:一个有向图是有环的,当且仅当深度优 先算法能够发现一条回边 如果(u,v)是一条回边,那么DFS树上存在v到u的路径,因此图上存在环 如果图上存在环v0?v1…?vk?v0

文档评论(0)

ybcm963 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档