03 2012 档案

Hadoop架构——《实战Hadoop》抄书笔记【1】
摘要:Hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多的小的工作单元,并把这些单元放到任何集群节点上执行。在MapReduce中,一个准备提交执行的应用程序称为“作业(job)”,而从一个作业划分出得、运行于各个计算节点的工作单元称为“任务(task)”。此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了高吞吐率的数据读写。 在分布式存储和分布式计算方面,Hadoop都是用从/从(Master/Slave)架构。在一个配置完整的集群上,想让Hadoop这头大象奔跑起来,需... 阅读全文

posted @ 2012-03-28 15:33 aho 阅读(1002) 评论(0) 推荐(0)

数据决定程序结构
摘要:摘自《编程珠玑》,作为自己的读书笔记。 程序员在节省空间方面无计可施时,将自己从代码中解脱出来,退回到起点并集中精力研究数据,常常会有奇效。(数据的)表示形式是程序设计的根本。使用数组重新编写重复代码。冗长的相似代码常常可以使用最简单的数据结构——数组来更好的表述;封装复杂结构。当需要非常复杂的数据结构时,使用抽象的术语进行定义,并将操作表示为类;尽可能使用高级工具。超文本、名字—值对、电子表格、数据库、编程语言等都是特定的问题领域中的强大工具;从数据得出程序的结构。通过使用恰当的数据结构来替代复杂的代码,从数据可以得出程序的结构。万变不离其宗:在动手编写代码之前,优秀的程序员会彻底理解... 阅读全文

posted @ 2012-03-22 11:05 aho 阅读(174) 评论(0) 推荐(0)

钥匙分配问题
摘要:问题描述:引用的问题原文:Elevenscientistsareworkingonasecretproject.Theywishtolockupthedocumentsinacabinetsothatthecabinetcanbeopenedifandonlyifsixormoreofthescientistsarepresent.Whatisthesmallestnumberoflocksneeded?Whatisthesmallestnumberofkeystothelockseachscientistmustcarry?现在有一份文件需要锁起来(锁的个数待定),有3人来保管此文件;要求必 阅读全文

posted @ 2012-03-20 10:23 aho 阅读(1670) 评论(0) 推荐(1)

选取第(或前)k大(小)的元素
摘要:建立大小为k的最小堆O(nlogk)当元素t<=堆顶, 抛弃之当元素t>堆顶, 插入堆利用计数或基数排序O(n + k), 常数项不可控快速排序O(nlogn)中位数之中位数, 与划分结合 阅读全文

posted @ 2012-03-14 10:03 aho 阅读(187) 评论(0) 推荐(0)

线性排序 — 计数排序
摘要:来自同学家铭的分享,整理下作为自己的笔记。算法的步骤如下:找出待排序的数组中最大和最小的元素将数组中值为i的元素出现的次数存入数组C的第i项对所有的计数累加C[i] += C[i-1];反向填充目标数组将元素i放在新数组的第C[i]项,每放一个就将C[i]减去1效果图:时间复杂度当输入是n个[0,k]之间的整数时时间复杂度为 Θ(n + k)。计数排序不基于比较,排序的速度快于任何比较排序算法。局限性在排序前需要知道数据的最大最小值对于数据范围很大的数组,需要大量的时间和内存桶排序基数排序 注意点:如果想从高位到低位来进行调整,没次都要需要考虑上一位是否需要调整,会很麻烦,不如从低位来的简单 阅读全文

posted @ 2012-03-13 21:15 aho 阅读(380) 评论(0) 推荐(0)

数字逻辑题
摘要:1 11 21 1211 111221 ?答案:3122111 -> 11(1个1)->21 (2个1)-> 1211(1个2,1个1) 依次类推 阅读全文

posted @ 2012-03-09 17:05 aho 阅读(241) 评论(0) 推荐(0)

桶中取黑白球
摘要:《编程之美》4.6读书笔记问题:有一个桶,里面有白球和黑球各100个,规则如下:每次随机从桶中取出两个球如果是两个同色的球,就再放入一个黑球如果是两个异色的球,就再放入一个白球问:最后桶中只剩下一个黑球的概率是多少?解法:刚拿到这个问题,我的第一个想法就是用程序来计算各种情形出现的概率,然后再用递归求出最终的结果,不过可能因为程序存在一个bug,结果一直得到的是一个错误的结果下面列出作者给出的正确解法,看来思维僵化实在太可怕了!解法一:我们可一个用一个set(黑球数量, 白球数量)来表示桶中的黑球和白球的个数。从桶中取出球后,只可能是下列三种操作:取出的是两个黑球,则放回一个黑球:(-2, 0 阅读全文

posted @ 2012-03-07 17:52 aho 阅读(582) 评论(1) 推荐(1)

最大公约数
摘要:问题:写一个程序,求两个正整数的最大公约数。如果这两个整数都很大,有什么简单的算法吗?思路: 求最大公约数是一个很基本的问题,早在公元前300年左右,欧几里得就在他的著作《几何原本》中给出了高效的解法——辗转相除法。 辗转相除法的原理很简单,设两数为a、b(a>b),b最大公约数(a,b)的步骤如下:用b除a,得a=bq......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)的最大公约数。 阅读全文

posted @ 2012-03-07 12:26 aho 阅读(438) 评论(0) 推荐(0)

导航