text1-4.htm
来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 77 行
HTM
77 行
<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">第一章</font><b>|</b><font face="宋体" size="2"><a href="text2-0.htm">第二章</a></font><b>|</b><font face="宋体" size="2"><a href="text3-0.htm">第三章</a></font><b>|</b><font face="宋体" size="2"><a href="text4-0.htm">第四章</a></font><b>|</b><font face="宋体" size="2"><a href="text5-0.htm">第五章</a></font><b>|</b><font face="宋体" size="2"><a href="text6-0.htm">第六章</a></font><b>|</b><font face="宋体" size="2"><a href="text7-0.htm">第七章</a></font><b>|</b><font face="宋体" size="2"><a href="text8-0.htm">第八章</a></font><b>|</b><font face="宋体" size="2"><a href="text9-0.htm">第九章</a></font><b>|</b><font face="宋体" size="2"><a href="text10-0.htm">第十章</a></font><b>|</b><font size="2" face="宋体"><a href="textA-0.htm">算法分析</a><b><font color="#000000">|</font></b>
</font></div>
<div id="Layer1" style="position:absolute; width:714px; 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">第一章</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"><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>
<pre><font face="Arial, Helvetica, sans-serif" color="#000000" size="4"><b>
<font face="Arial, Helvetica, sans-serif" size="4">〖example2〗<font color="#FF0066">Binary search</font>
given: a sorted list list [ n ]
serach number searchnum
return: i if list [ i ] = serachnum
-1 not present in the list
<font color="#0000FF">Algorithm:</font>
while ( there are more integers to check ) {
middle = (lift +right )/2;
if ( serchnum < list[middle] )
right = middle - 1;
else if ( serchnum == list[middle])
return middle;
else left = middle + 1;
}</font></b></font></pre>
<pre> <img src="image/text1-4.gif" width="536" height="23"> </pre>
<pre><font face="Arial, Helvetica, sans-serif" color="#000000" size="4"><b><font face="Arial, Helvetica, sans-serif" size="4"> searchnum ~ list[middle]
</font></b></font><font face="Arial, Helvetica, sans-serif" color="#000000" size="4"><b><font face="Arial, Helvetica, sans-serif" size="4"><font color="#0000FF"> < = >
<font color="#FF0033">right=middle-1 i left=moddle+1
</font>
Algorithm:</font>
for comparing:
1. <font color="#FF0066">macro version </font>
#define compare(x,y) ((x) < (y)? -1:((x) == (y)) ? 0:1)
2. <font color="#FF3366">function version</font>
int compare ( int x, int y );
{ <i><font size="3" color="#CC0099">/* compare x and y, return -1 for less than, 0 for equal, 1 for
greater*/</font></i>
if ( x < y ) return -1;
else if ( x == y ) return 0;
else return 1;
}
<font color="#3366FF">program:</font>
int <font color="#FF0066">binsearch</font> ( int list [ ], int searchnum , int left, int right )
{ <i><font size="3" color="#CC0099"> /* search list [ 0 ] <= list [ 1 ] <= ··· <= list [ n-1 ] for searchnum.
Return its position if found . Otherwise return -1*/</font></i>
int middle ;
while ( left <= right ) {
middle = ( left + right ) / 2;
switch ( COMPARE ( list [ middle ] , searchnum )) {
case -1 : left = middle + 1 ;
break;
case 0 : return middle;
case 1 : right = middle - 1;
}
}
return -1;
}</font> </b></font></pre>
<p align="left"> </p>
<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="text1-index.htm"></map></a></td>
<td width="131"><font face="楷体_GB2312" size="2"><b><a href="text1-3.htm">上一页</a>
<a href="text1-5.htm">下一页</a> </b></font></td>
</tr>
</table>
<p align="left"> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?