lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1793回复:6

欢迎用过Mo网络分析模块的同志发表意见!放出例子让大家分享!

楼主#
更多 发布于:2004-09-27 08:38
欢迎用过Mo网络分析模块的同志发表意见!放出例子让大家分享!
喜欢0 评分0
西门吹血,有了鼓风机,就不用吹啦!
gisgirl
路人甲
路人甲
  • 注册日期2004-09-27
  • 发帖数18
  • QQ
  • 铜币2164枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-09-27 15:34
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
袁绍伦
路人甲
路人甲
  • 注册日期2003-08-08
  • 发帖数654
  • QQ164646905
  • 铜币1336枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-27 18:05
<P>短短的</P>
[此贴子已经被作者于2004-9-29 18:11:01编辑过]
愿意和大家交朋友! QQ:47559983 MSN:shaolun_yuan@hotmail.com eMail:shaolun-yuan@163.com
举报 回复(0) 喜欢(0)     评分
spring20002
路人甲
路人甲
  • 注册日期2004-09-23
  • 发帖数86
  • QQ
  • 铜币286枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-09-28 00:01
无聊
举报 回复(0) 喜欢(0)     评分
eeleo_Lion
论坛版主
论坛版主
  • 注册日期2003-11-29
  • 发帖数1798
  • QQ
  • 铜币551枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-29 20:23
<img src="images/post/smile/dvbbs/em10.gif" /><img src="images/post/smile/dvbbs/em10.gif" /><img src="images/post/smile/dvbbs/em10.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。
举报 回复(0) 喜欢(0)     评分
luy9999
路人甲
路人甲
  • 注册日期2004-09-26
  • 发帖数3
  • QQ
  • 铜币124枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-09-30 08:42
