![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
常用算法讲解
起岸星辰
微信搜一搜【起岸星辰】快速了解最新IT业界资讯,掌握技术实战技能。
展开
-
基于雪花算法生成分布式ID(Golang版)
SnowFlake算法原理介绍在分布式系统中会将一个业务的系统部署到多台服务器上,用户随机访问其中一台,而之所以引入分布式系统就是为了让整个系统能够承载更大的访问量。诸如订单号这些我们需要它是全局唯一的,同时我们基本上都会将它作为查询条件;出于系统安全考虑不应当让其它人轻易的就猜出我们的订单号,同时也要防止公司的竞争对手直接通过订单号猜测出公司业务体量;为了保证系统的快速响应那么生成算法不能太耗时。而雪花算法正好解决了这些问题。SnowFlake 算法(雪花算法), 是Twitter开源的分布式id生成原创 2021-06-11 09:31:47 · 735 阅读 · 0 评论 -
基于雪花算法生成分布式ID(Java版)
原文:https://blog.vchar.top/java/1622548800.htmlSnowFlake算法原理介绍在分布式系统中会将一个业务的系统部署到多台服务器上,用户随机访问其中一台,而之所以引入分布式系统就是为了让整个系统能够承载更大的访问量。诸如订单号这些我们需要它是全局唯一的,同时我们基本上都会将它作为查询条件;出于系统安全考虑不应当让其它人轻易的就猜出我们的订单号,同时也要防止公司的竞争对手直接通过订单号猜测出公司业务体量;为了保证系统的快速响应那么生成算法不能太耗时。而雪花算法.原创 2021-06-07 10:22:11 · 367 阅读 · 1 评论 -
KMP算法详解
原文:https://blog.vchar.top/acm/1618835400.htmlKMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。算法分析说明问题:查找一个短的字符串在.原创 2021-04-30 11:08:37 · 410 阅读 · 0 评论 -
插入排序
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。插入排序的核心思想就是:在一个有序数组中找到一个新加入的值在有序数组中的位置。Java版实现方式一(时间复杂度O(n^2) )内层循环从有序数组的头部开始遍历,找到当前新加入值在这个有原创 2021-04-25 14:11:38 · 98 阅读 · 0 评论 -
快速排序
https://blog.vchar.top/acm/1617111985.html快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。平均时间复杂度:O(nlogn)。其核心思想是让每个数的左边放比它小的数,右边放比它大的数;左右2边分而治之。C版本void quicksoft.原创 2021-04-21 14:21:12 · 87 阅读 · 0 评论