归并排序是利用归并思想实现的排序方法,该算法采用经典的分治策略,即将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的答案“修补”在一起,即分而治之。具体到排序,分阶段可以理解为递归拆分子序列的过程,递归深度为log2^N;举例: 8 4 5 7 1 3 6 2 8 4 5 7 1 3 ...
分类:
编程语言 时间:
2018-12-31 19:05:42
阅读次数:
210
设计思想 分而治之:将大文件、大批量文件,分布式放在大量服务器上,以便于采取分而治之的方式对海量数据进行预算分析; 在大数据系统中的作用:为各类分布式运算框架(如:MapReduce,Spark等)提供数据存储服务 重要概念:文件切块,副本存放,元数据 HDFS架构 HDFS各节点 NameNode ...
分类:
其他好文 时间:
2018-12-25 23:37:03
阅读次数:
217
其实就是把打的问题转化为小的问题,小的问题解决了打的问题自然就解决了,这一听就像是递归,没错就是递归。比较经典的有:汉诺塔,八皇后,归并排序了,等等。我就不列出代码了,网上多的是。关键是将大的问题转化为小的问题,这种思想。其实再将问题分解以后,小的对象面临的问题的本质和大的对象面临问题的本质是一样的 ...
分类:
编程语言 时间:
2018-12-25 19:58:47
阅读次数:
189
MapReduce 离线计算框架 分而治之 input map shuffle reduce output 分布式并行的计算框架 将计算过程分为两个阶段,Map和Reduce Map阶段并行处理输入数据 Reduce阶段对Map结果进行汇总 Shuffle链接Map和Reduce两个阶段 Map T ...
分类:
其他好文 时间:
2018-12-17 14:30:40
阅读次数:
198
导数(英语:Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。或者可以简短地说,导数是用来找到“线性近似”的数学工具。如下图所示: 而微积分基本定理描述了微积分的两个主要运算──“微分”和“ ...
分类:
其他好文 时间:
2018-12-07 14:56:41
阅读次数:
159
hadoop概述 1. 存储和分析网络数据 2. 三大组件 MapReduce 对海量数据的处理 思想: 分而治之 每个数据集进行逻辑业务处理map 合并统计数据结果reduce HDFS 储存海量数据 分布式存储 安全性高 副本数据 YARN 分布式资源管理框架 管理整个集群的资源(内存、CPU核 ...
分类:
其他好文 时间:
2018-12-02 18:34:04
阅读次数:
409
海量数据处理面试题六大套路:1、分而治之/hash映射 + hash统计 + 堆/快速/归并排序 2、多层划分 3、Bloom filter/Bitmap 4、Trie树/数据库/倒排索引 5、外排序 6、Map Reduce ...
分类:
其他好文 时间:
2018-12-02 16:48:07
阅读次数:
172
从分治算法说起 要说 MapReduce 就不得不说分治算法,而分治算法其实说白了,就是四个字 分而治之 。其实就是将一个复杂的问题分解成多组相同或类似的子问题,对这些子问题再分,然后再分。直到最后的子问题可以简单得求解。 要具体介绍分治算法,那就不得不说一个很经典的排序算法 归并排序。这里不说它的 ...
分类:
编程语言 时间:
2018-11-23 20:45:37
阅读次数:
241
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce采用”分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是”任务的分解与结果的汇总”。 Map ...
分类:
其他好文 时间:
2018-11-16 15:12:27
阅读次数:
218
快速排序基本思想:挖坑填数+递归分治 快速排序使用分治法的策略,把一个串行分成2个子串行,快速排序又是一种分而治之的思想在排序算法是上的典型应用,本质上看,快速排序应该算冒泡排序基础上的递归分治法,快速排序名字简单粗暴,顾名思义就是快而且效率高,它是处理大数据最快的算法之一了。 算法描述:1、从数列 ...
分类:
编程语言 时间:
2018-11-08 22:13:55
阅读次数:
222