- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络分析算法 图 图(Graph)是较树更为复杂的数据结构,在图中,结点之间的关系是任意的,图中任意两个数据元素都可能相关。下图给出了图的示例。 图 图的形式化定义为: Graph = (V,R) 其中: V={x|x∈dataobject} R={VR} VR={x,y|P(x,y)∧(x,y∈V)} 图中数据元素称为顶点(Vertex),V是顶点的有穷非空集合;VR 是两个顶点之间的关系的集合,其定义中P(x,y)表示x到y的一条 单向通路;若x,y∈VR,则x,y表示从x到y的一条弧,此时图 称为有向图(Digraph);若图中的边没有方向,则此时图称为无 向图。 在图中,如果x,y∈VR,则x,y互为邻接点。路径(Path) 是一个顶点序列(V1,V2,…Vn),其中Vi和Vi+1为邻接点。 图可以有多种存储结构,其中最普通的是采用邻接矩阵,如果两 个结点Vi,Vj∈VR,则矩阵对应元素A[i,j]=1,反之,A[i,j]=0。 图 无向图的邻接矩阵是对称的,而有向图的邻接矩阵则不一定对称,图中两个图的邻接矩阵如下(其中没有考虑相同点邻接性): 网络分析算法 网络数据结构的基本组成部分和属性: 1、链(Link) 网络中流动的管线如街道、河流、水管,其状态属性包括阻力 和需求。 2、结点(Node) 网络中链的结点,如港口、车站等,其状态属性包括阻力和需 求等。 结点中的特殊类型 障碍(Barrier):禁止网络上流动的点。 拐点(Turn):出现在网络中的分割点上,其状态有属性和阻 力,如拐弯的时间和限制(如在8点到18点不允许左拐)。 中心(Center):是接受或分配资源的位置,如水库、商业中 心,电站等,其状态包括资源容量(如总量),阻力限额(中 心到链的最大距离或时间)。 站点(Stop):在路径选择中资源增减的结点,如库房、车站 等,其状态属性有资源需求,如产品数量。 路径分析 1.静态求最佳路径:在给定每条链上的属性后,求最佳路径。 2.N条最佳路径分析:确定起或终点,求代价最小的N条路径, 因为在实际中最佳路径的选择只是理想情况,由于种种要素而 要选择近似最佳路径。 3.最短路径或最佳耗费路径:确定起点终点和要经过的中间 点、中间连线,求最短路径或最佳耗费路径。 4.动态最佳路径分析:实际网络中权值是随权值关系式变化 的,可能还会临时出现一些障碍点,需要动态的计算最佳路 径。 最小值问题求解 如:有数组int Array[n](Array[i]1000,i=0,n), 如何找出它们之中的最小值? 最佳路径求解 最佳路径求解有多种不同的方法,其中Dijkstra算法适合于求解某个起点(源点)到网络中的其它各个结点的最佳路径。 Dijkstra算法(1) Dijkstra算法(2) Dijkstra算法(3) Dijkstra算法(4) 例子 例子(思路) 例子(思路) 例子(思路) 例子(思路) 例子(思路) 例子(思路) 例子(思路) 例子(思路) 例子: 例子 例子 求最短路径的方法 中心选址问题 中心选址问题的图论描述 中心选址问题的实例: 中心选址问题的实例 中心选址问题的实例 另外一种求最短路径的方法 0 1 int FindMin(int *array, int bound) { int min=1000; for(int i=0;ibound;i++) if(array[i]=min) min=array[i]; return min; } int array[7]={789,33,7898,7565,76,22,88}; int result=FindMin(array,7); ASSERT(result = =22) …… 1、引进一个辅助向量D,它的每个分量D[i]表示当前所找到的从起点 vm 到每个终点vi的最短路径的长度。 假设用带权的邻接矩阵arcs来表示带权有向图,arcs[i][j]表示弧 vi, vj 上的权值。 若 vi, vj 不连通,则arcs[i][j]=∞。 那么D[i]的初值为: D[i]=arcs[m][i] vi∈V 此外,将已找到的从vm 出发的最短路径的终点的集合记为S,它的初始状态为空集。 2、选择 vj 使得 D[j]=Min{D[i] | vi∈V-S} Vj就是当前求得的一条从vm出发的最短路径的
您可能关注的文档
最近下载
- 高职入学考试英语复习指导丛书—语法专项训练教学课件(第四章数词).pptx VIP
- 2025年秋统编版语文三年级上册全册教学课件(课标版).pptx
- 2025年最新人教版小学二年级数学上册教学计划及进度表(新课标,新教材).docx
- 小区监控系统设计方案.pptx VIP
- 丹方模拟器1.32(新增龙宫草药)(1).xlsx VIP
- 等一朵花开读书分享PPT.pptx VIP
- 2012国际严重脓毒症和脓毒症休克治疗指南(SSC)..doc VIP
- 【免费】小学一年级数学“凑十法”练习题100道 .pdf VIP
- 幼儿园装修工程实施方案(模板范文).docx
- 高中物理必修二学历案.docx VIP
文档评论(0)