文档章节

php 二分查找

rhythmk
 rhythmk
发布于 2016/01/30 23:49
字数 96
阅读 9
收藏 0

二分查找需要查找的集合对象为有序队列。

 function  binarySearch(Array $arr,$key)
   {
        $len=count($arr);
        if($len==0)
            return false;
        $begin=0;
        $end=$len-1;
       
        //如果查找的值为集合首元素则$begin,$end将=
        while ( $begin <= $end) {

          $mid=floor(($begin+$end)/2);
          if($arr[$mid]==$key){
               return  $arr[$mid];
	      }
	      if($arr[$mid]<$key){
	        $begin=$mid +1;
	      }
	      if($arr[$mid]>$key){
	         $end=$mid-1;
	      }
       }
        return false;
  }
 $arr=[3,4,6,7,8,10,11,55,67];
 $result=binarySearch($arr,4);
 var_dump($result);

© 著作权归作者所有

共有 人打赏支持
rhythmk
粉丝 1
博文 62
码字总数 40987
作品 0
广州
简单描述一下二分查找和顺序查找

<?php class search { // 查找的源数组 private $array = array(1,2,3,5,7,6,4,8); /** * 顺序查找法 * @param $val 要查找的值 */ public function query_search($val) { foreach ($this->......

saintatgod
2014/03/26
0
0
php冒泡排序跟二分算法

PHP冒泡排序 $i=1,子循环运行$j=5,$j=4,$j=3,$j=2,$=1;第一次查找将这个数组中最小的放到第一位去 $=2,资讯还运行$j=5,$j=4;$j=3;$j=2;第二次查找这个数组中次小的放到第二去 如此循环就实现...

tree2013
2016/04/18
39
0
一份不错的php面试题(附答案)

一份不错的php面试题,附答案,有准备换工作的同学可以参考一下. 一、基础题 1. 写出如下程序的输出结果 <?php $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' : '不相等'; $str3 ...

斑驳
2014/08/17
0
4
二分查找(Binary Search)

1、定义 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。 2、基本...

野渡书生
2016/04/28
15
0
二分查找判定树

5、二分查找判定树  二分查找过程可用二叉树来描述:把当前查找区间的中间位置上的结点作为根,左子表和右子表中的结点分别作为根的左子树和右子树。由此得到的二叉树,称为描述二分查找的判...

天天顺利
2015/09/12
3.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

js 操作cookie

var cookie = {// 设置cookie方法set:function(key, val, time){// 获取当前时间var date = new Date();// 将date设置为n天以后的时间var expiresDays = time;//...

小丶二
11分钟前
0
0
限制root远程登录 su和sudo命令

9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 对于Linux而言,权限的重要性毋庸置疑!对于普通用户而言无法执行那些只有root用户才能有效的命令,导致工作无法有效进行; 系统...

robertt15
13分钟前
0
0
MQTT协议的初浅认识之通讯级别和持久会话

背景 这是我最近了解MQTT协议的最后一部分内容了,MQTT协议里面的QOS和Keep Alive是两个比较重要的内容。QOS的设置,直接影响了订阅客户端与中间件之间的消息交互行为。而Keep Alive直接影响...

亚林瓜子
15分钟前
1
0
calc

width: calc(100% - 30px); 特别注意:减号左右空格,均不能去掉。 width: calc(100% - 30px);

柴高八斗之父
23分钟前
0
0
Spring Cloud Gateway全局过滤器GlobalFilter:返回消息和重定向

Spring Cloud Gateway的全局过滤器GlobalFilter,顾名思义,声明后会对所有的请求生效,可以用来做权限控制,这里简单记录一下拦截到非法请求后如何返回自定义信息和将请求重定向到指定URL。...

夜雨寄北09
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部