
算法
文章平均质量分 94
「已注销」
这个作者很懒,什么都没留下…
展开
-
死磕算法之二分查找法
学习更多算法系列请参考文章:死磕算法之汇总篇二分查找又称折半算法,此算法作为一个经典的查找算法是我们不得不掌握的算法这个算法查找的前提是查找的数据是有序的,我们以数组为例,使用二分查找法进行查找的时候我们应该先定义三个字段:1.left指向数组第一个数据2.right指向数组最后一个元素3.mid呢指向(left+right)/2位置的元素,就是他们中间的位置。当我们要在一个数组中查找一条数据a时...原创 2018-06-29 00:38:08 · 256 阅读 · 0 评论 -
死磕算法之选择排序
学习更多算法系列请参考文章:死磕算法之汇总篇假如我们现在要排序的数组为[3,1,0,2,8,4,2]。那么选择排序的排序流程为:在这个数组中找出最小值与第一个元素交换,现在数组为[0,1,3,2,8,4,2]在这个数组中除了第一个位置的元素外找出最小值与第二个元素交换,因为第二个元素就是最小的所以此次没有发生变化。现在数组为[0,1,3,2,8,4,2]在这个数组中除了第一个、第二个位置的元素外找...原创 2018-06-29 00:38:51 · 227 阅读 · 0 评论 -
死磕算法之插入排序
学习更多算法系列请参考文章:死磕算法之汇总篇相信大家都有打扑克的经历,那么我们今天的插入排序就以拿牌为例开始讲(注意只是举例,不是按打牌的规则哦)1.我们拿到了一张牌3,我们把它放手里,现在手里有牌[3]2.我们拿到了一张牌1,拿它与手里最后一张牌也就是3比较,发现1比3小,所以我们把它插入到3的前面,现在手里有牌[1,3]3.我们拿到了一张牌0,拿它与手里最后一张牌也就是3比较,发现0比3小,所...原创 2018-06-29 00:39:30 · 208 阅读 · 0 评论 -
死磕算法之快速排序
学习更多算法系列请参考文章:死磕算法之汇总篇快速排序是一个运用了分治法和递归算法的排序方式。假如我们现在要排序的数组为[3,1,0,2,8,4,2]。那么在进行快速排序的时候我们先要进行一些准备:n作为一个数组中的标杆,一趟排序过后我们要把数组中所有大于n的数放在它的右边,所有小于n的放在它的左边。一般情况下我们会取数组第一个元素作为n,在此数组中就是n=3i我们使用i来找数组中大于标杆的值,i初...原创 2018-06-29 00:40:05 · 223 阅读 · 0 评论 -
死磕算法之希尔排序
学习更多算法系列请参考文章:死磕算法之汇总篇今天讲一下希尔排序,希尔排序呢,其实可以理解为插入算法排序的一个升级版了,不了解插入排序的小伙伴可以先看一下这篇文章:死磕算法之插入排序我们知道,插入排序在进行排序时如果当数据量很大的时候,有一个很小的数据出现在了数组的最后,那么我们就要移动了这个数据前面所有的元素给它放置到合适的元素。例如:我们要排序的数组为[1,2,3,4,5,6,7,。。。此处省略...原创 2018-06-29 00:41:36 · 248 阅读 · 0 评论 -
死磕算法之冒泡排序
学习更多算法系列请参考文章:死磕算法之汇总篇冒泡排序在排序算法中效率算最慢的一类了,但是因为它简单的缘故仍然是工作1-3年的程序员面试经常会碰到的算法问题,今天就来给大家分析一下冒泡排序的排序流程。假如我们现在要排序的数组为[3,1,0,2,8,4,2]那么我们第一轮排序为比较3和1,发现3比1大,那么我们就交换3和1,数组变成了[1,3,0,2,8,4,2]比较3和0,发现3比0大,那么我们就交...原创 2018-06-29 00:42:21 · 306 阅读 · 0 评论 -
大型网站限流算法的实现和改造
最近写了一个限流的插件,所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法分析之前依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口,那么我的限流插件就应该能针对每一个接口就行不同的限流方案。所以呢,既然针对的每个接口所以就需要一个可以唯一标示这个接口的key(我取的是类名+方法名+入参)。 分布式限流强烈推荐使用redi...原创 2018-09-26 23:39:33 · 860 阅读 · 0 评论 -
分布式系统下的哈希一致性算法设计
本文涉及:普通哈希算法存在的问题,分布式系统的哈希一致性算法,哈希一致性算法中的数据倾斜问题我们知道,在分布式系统中当数据量无法使用单机进行存储时,最简单粗暴的方法就是水平扩展:加机器,搞集群。然而所有的集群模式都会面临一个数据存放的问题:即一个集群有多台机器,我们怎么知道这次的数据应该放在哪个机器上呢?这次的数据放到了一台机器上我下一次读取的时候能保证还来这台机器上找么?假如当...原创 2019-04-25 17:29:39 · 234 阅读 · 0 评论