吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1167|回复: 4
收起左侧

[其他转载] 每周算法-PHP实现二分法查找算法

[复制链接]
倾情 发表于 2020-10-7 22:28
通知:目前由于业务繁忙,发现每日算法是不能够满足需求的,所以更改为每周一个算法学习吧,这样一周了解一个算法,把它吃透即可。暂定每周日。
发帖声明:菜鸟出学算法,和算法爱好者交流一下,有问题和建议都可以交流,互相学习呀。

【每周算法-每周算法-PHP实现二分法查找算法
[PHP] 纯文本查看 复制代码
<?php// 测试数组
$testArray = array(1,2,33,24,15,16,7,8);
function find2($a,$findValue){
	/**
	* [url=home.php?mod=space&uid=170990]@name[/url] 二分法查找算法
	* [url=home.php?mod=space&uid=686208]@AuThor[/url] 倾情
	* [url=home.php?mod=space&uid=952169]@Param[/url] $a:传递的数组,$findVlaue:要查找的数值
	* [url=home.php?mod=space&uid=155549]@Return[/url] true找到,false没有找到
	*/
	sort($a);
	$heigh = count((array)$a)-1;
	$low = 0;
	while ($heigh>=$low) {
		$mid = round(($heigh+$low)/2);
		echo "查找".$a[$mid].PHP_EOL;
		if($findValue>$a[$mid]){
			$low = $mid+1;
		}elseif ($findValue<$a[$mid]) {
			$heigh = $mid-1;
		}else{
			return true;
		}
	}
	return false;
}
// 排序后的数组1 2 7 8 15 16 24 33
echo find2($testArray,33);

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小航 发表于 2020-10-7 22:58
复杂的算法看不懂,简单的不想看
shubiao05 发表于 2020-10-7 23:15
不错,不错,这种方式既能学习算法,也能巩固php基础知识,还有一些应用上的细节,学习了

谢谢
冥月影 发表于 2020-10-7 23:55
学习算法,从开始到放弃,直接放弃,从我做起。
深水夜藏 发表于 2020-10-8 07:13
复杂的算法完全看不懂,还是先从简开始吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表