- 浏览: 62971 次
- 性别:
- 来自: 南京
最新评论
-
lythemaster:
太好了,怎么会有这么好的资料,怎么居然没有人评论~太好了,有后 ...
《Hadoop开发者》第一期入门专刊
文章列表
题目:
给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增
1 2 3
3 5 6
4 8 9
现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)
答案:
沿着矩阵的对角线进行二分查找。如果k在这条对角线上,则可以得出,k在矩阵中;如果k比对角线上第一个数小,或者比对角线上最后一个数大,则可以得出,k不在矩阵中;否则,根据二分查找算法可以得出k在对角线上相邻的两个数之间,从而可以通过这两个相邻的数确定左下矩阵和右上矩阵,对这两个
红黑树是平衡二叉树的一种,它有很好的性质,树中的结点都是有序的,而且因为它本身就是平衡的,所以查找也不会出现非常恶劣的情况,基于二叉树的操作的时间复杂度是O(log(N))。Linux内核在管理vm_area_struct时就是采用了红黑树来维护内存块的。
先到include/linux/rbtree.h中看一下红黑树的一些定义,如下:
struct rb_node
{
unsigned long rb_parent_color;
#define RB_RED 0
1. 给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。 2. 有10个文件,每个文件1G, 每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序3. ...
Hadoop主要用来对非结构化或半结构化(HBase)数据进行存储和分析,而结构化的数据则一般使用数据库来进行存储和访问。本文的主要内容则是讲述如何将Hadoop与现有的数据库结合起来,在Hadoop应用程序中访问数据库中的文件。
1.DBInputFormat
DBInputFormat是Hadoop从0.19.0开始支持的一种输入格式,包含在包org.apache.hadoop.mapred.lib.db中,主要用来与现有的数据库系统进行交互,包括MySQL、PostgreSQL、Oracle等几个数据库系统。DBInputFormat在Hadoop应用程序中通过数据库供应商 ...
下载:http://ishare.iask.sina.com.cn/f/7401946.html (新浪爱问)
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。
your source files --> [autoscan*] --> [configure.scan] --> configure.ac
2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序 ...
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。 (gdb)set args –b –x (gdb) show args backtrace命令为堆栈提供向后跟踪功能。 Backtra ...
1.简介
HBase是 Hadoop 的正式子项目,它是一个面向列的分布式数据库,它在存储数据结构上并非关系型,而是疏松分布式的,持久并按多维排序并索引的map型,其思想源于Google的BigTable论文。(Google BigTable的paper: http://labs.google.com/papers/bigtable-osdi06.pdf)
由于HBase是一个分布式、大规模的平台,主要安装在类Unix平台上。但是由于其开发语言是Java,因此它同样具有跨平台的特性,同样也可以安装在Windows操作系统上。为了方便起见,使用具有类Unix特性的Cygwin来安装HBase。
...