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">                                        &lt;                    =                   &gt;
                    <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">&nbsp;</p>
<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="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">&nbsp; </p>
</body>
</html>

⌨️ 快捷键说明

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