Algorithm
从基础开始手写动态数组
数组定义:数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
值得注意的是数组适合查找操作,但查找的时间复杂度并不是O(1),即便是排好序的数组,二叉查找方法也是O(logn)。正确的描述方法是数值支持随机访问,用下标随机访问的时间复杂度为O(1)。而且数组的增加和删除方法也不单单是O(n)的时间复杂度。在特定的场景下也可以实现O(1)的复杂度。比如在数组第k个位置插入一个数据,为了避免大规模的数据迁徙,可以直接用原第k位置元素赋值到最后一个元素,新增的元素放到第k个位置上即可。删除操作也可以只标记不删除,类似jvm中的标记删除算法。
Review
spark经典论文,介绍RDD的抽象,优势与劣势。有RDD的简单操作使用实例-线性归回算法和PageRank。和Hadoop
进行性能对比。
思考:从Spark的出现理解人们常常理解是MapReduce的速度太慢了,所以会有Spark的诞生。但真实情况是人们是在Spark出现之后,才开始对MapReduce不满,觉得原来可以这么快,编程这么简单。人们往往把结果就当了原因。就像成功人士不是因为各种原因才成功,而是成功之后才开始找各种原因。
Tips
一、vi常用命令总结
二、Intel开源基准测试工具HiBench
这个项目不光可以作为大数据基准测试工具来用,对于大数据初学者来说,有大数据最重要,这个平台可以生成数据,并且提供例子验证自己的大数据平台。
简单操作可参考
Share
这周看了冯仑和崔永元的脱口秀《正常说话》觉得说话真的是门艺术,而且很有意思,下面摘录了一些有意思的部分。
说实话,在被妇女报批评之前我的确没意识到这么一个习惯性的表达还犯错误。我一直觉得,如果把复杂问题简单化,把简单问题庸俗化,把庸俗问题两性化,这是一个挺好的沟通方式,因为这样一来人人都能懂。如果不这样,大家就不一定能听明白了,比如说我们现在要说个哲学话题,一切都是由时间决定的,所有的事物是时间的函数,大家估计不懂,对吧?但是我说,事情的性质常常由时间来决定,怎么决定呢?比如说一个坏人找小姐,当下给钱叫嫖,女和票同时存在就叫嫖,这字都是这么写的;一个礼拜给钱叫礼品,一个月给钱叫友谊,一年以后才给钱叫爱情,一辈子给钱叫婚姻。你看,不是给不给钱的问题,而是千万别马上就给。
正常说话会让你从容,自信而且有力量。很多创业的需要去融资,去跟别人要钱。我也经常碰到来融资,来谈钱的人。大部分人要不到钱,不是事不好,很多时候是话不会说。一上来就是“这事我需要钱,再没钱我就死了”;“这事你要给我钱”;“你们钱多,也不差我这一个”。你缺钱是你的事,对不对?但是别人需要的是理由。像谈恋爱一样,如果你通过非诚勿扰也好,通过约会也好,约到一个人,上来就说,“我们俩怎么生儿子”,“我需要个儿子,我现在也闲着”。你需要,人家就跟你走吗?你还不得说愿景、理想、花前月下、幸福生活,把这都先说完了。其实没说出来的就是“我缺个媳妇”。这话不能说,这一说出来事就黄了。所以“正常说话”包含着很多智慧,不光是力量,还有从容、幽默、智慧。