2012年8月18日

Hadoop 2.0 Yarn代码:NodeManager端代码分析_NM端各服务模块的启动

摘要: 1.概览以下介绍的NodeManager是如何启动和注册各个服务的主要涉及的Java文件hadoop-yarn-server-nodemanager下的包org.apache.hadoop.yarn.server.nodemanager NodeManager.java2.代码分析以下均在NodeManager.java中,NodeManager:当Hadoop启动时,NodeManager中的main函数被调用1).main函数输出信息到log日志中,创建NodeMananger对象,调用initAndStartNodeManager(false)2).initAndStartNodeMan 阅读全文

posted @ 2012-08-18 19:18 as_ 阅读(2469) 评论(0) 推荐(0) 编辑

编程之美:求二叉树中节点的最大距离

摘要: 1.问题描述写一个程序求一棵二叉树相距最远的两个节点之间的距离如下图:2.分析与解法对于任意一个节点,以该节点为根,假设这个根有k个孩子节点,那么距离最远的两个节点U与V之间的路径与这个根节点的关系有两种。1).若路径经过Root,则U和V属于不同子树的,且它们都是该子树中到根节点最远的节点,否则跟它们的距离最远相矛盾2).如果路径不经过Root,那么它们一定属于根的k个子树之一,并且它们也是该子树中相距最远的两个顶点因此,问题就可以转化为在字数上的解,从而能够利用动态规划来解决。设第K棵子树中相距最远的两个节点:Uk和Vk,其距离定义为d(Uk,Vk),那么节点Uk或Vk即为子树K到根节点R 阅读全文

posted @ 2012-08-18 14:50 as_ 阅读(5143) 评论(0) 推荐(1) 编辑

编程之美:从无头单链表中删除节点

摘要: 1.问题描述假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个),请将该节点从单链表中删除。如下图所示:2.分析与解法假设给定的指针为pCurrent, Node* pNext = pCurren->next其中pCurren->next!=NULL,如下图,因为没有头结点,删除pCurren指向的节点B就很困难,而删除节点C就非常容易,于是就现将节点C当中的数据等信息拷贝到节点B上,覆盖节点B原来的数据,然后删除节点C。删除之前删除之后3.代码实现struct Node{ int data; Node* next;}; voi... 阅读全文

posted @ 2012-08-18 13:26 as_ 阅读(669) 评论(0) 推荐(0) 编辑

编程之美:无差错二分查找

摘要: 1.虽然二分查找是十分简单的程序,但是因为循环等操作也是最容易出错的,其中在写循环(或者递归)程序的时候,应该特别注意三个方面的问题:初始条件、转化、终止条件。2.二分查找源码int biseach(char** arr, int b, int e, char* v){ int minIndex = b, maxIndex = e, midIndex; while(minIndex < maxIndex - 1) //若改为minIndex < maxIndex时,容易出现死循环 { ... 阅读全文

posted @ 2012-08-18 10:05 as_ 阅读(907) 评论(0) 推荐(0) 编辑

导航