摘要: 在编写MapReduce程序时,Map和Reduce之间传递的数据需要是ArrayList类型的,在调试运行时遇到了这样的一个错误:java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.hadoop.io.Ar... 阅读全文
posted @ 2014-08-30 16:07 Yancey咖啡 阅读(2913) 评论(1) 推荐(0) 编辑
摘要: 需求:实现一个简单的pyton程序,接收两个参数:plugin_name, data,根据不同的plugin_name定位到不同的逻辑处理模块并进行输出。实现方案:使用python的库函数:load_source,将插件模块加载到一个dict中key为模块名称,value为类的实例,核心代码:def... 阅读全文
posted @ 2014-08-03 22:53 Yancey咖啡 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: 1、 Dict2.1 数据结构定义dict.h// 哈希表结构typedef struct dictht { dictEntry **table; //哈希表数组指针 unsigned long size; //哈希表大小 unsigned long sizemask; //掩码... 阅读全文
posted @ 2014-08-03 14:11 Yancey咖啡 阅读(1039) 评论(0) 推荐(1) 编辑
摘要: 链表是Redis中使用非常广泛的一种数据结构,很多地方如List结构底层就是用链表实现的。链表的定义在头文件adlist.h 中,很常见的双向链表,结构如下: 1 // 链表节点 2 typedef struct listNode { 3 struct listNode *prev; //指... 阅读全文
posted @ 2014-08-03 01:30 Yancey咖啡 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 主要介绍以下几个部分:1)在一颗红黑树上求第i小数是多少需要在节点结构种增加一个域size,用来保存该节点中有几个内节点(包括当前节点)OS-SELECT(root[T], i) r = size[left[x]] + 1 //左子树节点树+1,用于判断在左子树找还是右子 //树,或者就是当前节点 if r == i return x ... 阅读全文
posted @ 2013-11-08 00:47 Yancey咖啡 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: 特点:1) 每个节点的颜色或是红,或是黑2)根节点是黑色3)叶节点是黑色4)如果一个节点是红色,则叶子为黑5)对每个节点,从该节点红黑树插入流程:第一步: 和BST的插入过程相似,将待插入节点z插入到一个红黑树的叶子节点,并着红色因为第一步之后可能会违反红黑树的某些性质,所以要进行下一步第二步: 第二步只有当插入节点的父节点为红色时才会执行,因为这个时候才会违反性质4)颜色调整分为六种情况,根据插入节点的父节点是祖父节点的左子树还是右子树分为2种,其中每种情况又有以下三种情况:情况a:插入节点的父节点是红色节点并且插入节点的叔叔节点(祖父节点的另外一个子节点)也是红色。情况b:插入节点是父.. 阅读全文
posted @ 2013-11-05 00:25 Yancey咖啡 阅读(818) 评论(0) 推荐(0) 编辑
摘要: #include#include#includeusing namespace std;char * add(char *a, char*b) { int la = strlen(a); int lb = strlen(b); char result[la+lb+2]; int p_r = 0; memset(result, 0, sizeof(result)); int crease = 0; while (la-- && lb--) { int tmp = int(a[la] - '0' + b[lb] - '0') + crease; re 阅读全文
posted @ 2013-11-03 00:51 Yancey咖啡 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 12.1-2 BST:node.left.key right; } return pre; 12.2-5 如果curr节点有左子女,那么它的前驱一定是左子女中最右边的节点,否则就不是前驱节点个人博客:http://www.yancey.info/?p=125 阅读全文
posted @ 2013-11-02 13:55 Yancey咖啡 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 6.1-1 堆中高度的定义为root到叶子节点最长简单下降路径上边的数目 2^h lg(n) lg(n)取下整6.1-3 反证6.1-4 叶子节点6.1-5 是6.1-6 否6.1-7 未知6.2.1 略6.2.2 略6.2.3 直接返回,不做修改6.2.4 不做修改6.2.5 void max_heapify(A,i) { while (true) { int l = i*2; int r = i*2 + 1; largest = ... 阅读全文
posted @ 2013-10-27 20:14 Yancey咖啡 阅读(284) 评论(0) 推荐(0) 编辑
摘要: strcpy的主要功能就是将原串拷贝到目标,一个比较简单的实现版本为 void strcpy(char * dest, char * src) { assert(src!=NULL); assert(dest!=NULL); char *ret = dest while((*ret) = (*src) && (*src)!=‘\0’) { src++; ret++; } }比较常用的实现是以上那个版本,那么这个函数其实是由很多问题的,我们进行第问题1、将src++和dest++写在while循环的条件式里... 阅读全文
posted @ 2013-10-25 23:00 Yancey咖啡 阅读(1084) 评论(2) 推荐(0) 编辑