ericliwang

  博客园 :: 首页 :: 博问 :: 闪存 :: :: :: :: 管理 ::

2010年12月2日

摘要: 一、单源点最短路径问题 :问题描述:给定带权有向图G=(V, E)和源点v∈V,求从v到G中其余各顶点的最短路径。迪杰斯特拉(Dijkstra)提出了一个按路径长度递增的次序产生最短路径的算法。Dijkstra算法:基本思想:设置一个集合S存放已经找到最短路径的顶点,S的初始状态只包含源点v,对vi∈V-S,假设从源点v到vi的有向边为最短路径。以后每求得一条最短路径v, …, vk,就将vk加入集合S中,并将路径v, …, vk , vi与原来的假设相比较,取路径长度较小者为最短路径。重复上述过程,直到集合V中全部顶点加入到集合S中。 下一条最短路径(设其终点为vi)或者是弧(v0,vi). 阅读全文
posted @ 2010-12-02 12:05 ericliwang 阅读(272) 评论(0) 推荐(0) 编辑

2010年11月30日

摘要: 一、图的抽象数据结构类型:ADT Graph{ 数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。 数据关系R:R={VR} VR={<v,w>|v,w∈V且P(v,w),<v,w>表示从v到w的弧, 谓词P(v,w)定义了弧<v,w>的意义或信息} 基本操作: CreateGraph( &G, V, VR ) 初始条件:V是图的顶点集,VR是图中弧的集合。 操作结果:按V和VR的定义构造图G。 DestroyGraph( &G ) 初始条件:图G存在。 操作结果:销毁图G。 LocateVex( G, u ) 初始条件:图G存在,u 阅读全文
posted @ 2010-11-30 22:15 ericliwang 阅读(481) 评论(0) 推荐(0) 编辑