算法
hehmxy
码农追寻的诗和远方
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
十大经典排序算法(动图演示)
0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,...转载 2018-10-22 23:03:59 · 140 阅读 · 0 评论 -
限流实现方案
一.总体介绍很多做服务接口的人或多或少的遇到这样的场景,由于业务应用系统的负载能力有限,为了防止非预期的请求对系统压力过大而拖垮业务应用系统。 也就是面对大流量时,如何进行流量控制? 服务接口的流量控制策略:分流、降级、限流等。本文讨论 限流策略,虽然降低了服务接口的访问频率和并发量,却换取服务接口和业务应用系统的高可用。&...转载 2018-10-26 19:49:30 · 2499 阅读 · 0 评论 -
Twitter的snowflake算法
摘要:系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。关于订单号的生成,一些比较简单的方案:1、数据库自增长ID优势:无需编码缺陷:大表不能做水平分表,否则插入删除时容易出现问题高并发下插入数据需要加入事务机制在业务操作父、子表(关联表)插入时,先要插入父表,再插入子表2、时间戳+随机数优势...原创 2018-10-26 20:12:38 · 824 阅读 · 0 评论 -
Bloom filter 过滤(布隆过滤算法)原理
一,什么是Bloom filter Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构转载 2018-10-23 23:46:30 · 550 阅读 · 0 评论 -
解决hash冲突的四个方法
通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问题。创建哈希表和查找哈希表都会遇到冲突,两种情况下解决冲突的方法应该一致。下面以创建哈希表为例,说明解决冲突的方法。常用的解决冲突方法有以下四种:开放定址法这种方法也称再散列法,其基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲...转载 2018-10-25 00:07:16 · 348 阅读 · 0 评论 -
负载均衡算法及手段
负载均衡算法及手段 负载均衡器可以是专用设备,也可以是在通用服务器上运行的应用程序。 分散请求到拥有相同内容或提供相同服务的服务器。 专用设备一般只有以太网接口,可以说是多层交换机的一种。 负载均衡器一般会被分配虚拟IP地址,所有来自客户端的请求都是针对虚拟IP地址完成的。负载均衡器通过负载均衡算法将来自客户端的请求转发到服务器的实际IP地址上。负载均...转载 2019-04-09 00:30:45 · 443 阅读 · 0 评论
分享