PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 基础文章 >> 

PHP二分查找法

PHP二分查找法

来源:phperz.com  作者:phperz.com  发布时间:2008-06-29
二分查找法在索引大记录数时速度非常快,通常比遍历记录的速度

二分查找法在索引大记录数时速度非常快,比遍历记录的速度快上若干数量级。

通常在数据小时看不出有什么特点,有时还不如遍历数据快,但在遍历大记录时他的速度却是显而易见的。

大家可以改变下面例子中$arr  数组的不同大小来感受一下二分查找法的速度。

下面是二分查找法在php应用里的一个简单例子。希望对大家有用。

以下为引用的内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>PHP程序员站 www.phperz.com </title>
</head>
<body>
<?php
$arr=range(1,50);    //建立一个50个元素的连续数组
//print_r($arr);
$a=30;                        //待查找的数
$start=0;                    //查找的起始位址
$end=count($arr)-1;    //查找的结束位址
$z=0; //计录循环次数
while ($statr<=$end){
  $z++;
  $i=floor(($start + $end)/2);
  $j=$arr[$i]; // 中间记录
  if ($a<$j){
     $end=$i-1;
  }
  elseif ($a > $j){
     $start=$i+1;
  }
  else {
     $find=$arr[$i];
  break;
  }
}
echo $find;
echo "<br>循环了".$z."次";
?>
</body>
</html>

Tags: 二分法   二分查找法   php   速度   循环  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号