算法
陈学卫的博客
做自己的一个博客
展开
-
算法入门——二分法查找实现(PHP)
二分法查找某个数据的在有序集合中的位置(必须要是有序集合) 二分法的理论 给定一个有序集合给定一个值,查询这个值是否在集合中,如果在,返回这个值的位置,如果不在,返回null 要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来和我们的值做对比 如果中间值正好等于要查找的数据直接返回位置 如果中间值大于我们的给定值,说明我们的值在中间位置之前,此时需要再次二分,因为在中间位置之前,...原创 2019-04-10 17:22:59 · 209 阅读 · 0 评论 -
算法入门——冒泡排序实现(PHP)
冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 function bubbleSort($array){ foreach($array as ...原创 2019-05-08 16:30:00 · 157 阅读 · 0 评论 -
用php实现欧几里得算法(求最大公因数)
公因数,亦称“公约数”。它是一个能被若干个整数同时均整除的整数。如果一个整数同时是几个整数的因数,称这个整数为它们的“公因数”;公因数中最大的称为最大公因数。 function test($a,$b){ $c = $b; //定义一个新值来作为余数承载变量 while($c > 0 ){ $c = ($a%$b); //取两个数的余数 if($c == 0 ){ //如果余...原创 2019-05-10 17:15:26 · 479 阅读 · 0 评论