欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据
大数据技术博客公众号bigdata_ai
开发爱好者社区:
Java技术范

 分类:算法

Guava学习之RangeMap

Guava学习之RangeMap
  在《Guava学习之RangeSet》中谈到了RangeSet的特点及其用法。今天要谈的的RangeMap和RangeSet有许多不一样的。   在Google Guava官方API上面可以得知:RangeMap是一种集合类型( collection type),它将不相交、且不为空的Range(key)映射给一个值(Value)。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即使这个区间映射的值是一样的。

w397090770   7年前 (2013-07-18) 6102℃ 0评论4喜欢

Guava学习之RangeSet

Guava学习之RangeSet
  前面谈到了Guava中新引入的Range类,也了解了其中的作用,那么今天来谈谈Guava中用到Range来的地方:RangeSet类。RangeSet类是用来存储一些不为空的也不相交的范围的数据结构。假如需要向RangeSet的对象中加入一个新的范围,那么任何相交的部分都会被合并起来,所有的空范围都会被忽略。   讲了这么多,我们该怎么样利用RangeS

w397090770   7年前 (2013-07-17) 6632℃ 1评论4喜欢

Guava学习之Range

Guava学习之Range
  在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比如1到100之间的整型数据。不过我们无法遍历出这个区间里面的值。如果需要达到这个目的,我们可以将这个范围传给Conti

w397090770   7年前 (2013-07-15) 4700℃ 0评论3喜欢

Guava学习之Immutable集合

Guava学习之Immutable集合
  Immutable中文意思就是不可变。那为什么需要构建一个不可变的对象?原因有以下几点: 在并发程序中,使用Immutable既保证线程安全性,也大大增强了并发时的效率(跟并发锁方式相比)。尤其当一个对象是值对象时,更应该考虑采用Immutable方式; 被不可信的类库使用时会很安全; 如果一个对象不需要支持修改操作(mutation

w397090770   7年前 (2013-07-12) 7985℃ 1评论7喜欢

Guava学习之BiMap

Guava学习之BiMap
  在前面的《Guava学习之Multimap》文章中我们谈到了Guava类库中的Multimap,其特点是存在在Multimap中的键值对可以不唯一;而我们又知道,在Java集合类库中有个Map,它的特点是存放的键(Key)是唯一的,而值(Value)可以不唯一,如果我们需要键(Key)和值(Value)都唯一,该怎么实现?这就是今天要谈的BiMap结构。   在过去,如

w397090770   7年前 (2013-07-10) 6088℃ 2评论2喜欢

Guava学习之Multimap

Guava学习之Multimap
  相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的value将会被后来的值替换掉。如果我们需要用Map来把相同key的值存在一起,代

w397090770   7年前 (2013-07-09) 7278℃ 1评论1喜欢

社会关系网之权威计算分析法

社会关系网之权威计算分析法
在社会关系网中,入度越多的实体权威性越大;反之则越小。从上面的定义可以看出,权威性的衡量必须在有向图中进行,无向图是没有权威性的概念,不过无向图中可以用中心度去衡量实体的重要性。目前,比较常见的用于计算结点权威性的模型主要有三种:度权威(Degree Prestige)、邻近权威(Proximity Prestige)以及等级权威(Rank

w397090770   8年前 (2013-05-30) 3514℃ 1评论3喜欢

寻找n个整数中前最小的k个元素

寻找n个整数中前最小的k个元素
  面试题目:输入n个整数,输出其中最小的前k个数。  例如输入1,2,3,4,5,6,7和8这8个数字,则最小的3个数字为1,2,3。  分析:这道题最简单的思路莫过于把输入的n个整数排好序,然后输出前面k个数,这就是最小的前k个数。但是按照这种思路最好的时间复杂度为O(nlogn),是否还有比这个更快的算法呢?  

w397090770   8年前 (2013-05-21) 5255℃ 0评论1喜欢

正整数n的所有可能和式的组合

正整数n的所有可能和式的组合
  很多人在面试中会被问到这样的题目,题目的含义是有如下的组合4=1+1+1+1、1+1+2、1+3、2+1+1、2+2。光从题目来看有两种理解: 将3 = 1 +2 和3 = 2 +1当作不同的组合。这种情况是比较简单的,直接将给定的n递归地分解成(n - 1) + 1当递归求得的结果和我们需要分解的整数n相等,则这次分解就完成了,我们可以把分解的组合输出来,

w397090770   8年前 (2013-05-16) 3453℃ 0评论2喜欢

数据标准化处理

数据标准化处理
  标准化是将属性域里面的数据等比例缩放,使得处理后的值落入一个小的特定区间。标准化主要有以下几点好处:  (1)、可以将有单位的属性变成无单位的,这样就可以均等的对待每一个属性。比如对吞吐量量化之后的值进行标准化,不仅可以去掉单位,而且使得不同的属性值可以一起参加计算。  (2)、很好地解

w397090770   8年前 (2013-05-15) 6069℃ 0评论7喜欢