PHP二分查找法 |
来源:phperz.com 作者:phperz.com 发布时间:2008-06-29
|
二分查找法在索引大记录数时速度非常快,比遍历记录的速度快上若干数量级。 php程序员站
通常在数据小时看不出有什么特点,有时还不如遍历数据快,但在遍历大记录时他的速度却是显而易见的。 php程序员站
大家可以改变下面例子中$arr 数组的不同大小来感受一下二分查找法的速度。 phperz~com
下面是二分查找法在php应用里的一个简单例子。希望对大家有用。 phperz.com
以下为引用的内容: <!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 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> phperz.com
|
www.phperz.com
|
|
[收藏此页] [打印本页] [返回顶部] |
|
|