重点 查找算法着重掌握:顺序查找、二分查找、哈希表查找、二叉排序树查找。 排序算法着重掌握:冒泡排序、插入排序、归并排序、快速排序。 顺序查找 算法说明 顺序查找适合于存储结构为顺序存储或链接存储的线性表。 算法思想 顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依 ...
分类:
编程语言 时间:
2019-07-28 13:46:10
阅读次数:
96
1.定义 引入:为什么要使用线段树而不用数组模拟呢? answer:因为有些题用数组来做就要超时,用线段树的O(log(n))的时间复杂度刚好可以求解 毫无疑问线段树是一种数据结构,但是它实际是一个类似树状的链表结构(个人认为) ///还是要正经一点(照搬教科书) / /////////////// ...
分类:
其他好文 时间:
2019-07-24 10:22:25
阅读次数:
122
Istanbul BFT共识算法详细文档 "Istanbul BFT" 作为BFT类算法的一种已经有过在以太坊上的实践。虽然Istanbul目前还存在一些潜在的问题,但其算法思想和实现还是值得学习和借鉴的。 术语 Validator: 区块验证者。 Proposer: 出块者。 Round: 共识的 ...
分类:
编程语言 时间:
2019-07-23 13:24:43
阅读次数:
300
一、背景 煤矿地磅产生了一系列数据: 我想从这些数据中,取出最能反映当前车辆重量的数据(有很多数据是车辆上磅过程中产生的数据)。我于是想到了聚类算法KMeans,该算法思想比较简单。 二、算法步骤 1、从样本中随机取出k个值,作为初始中心 2、以k个中心划分这些数据,分为k个组 3、重新计算出每个组 ...
分类:
编程语言 时间:
2019-07-23 12:55:15
阅读次数:
113
1. 算法思想 对线性可分的情形:通过最大化硬间隔(几何间隔),找出最佳分离超平面,从而分类数据 对弱线性可分情形:最大化软间隔(通过加一个松弛因子),找出分离超平面,分类数据 线性不可分的情形:通过核技巧把原始数据映射到高维空间,转化为线性可分的情形,然后继续求解。 2. 算法推导 (1)函数间隔 ...
分类:
其他好文 时间:
2019-07-18 22:31:24
阅读次数:
149
算法思想: 首先从序列中选择一个最值,将这个元素和序列的首地址上的元素交换,这样就完成了一个元素的排序,接下来,重复上述过程,不断的从剩下的序列中选取最值,然后添加到有序部分的末尾(注意,这种添加是通过和未排序序列的第一个元素交换来实现的。 选择排序每次交换一队元素,他们当中至少有一个元素被移动到了 ...
分类:
编程语言 时间:
2019-07-12 12:54:22
阅读次数:
125
算法思想: 将数组元素插入已经有序的部分中,具体的过程是在有序的部分中通过比较找到新插入元素应该插入的位置,然后从有序部分的队尾元素开始,统统向后移动一位(这一位原本是刚刚那个元素的位置)直到应改插入的那个地方给腾出来,将元素放进去,重复上述过程,直到所有元素有序 算法性能: 最优时间复杂度:O(n ...
分类:
编程语言 时间:
2019-07-11 14:05:36
阅读次数:
113
归并排序 这次我们来讲述归并排序的基本思想。 归并排序,首先把一个数组中的元素,按照某一方法,先拆分了之后,按照一定的顺序各自排列,然后再归并到一起,使得归并后依然是有一定顺序的 。 归并排序算法可以利用递归的思想或者迭代的思想去实现。首先我们先把一个无序的数组去拆分,然后利用一定的规则,去合并。类 ...
分类:
编程语言 时间:
2019-07-02 14:52:58
阅读次数:
215
限流算法 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法 算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; ...
分类:
其他好文 时间:
2019-06-21 21:04:21
阅读次数:
139
前言说明 十大排序算法可以说是每个程序员都必须得掌握的了,花了一天的时间把代码实现且整理了一下,为了方便大家学习,我把它整理成一篇文章,每种算法会有简单的算法思想描述,为了方便大家理解,我还找来了动图演示;这还不够,我还附上了对应的优质文章,看完不懂你来砍我,如果不想砍我就给我来个好看。 术语解释 ...
分类:
编程语言 时间:
2019-06-20 17:20:50
阅读次数:
146