博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 二分查找法算法详解
阅读量:7012 次
发布时间:2019-06-28

本文共 761 字,大约阅读时间需要 2 分钟。

  hot3.png

  • 一、概念:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

    二、代码:对于无序数组用以下方法即可。

    header("Content-type:text/;charset='utf-8'");function twosearchmethod($arr,$val,$left,$right){	if($left>$right){		echo "找不到该数值";		return ;	}	$middle=round(($left+$right)/2);	if($arr[$middle]>$val){		twosearchmethod($arr, $val, $left, $middle-1);	}elseif($arr[$middle]<$val){		twosearchmethod($arr, $val, $middle+1, $right);	}else{		echo $middle;	}	}$arr=array(1,9,3,4,5,6,7);sort($arr);print_r($arr);echo "";$val=1;twosearchmethod($arr, $val, 0, 6);

转载于:https://my.oschina.net/yomut/blog/535447

你可能感兴趣的文章
软件下载站
查看>>
Zend Studio 12 生成 WSDL
查看>>
JAVA学习心得
查看>>
【夯实Mysql基础】记一次mysql语句的优化过程
查看>>
VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback-AAAI2016 -20160422
查看>>
servlet injection analysis
查看>>
(原)centos7安装和使用greenplum4.3.12(详细版)
查看>>
Hive之 hive与hadoop的联系
查看>>
java中的==、equals()、hashCode()源码分析
查看>>
HDU 3613 Best Reward 正反两次扩展KMP
查看>>
zepto.js 源码解析
查看>>
HTTP状态码大全
查看>>
使用ASP.NET Web API 2创建OData v4 终结点
查看>>
MyBatis简单的增删改查以及简单的分页查询实现
查看>>
Android快捷支付SDK Demo resultStatus={4001};memo={參数错误};result={}问题
查看>>
urllib2中自定义opener
查看>>
Hadoop快速入门
查看>>
MySql_安装及简单命令
查看>>
CSDN markdown 编辑器 第四篇 LaTex语法
查看>>
mongodb 初学 索引
查看>>