大数据算法
分别用java、scala、python实现《大数据算法》的部分算法。
喜欢coding的谢同学
2020年网易实习
2021年字节跳动校招
小Red书同名,一起努力学习吧~
展开
-
大数据算法学习笔记(6)-外存排序
算法外存排序可以用多路归并排序,也可以用快排;但是快排的时候,分界点的选取比较讲究;本篇博客暂时只给出归并排序的代码。代码Java为了代码可读性好一点,我将其封装了一下。可能有些冗余,不过思路应该更清晰。import java.io.*;import java.util.*;public class ExternalSort { private static int n ...原创 2020-05-14 11:03:37 · 629 阅读 · 0 评论 -
大数据算法学习笔记(5)-有序数组的判定
代码Javaimport java.util.Arrays;import java.util.Random;public class IsOrder { public static void main(String[] args) { double epsilon = 0.4; int[] array = new int[]{1,2,7,3,4,8...原创 2020-05-14 11:03:23 · 315 阅读 · 0 评论 -
大数据算法学习笔记(4)-数据流中的频繁元素
问题求数据流中最频繁的元素,下面用MG算法近似解决求解这个问题。代码Javaimport java.util.*;public class FrequentElement { public static void main(String[] args) { int k = 3;//计数器的个数 Random random = new Random...原创 2020-04-27 21:50:32 · 764 阅读 · 0 评论 -
大数据算法学习笔记(3)-全0数组判定
问题包含n个0、1元素的A数组是否全部为0?算法步骤1.在A中随机独立抽取s=2/ε个元素2.检查抽样是否包含1代码Javaimport java.util.*;public class AllZero { public static void main(String[] args) { int n = 10; double epsilon...原创 2020-04-27 13:49:41 · 1163 阅读 · 0 评论 -
大数据算法学习笔记(2)-平面图的直径算法
问题给定平面上的m个顶点以及矩阵D,D[i][j]为第i个点到第j个点的距离;距离是对称的,且满足三角不等式(这样才能保证算法的近似比为2)。算法步骤1.任给k<m(只看某一行)2.选择使得Dkl最大的l(只看某一行)3.输出Dkl与k,l算法代码Javaimport java.util.Random;public class PlanarGraphDiameter {...原创 2020-04-26 21:21:46 · 1134 阅读 · 0 评论 -
大数据算法学习笔记(1)-水库抽样算法
前言在慕课上意外发现了宝藏视频,大数据算法。感觉非常棒,自己也动手实现了一下里面的算法。算法步骤1.准备长度为k的样本数组。2.取出数组的前k个作为样本数组的元素。3.从k+1个开始遍历剩余的,记其索引为i,则以k/i的概率替换样本中的元素(生成[0,i]的随机数j,i<k则替换样本数组索引为j的元素)算法性质性质1:采样是均匀的性质2:空间复杂性O(k)代码实现Jav...原创 2020-04-26 20:16:33 · 1664 阅读 · 0 评论