<P>两种最短路径的算法VC++程序</P>
<P>double CMoPathFindView::Dijkstra(int iSNode, int iTNode, int Path[])
{
//Graph&Aacute;&Uacute;&frac12;&Oacute;&frac34;&Oslash;&Otilde;ó&pound;&not;&cedil;&iexcl;&micro;&atilde;&ETH;&Iacute;
    int i, j, w, mark[MAX_VERTEX];
double minc, dbDist[MAX_VERTEX];</P>
<P>//±ê&Ecirc;&para;&Euml;ù&Oacute;&ETH;&frac12;á&micro;&atilde;&frac34;ù&Icirc;&acute;&Agrave;ú±é
    for (i=0;i<m_Graph.nodeNum;i++)
  mark=0;</P>
<P>//
for (i=0;i<m_Graph.nodeNum;i++)
    {
  dbDist = m_Graph.arcLength[iSNode];
        Path = iSNode;
}
//±ê&Ecirc;&para;&AElig;&eth;&micro;&atilde;&micro;&Auml;&Iuml;à&sup1;&Oslash;&sup2;&Icirc;&Ecirc;&yacute;
    mark[iSNode] =1;
Path[iSNode] =0;
dbDist[iSNode] =0.0;</P>
<P>double dbInfinity=INFINITY;</P>
<P>    for (i=1;i<m_Graph.nodeNum;i++)
{
  minc=INFINITY;
  w=0;
  //&Ograve;&Ocirc;Vi&Icirc;&ordf;&AElig;&eth;&micro;&atilde;&pound;&not;&Euml;&Ntilde;&Euml;÷&frac34;à&Agrave;&euml;Vi&micro;&Auml;×&icirc;&ETH;&iexcl;&micro;&Auml;&para;&yen;&micro;&atilde;
  for (j=0;j<m_Graph.nodeNum;j++)
   if ((mark[j]==0) ;; (minc>=dbDist[j]))
   {
    minc=dbDist[j]; //&frac14;&Ccedil;&Acirc;&frac14;×&icirc;&ETH;&iexcl;&frac34;à&Agrave;&euml;
    w=j;   //&frac14;&Ccedil;&Acirc;&frac14;&frac34;à&Agrave;&euml;×&icirc;&ETH;&iexcl;&para;&yen;&micro;&atilde;
   }</P>
<P>  mark[w]=1;
  for (j=0;j<m_Graph.nodeNum;j++)
   if ((mark[j]==0) ;; (dbDist[j] > (dbDist[w]+m_Graph.arcLength[w][j])) ;; (m_Graph.arcLength[w][j] != dbInfinity))
   {
    dbDist[j]=dbDist[w]+m_Graph.arcLength[w][j];
    Path[j]=w;
   }
}
    return dbDist[iTNode];
}
</P>
<P>double CMoPathFindView::BellmanFord(int iSNode, int iTNode, int Path[])
{
//Graph&Aacute;&Uacute;&frac12;&Oacute;&frac34;&Oslash;&Otilde;ó&pound;&not;&cedil;&iexcl;&micro;&atilde;&ETH;&Iacute;
    int i, j, k;
double dbDist[MAX_VERTEX];
double dbInfinity=INFINITY;</P>
<P>//±ê&Ecirc;&para;&Euml;ù&Oacute;&ETH;&frac12;á&micro;&atilde;&frac34;ù&Icirc;&acute;&Agrave;ú±é
for (i=0;i<m_Graph.nodeNum;i++)
    {
  dbDist = dbInfinity;
        Path = 0;
}
//±ê&Ecirc;&para;&AElig;&eth;&micro;&atilde;&micro;&Auml;&Iuml;à&sup1;&Oslash;&sup2;&Icirc;&Ecirc;&yacute;
dbDist[iSNode] =0.0;</P>
<P>    for (k=1;k<m_Graph.nodeNum;k++)
  for (i=0;i<m_Graph.nodeNum;i++)
   for (j=0;j<m_Graph.nodeNum;j++)
   if (dbDist[j]>dbDist+m_Graph.arcLength[j])
   {
    dbDist[j]=dbDist+m_Graph.arcLength[j];
    Path[j]=i;
   }</P>
<P>for (i=0;i<m_Graph.nodeNum;i++)
  for (j=0;j<m_Graph.nodeNum;j++)
  if (dbDist[j]>dbDist+m_Graph.arcLength[j]) return 0;</P>
<P>  
return dbDist[iTNode];
}</P>
<P>请指正!</P>
[此贴子已经被作者于2004-9-30 8:45:53编辑过]
举报 回复(0) 喜欢(0)     评分
luy9999
路人甲
路人甲
  • 注册日期2004-09-26
  • 发帖数3
  • QQ
  • 铜币124枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-09-30 08:44
<P>我是用数组来定义图的邻接矩阵,感觉比较笨,一直想用其它更好的方式解决,但一直没有时间
</P>
<P>//&para;¨&Ograve;&aring;&Iacute;&frac14;&micro;&Auml;&Aacute;&Uacute;&frac12;&Oacute;&frac34;&Oslash;&Otilde;ó&Agrave;à&ETH;&Iacute;
//
typedef struct Graph
{
int    nodeID[MAX_VERTEX];     //用数组来保存结点
CMoPoint moNode[MAX_VERTEX];    //&acute;&aelig;&acute;&cent;&para;&yen;&micro;&atilde;&micro;&Auml;Shape
double arcLength[MAX_VERTEX][MAX_VERTEX];   //&acute;&aelig;&acute;&cent;&raquo;&iexcl;&para;&Icirc;&sup3;¤&para;&Egrave;
int    nodeNum;        //&acute;&aelig;&acute;&cent;&para;&yen;&micro;&atilde;×&Uuml;&Ecirc;&yacute;
int    arcsNum;        //&acute;&aelig;&acute;&cent;&raquo;&iexcl;&para;&Icirc;×&Uuml;&Ecirc;&yacute;
} GraphTp;
</P>
<P>GraphTp m_Graph;</P>

[此贴子已经被作者于2004-9-30 8:51:52编辑过]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部