text6-28.htm

来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 66 行

HTM
66
字号
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" link="#0000FF" vlink="#3399FF" alink="#FF0066">
<div id="Layer1" style="position:absolute; width:711px; height:21px; z-index:1; top: 10px; background-color: #CCCCCC; layer-background-color: #CCCCCC; border: 1px none #000000; left: 26px"><b>|</b><font face="宋体" size="2"><a href="../text1/text1-0.htm">第一章</a></font><b>|</b><font face="宋体" size="2"><a href="../text2/text2-0.htm">第二章</a></font><b>|</b><font face="宋体" size="2"><a href="../text3/text3-0.htm">第三章</a></font><b>|</b><font face="宋体" size="2"><a href="../text4/text4-0.htm">第四章</a></font><b>|</b><font face="宋体" size="2"><a href="../text5/text5-0.htm">第五章</a></font><b>|</b><font face="宋体" size="2">第六章</font><b>|</b><font face="宋体" size="2"><a href="../text7/text7-0.htm">第七章</a></font><b>|</b><font face="宋体" size="2"><a href="../text8/text8-0.htm">第八章</a></font><b>|</b><font face="宋体" size="2"><a href="../text9/text9-0.htm">第九章</a></font><b>|</b><font face="宋体" size="2"><a href="../text10/text10-0.htm">第十章</a></font><b>|</b><font size="2" face="宋体"><a href="../textA/textA-0.htm">算法分析</a><b><font color="#000000">|</font></b> 
  </font></div>
<pre align="left"><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">

#define <font size="3">MAX_VERTICES 6</font>   <i><font size="3" color="#CC0099">   /* maximum number of vertices */</font></i></font></b></pre>
<table width="630" cellspacing="0" height="50">
  <tr>
    <td width="312"> 
      <pre><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000"><font size="3">int <font size="4" color="#FF0000">cost</font>[ ][MAX_VERTICES} =
         {{   0,  50,  10,1000,  45,1000},
         {1000,   0,  15,1000,  10,1000},
         {  20,1000,   0,  15,1000,1000},
         {1000,  20,1000,   0,  35,1000},
         {1000,1000,  30,1000,   0,1000},
         {1000,1000,1000,   3,1000,   0}};
int <font size="4" color="#FF0000">distance</font>[MAX_VERTICES];
short int <font size="4" color="#FF0000">found</font>[MAX_VERTICES];
int n = MAX_VERTICES;</font></font></b></pre>
    </td>
    <td width="312"><img src="image/text6-v1.gif" width="285" height="153"></td>
  </tr>
</table>
<pre align="left"><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000"><font color="#FF0000">program</font>  <i><font color="#0033CC"> Single source shortest paths     </font></i><img src="image/on2.gif" width="67" height="26">

void <font color="#FF0000">shortestpath</font> (int v,int cost[ ][MAX_VERTICES],
int distance[ ],int n,short int found[ ])
{
<i><font size="3" color="#CC0099">/* distance[i] represents the shortest path from vertex v to i,found[i] holds a 0
 if the shortest path from vertex i has not been found and a 1 if it has ,
cost is the adjacency matrix */
</font></i>        int i,u,w;
        for (i = 0;  i < n; i++){
            found[ i ] = FALSE;
            distance [ i] = cost [v] [ i ];
       }
       found [v]= TRUE;
       distance[v] = 0;
       for (i=0; i&lt;n-2; i++){
            u=choose(distance,n,found);
            found[ u ] = TRUE;
            for (w=0; w&gt;n; w++)
               if ( !found[w])
                   if (distance[u] +cost[u][w] &lt;distance[w])
                       distance[w] = distance[u]+cost[u][w];
       }
}

</font></b></pre>
<table width="731" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="327">&nbsp;</td>
    <td width="271"><a href="../index.htm"><img width="60" height="25" usemap="#MapMap4" border="0" src="../../images/home.gif"></a><a href="../index.htm"><map name="MapMap4"><area shape="rect" coords="42,-34,88,-15" href="text0.htm"><area shape="rect" coords="4,4,55,23" href="text6-index.htm"></map></a></td>
    <td width="131"><font face="楷体_GB2312" size="2"><b><a href="text6-27.htm">上一页</a> 
      <a href="text6-29.htm">下一页</a> </b></font></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?