查找表:就是同一类型的数据元素构成的数据集合

有静态表和动态表

本文实现PHP版的二分查找算法【本算法仅用于顺序存储的查找表】

/**

* Created by PhpStorm.

* User: 1655664358@qq.com

* Date: 2019/7/01

* Time: 11:38

*/

class Elem{

public $key;

}

class Table

{

public $data = [];

public $lenght;

}

function createTable(Table &$table,$length)

{

$table->lenght = $length;

$obj = new Elem();

fwrite(STDOUT,"请输入数据:\n");

for($i=1;$i<=$table->lenght;$i++){

$elem = clone $obj;

$elem->key = fgets(STDIN,10);

$table->data[$i] = $elem;

}

}

function searchBin(Table $table,$key):int

{

$low = 1;

$height = $table->lenght;

while($low<=$height){

$mid = floor(($low+intval($height))/2);

if ($table->data[$mid]->key==$key){

return $mid;

}else if($table->data[$mid]->key>$key){

$height=$mid-1;

}else{

$low = $mid+1;

}

}

return 0;

}

(function(){

$table = new Table();

fwrite(STDOUT,"请输入数据元素个数:\n");

$length = fgets(STDIN,10);

createTable($table,$length);

fwrite(STDOUT,"请输入要查找的数据元素:\n");

$key = (integer)fgets(STDIN,10);

$location = searchBin($table,$key);

if ($location){

fwrite(STDOUT,"查找到的数据索引为:$location\n");

}else{

fwrite(STDERR,"查找不到指定的内容\n");

}

})();

本作品采用《CC 协议》,转载必须注明作者和本文链接

只会php crud的渣渣

php折半查找算法,二分查找 [折半查找] 算法 PHP 版相关推荐

  1. 折半查找算法[二分查找法]算法的实现和解决整数溢出问题~

    算法实现的要求: 折半查找法又称为二分查找法,这种方法对待查找的列表有两个要求: 1:必须采用顺序存储结构 2:必须按关键字大小有序排列 算法思想: 将表中间位置记录的关键字与查找关键字进行比较,如果 ...

  2. Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找

    Java有序表查找:折半查找.二分查找.差值查找和斐波那契查找     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51 ...

  3. 【数据结构----笔记1】查找算法之【顺序查找和折半查找】

    #include<iostream> #include<Windows.h> using namespace std;typedef int ElemType; /*_____ ...

  4. 二叉树 查找失败 asl_算法——二分搜索amp;折半查找

    ☞能够掌握求解的算法,并给出详细的执行过程. ☞对于折半搜索二叉树中,若根结点在第1层, 且分枝结点数为= 2& − 1,则外部结点均在第ℎ + 1层. 这同样也是一种利用分治法设计的查找算法 ...

  5. 折半查找(二分查找)的理解

    目录 折半查找的算法思想 查找过程演示 折半查找的判定树 代码实现 折半查找的算法思想 折半查找又称二分查找,仅适用于有序的顺序表 首先将给定值key与表中中间位置元素的关键字比较, 若相等,则返回该 ...

  6. 折半查找(二分查找)

    折半查找(二分查找) 1.折半查找法,也称为二分查找法, 二分搜索, 是一种在有序数组中查找某一特定元素的搜索算法.搜索过程中从数组的中间元素开始, 如果中间元素正好是要查找的元素, 则搜索过程结束: ...

  7. 查找技术——折半查找(二分查找)

    写此博客,记录学习. 折半查找又可称作二分查找. 一.基本思想: 其算法就是将表中的数据分为两个区域(左半区和右半区),查找目标target与表的中间值mid进行大小比较.表中数据存储在一维数组中. ...

  8. python二分法查找算法_顺序查找算法和折半(二分法)查找算法,C语言查找算法详解...

    查找是指在大量的信息中寻找一个特定的信息.在计算机中,查找是非常重要的一个应用,比如"百度".查找算法的好坏直接影响查找的速度. 常用的查找算法主要有顺序查找和折半(二分法)查找: ...

  9. 让你秒懂的折半查找(二分查找)

    折半查找又称二分查找,只能适用于有序的顺序表. //折半查找 int Bsearch(int R[],int low,int high,int key){int min;while(low<=h ...

  10. 递归法实现折半查找(二分查找)

    题目 递归法实现折半查找(二分查找) 分析 设立low代表数组最小端的数组下标,high代表数组最大端的数组下标,mid代表数组中间值的数组下标 查询数字number与mid进行比较,有四种情况: 1 ...

最新文章

  1. C/C++ 全局变量和局部变量在内存里的区别?堆和栈
  2. ​MySQL服务器调优思路图
  3. Prepare the Knowledge Base for Success
  4. php随机数、时间、字符串函数,正则,数组函数
  5. nginx log response_python+pandas分析nginx日志的实例
  6. 【Spring】JSP 九大内置对象、作用域复习
  7. 从ABAP Netweaver的SICF到SAP Kyma的Lambda Function
  8. 垃圾收集器准则和提示
  9. 【原】npm 常用命令详解
  10. Linux查看和修改IP地址
  11. python-函数入门(二)
  12. 想要成为一名优秀的程序员?这8本书告诉你
  13. IAR 软件的安装教程
  14. bing搜索引擎子域名收集(Python脚本)
  15. win10清除磁盘写保护
  16. VC++连接wifi功能(有密码)源代码
  17. vs2015 :“64位调试操作花费的时间比预期要长“,无法运行调试解决办法
  18. BigWorld—chunck系统
  19. zip和tgz以及exe的区别
  20. h5 cookie获取和设置

热门文章

  1. hashmap储存有向图_以邻接表的形式创建带权值的有向图即有向网
  2. Kaggle比赛(二)House Prices: Advanced Regression Techniques
  3. eureka 服务注册与发现
  4. java 时间处理经典案例
  5. 一个想法照进现实-《IT连》创业项目:万事开头难
  6. object-C控制语句
  7. cblas_saxpy catlas_sset
  8. SQL Server 索引结构及其使用
  9. 报告PPT|Python编程之美(45页)
  10. Python使用数学形态学方法处理图像