text2-16.htm
来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 62 行
HTM
62 行
<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">第二章</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"><a href="../text6/text6-0.htm">第六章</a></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>
<p align="left"> </p>
<pre align="left"><b><font face="Arial" size="4">void <font color="#FF0033">storesum</font> (term d [ ], int *totald, int row, int column, int &sum)
{ <i><font color="#CC0099" size="3"> /* if *sum != 0, then along with its row and column position is stored as
the *totald + 1 entry in d */</font></i>
if (*sum )
if ( *totald < MAX_TERMS) {
d [++*totald ].row = row;
d [ *totald].col = column;
d [*totald ].value = * sum;
*sum = 0;
}
else {
fprint ( stderr, " Number of term in product exceeds %d \ n",
MAX_TERMs);
exit (1 );
}
}
</font></b><b><font face="Arial" size="4"><font color="#FF0033"><font color="#0033CC">ANALYSIS</font></font></font></b></pre>
<table width="757" border="0">
<tr>
<td width="36" height="43" valign="top"><b><font face="Arial" size="4"><font color="#0033CC">
<font color="#FF0033">O <font size="3">(</font></font></font></font></b></td>
<td width="33" height="43" valign="baseline"><b><font face="Arial" size="4"><font color="#0033CC"><font color="#FF0033"><font size="3"><img src="image/Srow.gif" width="16" height="30" align="bottom"></font></font></font></font></b></td>
<td width="674" height="43" valign="top"><b><font face="Arial" size="4"><font color="#0033CC"><font color="#FF0033"><font size="3"><i><font color="#000000">(cols_b
* termsrow +totalb)</font></i>) </font>= O (<font size="3" color="#000000"><i>cols_b*
total_a + rows_a*totalb</i></font>)</font></font></font></b></td>
</tr>
</table>
<pre align="left"><b><font face="Arial" size="4"> </font></b><b><font face="Arial" size="4"><font color="#FF0033">the worst case: </font>
<i> <font color="#0033CC">totala = cols_a * rows_a</font> or <font color="#0033CC">totalb = cols_a * cols_b</font></i>
classic <font color="#CC0033">multiplication algorithm</font>: <font color="#0033CC"><i> <font color="#FF0033"> O (<font size="3" color="#000000">rows_a * cols_a * cols_b</font>)</font></i></font>
for (i =0; i < row_a; i ++)
for ( j = 0; j < cols_b; j++) {
sum = o;
for ( k = 0; k < cols_a; k++)
sum += (a[ i ][ k ] * b [ k ][ j ]);
d[ i ] [ j ] = sum;
}
</font></b></pre>
<table width="731" cellspacing="0" cellpadding="0">
<tr>
<td width="327"> </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="text2-index.htm"></map></a></td>
<td width="131"><font face="楷体_GB2312" size="2"><b><a href="text2-15.htm">上一页</a>
<a href="text2-17.htm">下一页</a> </b></font></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?