并串数据结构学习笔记(三).doc
《并串数据结构学习笔记(三).doc》由会员分享,可在线阅读,更多相关《并串数据结构学习笔记(三).doc(27页珍藏版)》请在咨信网上搜索。
(三)基于图的几个算法 图的相关概念参考最新版的PDF的preliminaries这一章节; 建议这一部分对比pdf一起读,里面涉及比较多的算法,算法里面有很多细节问题,pdf讲算法时很多小问题值得思考 基于图的相关函数及其复杂度 图的搜索(gragh search) 注:上面是图的搜索中如何从当前层的搜索进入下一层的搜索的流程,具体实现时可以有几步合并成一步进行。将上述过程完善就可得到图的搜索的一般流程: 注:上述算法中涉及一个选择的问题,正由于这个选择(后面的步骤会相应作出一点改变)才导致了许多不同的算法,基于不同的选择,介绍三种不同算法: 三种图的搜索算法:(PFS,BFS,DFS) PFS(priority-first search):基于一个自己定义的优先级搜索。 BFS(breadth-first search):基于宽度优先的搜索。即每一层所有结点访问结束后才进入下一层结点的访问。 BFS算法的访问过程 X N i F { } 0 {s} {s} {a,b} 1 {a,b} {s,a,b} {b,c,d} 2 {c,d} {s,a,b,c,d} {s,c,e,f} 3 {e,f} {s,a,b,c,d,e,f} { } 4 { } 复杂度的计算: 一、 三行基于树的操作可以直接得到类似于union的计算得到 第二行是基于table的操作 single threaded sequence(st sequence):一种sequence sequence,即一个sequence中的每一个元素均为sequence,而每个sequence按找每个点的顺序存放,每个sequence中的元素为与该sequence对应的点的邻接点按顺序组成的sequence 下面是一个st sequence的例子: 注:st sequence访问其中的元素相对方便,速度也较快,而添加或删减一条边的复杂度均较高,因此在只访问不改变存储元素的情况下使用st sequence较为方便 下面采用st sequence来生成BFS树: 注:上面对比了X,F基于sequence和st sequence实现的复杂度 DFS(depth-first search):基于深度优先的搜索。即优先沿着一条路径访问到叶结点再访问其他路径。 定义DFS number:v/u,v表示第一次访问到该结点所用的次数;u表示最后一次访问该结点所用的次数。 BFS算法的访问过程 依次访问的结点 v u s 0 a 1 c 2 e 3 e(回溯) 4 f 5 f(回溯) 6 c(回溯) 7 b 8 d 9 d(回溯) 10 b(回溯) 11 a(回溯) 12 s(回溯) 13 记图中任意一条有向边为ei→ej其DFS number分别为:vi/ui,vj/uj,则: cross edge:vi<vj且ui<uj或vi>vj且ui>uj front edge:vi<vj且ui>uj back edge:vi>vj且ui<uj 保存DFS number的DFS算法如下: topological sort 原理: 基于DFS number的环路检测: higher order DFS 由此可以导出以下算法: 基于ST sequence实现的DFS 最短路径 Dijkstra’s algorithm 具体实现如下: 复杂度: 注:该算法并行度不高,work和span统一数量级 Bellman Ford algorithm 表示从s点到t点用最多k条边的最短路径长度(每条边有权值) 基于下面关系,可以得到Bellman Ford algorithm算法 每一层的复杂度为: 由于最多为迭代n次,因此复杂度最大为: 注:逆向思考,从v点往前思考 graph contration 问题:收缩的时候会部分结点有可能重复,需要避免这个问题,于是有如下两种收缩方式: star graph伪代码如下: 第六行的union操作具体为: 通过图的收缩来判断连通性 如果想将每个连通分支的结点都返回的话,做如下改进: 复杂度分析: 假设一次迭代后,点的个数由个变成了个, 由于,因此, 因此迭代的次数期望为级别。 下面计算一个high probability的work,即认为,迭代次数为级别 注:每次至少减少的边数不少于收缩的点数 故: 当G为树时,有:(span不改变) 最小生成树(minimum spanning tree) 注:pdf中这部分限制了图的权值不允许出现重复,这个定理成立的条件便是在不出现重复权值,一旦权值重复则该定理不正确,因为最小生成树可能不止一个,这是就无法根据局部性质判断出那一条边一定不在一个最小生成树里面,不过可以确定的是,仍然选取最小的权值一定在一个最小生成树里面,但其他的最小生成树里面可能没有这条边,并且每次并不是都选取的最短权值的边 Kruskal’s algorithm insert 的复杂度基于不同的数据结构,但不超过,由于进行了O(m)次迭代,因此,span同理也为 Prim’s algorithm Borůvka’s algorithm 对树进行contraction,基于sequence实现,其work为,span为,而update操作的work为,故总的work为,由于最多进行次迭代,因此work为,span为,用star contraction改进最终work仍为,span降低为,下面用star contraction改进: TSP与MST的关系 前提条件:图中无权值为负的边;任意三个点a,b,c,满足三角不等式: 注:满足这个三角不等式的TSP问题称为metric TSP问题 在一棵最小生成树中任意选取一点s,用DFS算法的访问路径来进行访问,最终又回到s点,任意两个点u,v必定会有从u访问到v,再从v访问到u两种情况,路径上的每条边都访问了两次,这时有部分点被重复访问了,如下图: 于是引进shortcut来进行调整(三角不等式保证了总权值不会增加),如下图: 这里给出了一种访问每个点的并回到起点的方案,而且其复杂度为MST算法复杂度的两倍,而最好的情况是MST为一条线且最后一步直接回到起点,因此有:- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学习 笔记
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文