随笔分类 -  小算法

摘要:在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度。这里进行归纳一下它们代表的含义:这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。 阅读全文
posted @ 2025-03-17 21:10 侯蜀黍 阅读(876) 评论(0) 推荐(1)
摘要:思路分析:在要排序的一组数中,假设前面的数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。*/ function insertSort($arr) { $len=count($arr); for($i=1; $i<$len;$i++) 阅读全文
posted @ 2025-03-16 19:10 侯蜀黍 阅读(15) 评论(0) 推荐(0)
摘要:// 非递归 // $target是要查找的目标 $arr是已经排序好的数组 function binary(&$arr,$low,$top,$target){ while($low <= $top){ //由于php取商是有小数的,所以向下取整,不过也可不加,数组也会取整 $mid = floor 阅读全文
posted @ 2025-03-16 19:10 侯蜀黍 阅读(21) 评论(0) 推荐(0)
摘要:/* 思路分析:在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。*/ function selectSort($arr) { //双重循环完成,外层控制轮数,内层控制比较次数 $len=count 阅读全文
posted @ 2025-03-16 19:09 侯蜀黍 阅读(17) 评论(0) 推荐(0)
摘要:有这样一种需求,将形式为“TranAbbr=IPER|AcqSsn=000000073601|MercDtTm=20090615144037”的字符串转换成如下格式的数组: 2.第二种方式 两种写法各有优势: 1、 第一种容易想到,耳熟能详;第二种不容易想到,且eval函数在使用时要注意安全隐患。 阅读全文
posted @ 2019-08-05 17:46 侯蜀黍 阅读(2073) 评论(0) 推荐(0)
摘要:// 思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 /** * 冒泡排序 */$arr=array(1,43,54,62,21,66,32,78,3 阅读全文
posted @ 2019-07-02 15:24 侯蜀黍 阅读(276) 评论(0) 推荐(0)
摘要:/** * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return int */ function getDistance($lat1, $lng1, $lat2, $lng2){ // 将角度转为狐度 $radLat1 = deg2rad($lat1);// deg2rad()函数... 阅读全文
posted @ 2019-07-01 15:15 侯蜀黍 阅读(2465) 评论(0) 推荐(0)