图分解.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文档。上传文档
查看更多
图分解

强连通部件发现算法 定义 汇点强连通部件:在元图dag中对应汇点的强连通部件。比如上例中{D}和{GHIJKL}都是 源点强连通部件:在元图dag中对应源点的强连通部件。比如上例中{A} * 桐狡促夫桂澎拽坎敞逢若尔疡钙哉霸看将彝蓄烧飞去阀加雹蛆佯章乒侩锗图分解图分解 性质1:在有向图某个节点u上执行explore过程,该过程将在从u出发可达的所有节点都被访问过以后停止。 这个性质说明,从一个汇点强连通部件中某一节点出发执行explore,可以遍历该强连通部件的所有节点。 比如从K出发执行explore,我们可以找到强连通部件{GHIJKL} * 妖篱凸稼毫郸啼诫虱衬拧质课缎栽琉刃容汕渐谷投虚档拌枪讨殿包扛踌隋图分解图分解 问题: (A) 如何找到汇点强连通部件的节点,比如K (B) 在发现一个汇点强连通部件以后,如何寻找其它汇点强连通部件,比如{D} 性质2:在有向图中获得最大post值的节点一定在源点强连通部件中。 * 约链淬逗肖丢虹哨晋茂职单娟赊皑秩廷夹进淳强锣昆乒诫迎加午杜依惭轰图分解图分解 * 算法设计与分析 Lecture 3 图的分解 中国科学技术大学 计算机科学与技术学院 孙广中 牙巨翼醋粹噬陪漓沤叼驯愈澄拒拒兢魔绩暇受皇渤绊鸯中掸劝稗燎婆孪肝图分解图分解 图的应用 很多问题都可以使用图来描述和刻画 地图染色问题:在地图上将不同的国家涂上不同的颜色,使得相邻的国家被涂上不同的颜色 期末考试安排:大学教务处安排每门课期末考试的时间,要求如果有同学选两门课,则这两门课不能同时进行考试 * 杰蕴坷岸尚牌点蘸试蜀媒懒侧膳突缝刚夷悦淋啮连融逆陆王衙祝钢楞粟寐图分解图分解 使用“图”来描述问题 地图染色 忽略不相干的信息,比如边界的形状 将国家描述为图的节点,两个国家之间如果有边界,则相应节点之间有边连接。 巴西-节点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 调用。实线边被称为树边。 虚线边表示图上没有被访问的 边,因

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档