Algorithm
菜蒂亚万
www.niushao.net
展开
-
漏桶算法-php,python实现
漏桶算法-php实现 1,概览 最近研究nginx的限流,limit_req_zone。 其功能就是限制大访问量下的请求数量,防止服务器故障。 核心逻辑就是: 1,给nginx配置一个处理请求速率。比如每秒处理5个请求。 2,大访问量下没有处理到的请求进行排队等待。 3,给排队的请求配置一个长度,超过了长度的请求直接返回错误 。比如设置队列长度为5,有5个请求正在排队的情况下, 下一个请求直接返回错误。 比较感兴趣它的实现,查阅资料发现利用了漏桶算法。就顺便带原创 2020-06-26 21:55:43 · 726 阅读 · 0 评论 -
二分查找法
二分查找法 简介 1,二分查找法,就相当是在循环中边比较边排除的一种搜索定位的方法,循环次数比我们平时的逐步搜索少,性能高 2,简单来讲,就是在必须是有序的序列中,寻找某个值,通过一分为二的比较排除,减少比较次数 3,每次排除都把所有的情况分成"可能"和"不可能"两种,然后抛弃所有"不可能"的情况. 代码实现 因为二分查找,也是在循环中比较查找,所以一定少不了循环。 首先就会想到用循原创 2017-03-01 21:40:27 · 505 阅读 · 0 评论 -
猴子选大王算法
说明: n个猴子围成一圈,从某个开始报数1-2……m,1-2……m报“m”的猴子就被淘汰, 游戏一直进行到圈内只剩一只猴子它就是猴大王了。 代码实现 1,常规代码 function fun1($n,$m) { if($n<2){ echo '猴子数量不能小于2'; } $arr = range(1,$n); $num = 0;原创 2017-03-02 16:51:14 · 928 阅读 · 0 评论 -
冒泡排序法
冒泡排序法 简介: 第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推…… 代码实现: <?php $test_arr = array(1,3,5,7,9,10,8,6,4,2); //冒泡排序 //第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推…… //需要两层循环 //体会$i的取值。n个元素排序n-1轮即可 for($i=0;$i<count($test_ar原创 2017-03-02 13:56:10 · 411 阅读 · 0 评论 -
php三种排序算法以及效率测试
php三种排序算法以及效率测试 <?php //select $arr = range(1,10000); shuffle($arr); var_dump('select start'); $start_time=microtime('get_as_float'); for($i=0;$i<count($arr)-1;$i++){ $max_key = $i; fo...原创 2018-08-24 15:37:28 · 660 阅读 · 0 评论