`
韩悠悠
  • 浏览: 840349 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
          需要做一个垂直搜索引擎,比较了nekohtml和htmlparser 的功能,尽管nekohtml在容错性、性能等方面的口碑好像比htmlparser好(htmlunit也用的是nekohtml),但感觉 nekohtml的测试用例和文档都比htmlparser都少,而且htmlparser基本上能够满足垂直搜索引擎页面处理分析的需求   htmlparser的类图如下:           

二叉树的Java实现

/* * 二叉树节点 */ public class Node { //数据项 public long data; //数据项 public String sData; //左子节点 public Node leftChild; //右子节点 public Node rightChild; /** * 构造方法 * @param data */ public Node(long data,String sData) { this.data = data; this.sData = sData; } ...

快速排序

 * 快速排序 * 一、快速排序的思想 * 快速排序通过将一个数组划分成俩个子数组,然后通过递归调用自身为每一个子数组进行快速排序来实现 * 二、如何进行划分 * 设定关键字,将比关键字小的放在一组,比关键字大的放在另一组 * 三、如何自动设定关键字 * 设置数组最右端的数据为关键字   package com.algorithm; /** * 快速排序 * 一、快速排序的思想 * 快速排序通过将一个数组划分成俩个子数组,然后通过递归调用自身为每一个子数组进行快速排序来实现 * 二、如何进行划分 * 设定关键字,将比关键字小的放在一组,比关键字大的放在另一组 ...

希尔排序

希尔排序  *尔排序属于插入类排序,是将整个有序序列分割成若干小的子序列分别进行插入排序。 *排序过程:先取一个正整数d1<n,把所有序号相隔d1的数组元素放一组,组内进行直接插入排序;然后取d2<d1, *重复上述分 ...
package com.algorithm; /** * 汉诺塔问题 * 所有的盘子刚开始都放在塔座A上,要求将所有的盘子从塔座A移动到塔座C,每次只能移动一个盘子,任何盘子不能放在比自己小的盘子上 * @author lenovo * */ public class HanoiTower { /** * 移动盘子 * TopN:移动的盘子数 * from :起始塔座 * inter:中间塔座 * to:目标塔座 */ public static void doTower(int TopN,String from,St ...

递归算法

 *递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 *递归过程一般通过函数或子过程来实现。递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法。 *该数列中的第N向是第n-1项加n的到的   package com.algorithm; /** * 递归 * @author lenovo *递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 *递归过程一般通过函数或子过程来实现。递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法。 *该数列中的第N向是第 ...
 * 一、什么是双链表 * 每个结点除了保存对下一个结点的引用,同时还保存着对前一个结点的引用 * 二、从头部进行插入 * 要对链表进行判断,如果为空则设置尾结点为新添加的结点,如果不为空,还需要设置设置头结点的前一个结点为新添加的结点 * 三、从尾部进行插入 * 如果链表为空,则直接设置头结点为新添加的结点,否则设置尾结点的后一个结点为新添加结点,同时设置新添加的结点的前一个结点的尾结点 * 四、从头部进行删除 * 判断头部结点是否有下一个结点,如果没有则设置结点为null,否则设置头结点的下一个结点的previous为null * 五、从尾部进行删除 * 如果头结点后没有其他结点,则设置尾 ...
 * 双端链表, * 一、什么是双链表 * 链表中保存着对最后一个链接点引用的链表 * 二、从头部进行插入 * 要对链表进行判断,如果为空则设置尾结点为新添加的结点 * 三、从尾部进行插入 * 如果链表为空,则直接设置头结点为新添加的结点,否则设置尾结点的后一个结点为新添加结点 * 四、从头部进行删除 * 判断头部结点是否有下一个结点,如果没有则设置结点为null   package com.algorithm; /** * 双端链表, * 一、什么是双链表 * 链表中保存着对最后一个链接点引用的链表 * 二、从头部进行插入 * 要对链表进行判断,如果为空则设置尾 ...

链表的java实现

      使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。           链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")。 链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排 ...

队列的java实现

        普通队列         队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队 ...

栈的java实现

          栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。   package com.algorithm; ...
冒泡排序  冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较   package com.algorithm; /** * 冒泡排序 * 冒泡排序算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大 ...
实现将不同的内容输出到不同的文件,使用Partitioner   自定义的Partitioner1、为何使用Partitioner,主要是想reduce的结果能够根据key再次分类输出到不同的文件夹中。2、结果能够直观,同时做到对数据结果的简单的统计分析 1、Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。2、HashPartitioner是mapreduce的默认partitioner。计算方法是:which reduce=(key.hashCode() & Integer.MAX_VALUE) % numReduceTa ...

hadoop基本知识3

Hadoop Job Scheduler1、hadoop默认的调度器是基于队列的FIFO调度器    所有用户的作业都被提交到一个队列中,然后由jobTracker先按照作业的优先级高低,再按照作业提交时间的先后顺序选择将被执行的作业。优点:调度算法简单明了,JobTracker工作负担轻缺点:忽略了不同作业的需求差异2、还用俩个多用户调度器   --Fair Scheduler(公平调度器)   --Capacity Schedule(计算能力调度) Fair Scheduler(公平调度器)多个Pool,Job需要被提交到某个Pool中每个pool可以设置最小task slot,称为mi ...
  新建java项目,使用的jar 有 下载的solr下面的dist下面的solr-solrj-xxx.jar包和下面的solrj-lib下面的所有包 代码如下   package s; import java.io.IOException; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; im ...
Global site tag (gtag.js) - Google Analytics