
算法
文章平均质量分 95
BIG*BOSS
这个作者很懒,什么都没留下…
展开
-
【算法】蓄水池抽样算法(Reservoir Sampling)
转载链接蓄水池抽样算法简单理解:算法思路大致如下:如果接收的数据量小于m,则依次放入蓄水池。当接收到第i个数据时,i >= m,在[0, i]范围内取以随机数d,若d的落在[0, m-1]范围内,则用接收到的第i个数据替换蓄水池中的第d个数据。重复步骤2。算法的精妙之处在于:当处理完所有的数据时,蓄水池中的每个数据都是以m/N的概率获得的。下面用白话文推导验证该算法。假设数据...原创 2019-12-30 20:06:10 · 613 阅读 · 0 评论 -
【算法题】数字游戏,把数字1,2,...,9...使得等式成立,要求数字只出现一次
题目:解析:使用电脑穷举出所有情况将符合条件的值输出解:设(a)(b)为A,设(c)为B,设(d)(e)(f)为C,设(g)为D,设(h)(i)为EB、D的取值范围不含1为了满足数学要求,那么需要C%D==0java代码实现:import java.util.ArrayList;import java.util.List;public class numberGame {...原创 2019-11-09 14:33:54 · 2559 阅读 · 0 评论 -
【必须掌握的算法】01.快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1) 首先设定一个分界值,通过该分界值将数组分成左右两部分。...原创 2019-10-15 19:51:57 · 100 阅读 · 0 评论 -
数据结构与算法 7种排序算法的实现
1.冒泡排序声明:本文章定义及代码搜集自 百度百科冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶...原创 2019-07-05 16:51:42 · 3888 阅读 · 1 评论