php数据结构与算法(PHP描述) 查找与二分法查找

 更新时间:2012年06月21日 07:48:26   作者:  
php数据结构与算法(PHP描述) 查找与二分法查找,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

复制代码 代码如下:

<?php
/**
* 查找
*
**/
// 顺序查找
function normal_search($arrData,$val) {
$len = count($arrData);
if($len == 0) return -1;
for($i = 0;$i < $len; $i++ ) {
echo "find No.",$i + 1," value = ",$arrData[$i]," is = ",$val,"? <br/>";
// 找到了
if($arrData[$i] == $val) return $i;
}
return -1;
}

// 测试顺序查找
$arrData = array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67);
echo normal_search($arrData,6),"<br/>";
echo normal_search($arrData,66),"<br/>";

// 二分法查找(针对有序的列进行查找)
function binary_search($arrData,$val) {
$len = count($arrData);
if($len == 0) return -1;

$start = 0;
$end = $len - 1;

while($start <= $end) {
$middle = intval(($start + $end)/2);
echo "start = ",$start," end = ",$end," middle = ",$middle,"<br/>";
if($arrData[$middle] == $val) {
return $middle;
} elseif ($arrData[$middle] > $val) {
$end = $middle - 1 ;
} elseif ($arrData[$middle] < $val) {
$start = $middle + 1;
}
}
return -1;
}

// 测试一下二分法查找
$arrData = array(1,2,3,4,5,7,8,9,11,23,56,100,104,578,1000);
echo binary_search($arrData,578),"<br/>";
echo binary_search($arrData,66),"<br/>";

相关文章

  • php跨域检测类允许部分域名访问的示例详解

    php跨域检测类允许部分域名访问的示例详解

    PHP跨域检测类是一种封装了跨域检测逻辑的PHP类,它可以用于在PHP应用程序中检测和处理跨域请求,以确保安全和正常的跨域通信,本文给出了示例给大家介绍php如何允许部分域名访问,需要的朋友可以参考下
    2023-12-12
  • php生成图片缩略图的方法

    php生成图片缩略图的方法

    这篇文章主要介绍了php生成图片缩略图的方法,涉及php操作图片的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • php+ajax实现的点击浏览量加1

    php+ajax实现的点击浏览量加1

    本文给大家分享的是一段非常实用的php+ajax实现的点击浏览量加1的代码,推荐给大家,有需要的小伙伴可以参考下
    2015-04-04
  • PHP实现登陆表单提交CSRF及验证码

    PHP实现登陆表单提交CSRF及验证码

    本文主要介绍了PHP实现登陆表单提交CSRF及验证码的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 秒杀场景的缓存、队列、锁使用Redis优化设计方案

    秒杀场景的缓存、队列、锁使用Redis优化设计方案

    这篇文章主要介绍了秒杀场景的缓存、队列、锁使用Redis优化设计方案,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-12-12
  • php实现微信公众号主动推送消息

    php实现微信公众号主动推送消息

    这篇文章主要介绍了php实现微信公众号主动推送消息的方法,PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制,需要的朋友可以参考下
    2015-12-12
  • PHP时间函数使用详解

    PHP时间函数使用详解

    今天小编就为大家分享一篇关于PHP时间函数使用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • php利用cookies实现购物车的方法

    php利用cookies实现购物车的方法

    这篇文章主要介绍了php利用cookies实现购物车的方法,可通过cookie实现对商品的增删改等功能,以及统计与检查等技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php 获取mysql数据库信息代码

    php 获取mysql数据库信息代码

    有时候我们需要知道mysql数据库中的一些情况,好在php提供了一些内置方法与函数,大家了解下了。
    2009-03-03
  • PHP获取Cookie的模拟登录和防范Cookie劫持

    PHP获取Cookie的模拟登录和防范Cookie劫持

    Cookie是网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密),在登录系统时,用户验证通过后,服务器生成一个SessionID,将该ID作为cookie保存在浏览器缓存中,客户第二次访问该服务器时,会将该cookie数据带给服务器验证
    2023-09-09

最新评论

?


http://www.vxiaotou.com