- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 【算法导论】之堆排序
堆的简介 一般说堆,说的是二叉堆。堆数据结构是一种数组对象,它可以被看作为一棵完全二叉树。树中的每个节点与数组中存放该节点值的那个元素对应。 堆有两个属性:堆能容纳的元素个数,堆中存放的元素个数。二叉堆有两种:大根堆和小跟堆,它们应该满足的性质:A[parent[i]]>=A[i]或A[parent[i]]堆的操作保持堆的性质Heap * init_heap
2013-02-20 21:17:45 760
原创 【算法导论】归并排序
算法描述 归并排序是分治策略的一种体现,很多算法在结构上是可以递归的,为了解决一个问题,需要一次或多次递归调用自身来解决相关的子问题。 归并排序需要额外的内存空间,是一种以空间换取时间的排序方法。 下例中采用二路归并,且在一段小数据时,使用插入法排序。代码实现(C实现)#includeint insertsort(int * const p,int st
2013-02-19 22:00:46 723
转载 Flume日志收集
一、Flume介绍Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。设计目标:(1) 可靠性当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数
2013-02-19 17:47:45 2196
原创 插入排序【算法导论】
算法描述 插入排序是一种就地,增量排序,不需要额外的存储空间。它主要是针对小数据两的排序。 核心思想:类似抓扑克牌,右手抓牌向左手持有的牌中插入,每次插入后保证左手持有的扑克牌是有序的。伪代码 for j-<2;j<length[A];j++ key=A[j]; i=j-1; while i>0 and A[i]>k
2013-02-16 14:00:15 683
原创 Java虚拟机编译
指令格式如下: [ [...]] [] 是code[]数组中的指令的操作码索引。此处的code[]数组就是存储当前方法的JVM字节码的Code属性中的code数组。也可以认为是相对于方法起始处的字节偏移量。为指令的操作码的助记符号,是指令的操作数,一条指令可以有0到多个操作数。每条指令之前的可以作为控制转移指令的条转目标。需要注意的是,JVM控制转移指令的实际操作数是在当前指令的操作码
2013-02-10 20:19:38 985
原创 Java字节码指令集简介
Java虚拟机指令由一个字节长度的、代表某种特定含义的操作码(Opcode)以及其后的零个至多个代表此操作参数的操作数构成。虚拟机中许多指令并不包含操作数,只有一个操作码。若忽略异常,JVM解释器使用一下为代码即可有效工作。do{ 自动计算PC寄存器以及从PC寄存器的位置取出操作码 if(存在操作数) 取出操作数; 执行操作码所定义的操作;}while(处理下一次循环
2013-02-08 10:26:20 3081 1
转载 HIVE UDF函数(一)
转载http://www.oratea.net/?p=944日期函数UNIX时间戳转日期函数: from_unixtime语法: from_unixtime(bigint unixtime[, string format])返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒
2013-02-06 15:10:55 1581
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人