
基础算法
文章平均质量分 81
xeh
这个作者很懒,什么都没留下…
展开
-
我们为什么要关注MapReduce?
1.什么是MapReduce? MapReduce 是由Google公司的Jeffrey Dean 和 Sanjay Ghemawat 开发的一个针对大规模群组中 的海量数据处理的分布式编程模型。MapReduce实现了两个功能。Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集。而 Reduce是把从两个或更多个Map中,通过多个线程,进程或者独立系统并行执...原创 2008-09-02 21:57:22 · 119 阅读 · 0 评论 -
动态规划算法练习
【问题描述】 某国度的人,喜欢玩这样一个游戏,在一块板上写着一行数,共n个。两个游戏者,轮流从最右或最左取一个数。刚开始,每个游戏者的得分均为20。如果一个游戏者取下一个数,则将该数的值加到该游戏者的得分上,最后谁的得分最高谁就赢了游戏。给出这n个数( 从左往右), 假设游戏者都是非常聪明的,问最后两个人的得分(假设第一个人首先取数)。 【输入】 输入格式:第一行为n(2<=n&l...2008-11-28 22:43:08 · 253 阅读 · 0 评论 -
聪明的以色列人(上):LZ77压缩算法
第五章 聪明的以色列人(上):LZ77 第四章 第六章 全新的思路 我们在第三和第四章中讨论的压缩模型都是基于对信息中单个字符出现频率的统计 而设计的,直到 70 年代末期,这种思路在数据压缩领域一直占据着统治地位。在 我们今天看来,这种情形在某种程度上显得有些可笑,但事情就是这样,一旦某项 技术在某一领域形成了惯例,人们就很难创造出在思路上与其大相径庭的哪怕是更 简单更...原创 2008-12-11 16:29:25 · 466 阅读 · 0 评论 -
计数排序
计数排序, 基数排序, 桶排序等非比较排序算法,平均时间复杂度都是O(n). 这些排序因为其待排序元素本身就含有了定位特征,因而不需要比较就可以确定其前后位置,从而可以突破比较排序算法时间复杂度O(nlgn)的理论下限. 计数排序是最简单的特例,它要 求待排序元素是位于0到k之间的正整数 , 因而它是很特殊的情况,基本上没有特别的应用价值; 但是另一方面, 它又是基数排序的基础,或者说是一部分...2009-01-22 11:30:02 · 123 阅读 · 0 评论 -
非递归的快速排序实现
快速排序法 (quick sort)是运用分治思想(divide and conquer)对一个数组进行排序的比较排序算法。它主要思想是:以某个数为轴,将这个数组划分成两部分:不大于这个轴的一部分和大于这个轴的一部分;然后在分别对剩下的两部分进行同样的操作;一直分下去,直到每部分只有一个元素位置为止。 如何划分成两部分?严蔚敏的《数据结构》和《算法导论》有两种不同的具体实现 ...2010-10-06 20:11:22 · 159 阅读 · 0 评论