xml地图|网站地图|网站标签 [设为首页] [加入收藏]

iOS面试必问的一道面试题,计算共生矩阵

来源:http://www.ccidsi.com 作者:集成介绍 人气:147 发布时间:2020-04-05
摘要:村办升高和薪金想匡正, 必得熟练算法和数据布局 技士的朝鲜语水准很要紧 参照他事他说加以调查资料 Data-Intensive Processing withMapReduce byJimmy Lin and Chris Dyer Hadoop: The DefinitiveGuide byTom
  • 村办升高和薪金想匡正, 必得熟练算法和数据布局
  • 技士的朝鲜语水准很要紧

参照他事他说加以调查资料

  • Data-Intensive Processing with MapReduce by Jimmy Lin and Chris Dyer
  • Hadoop: The Definitive Guide by Tom White
  • Source Code and Tests from blog
  • Hadoop API
  • MRUnit 用来测验Apache Hadoop mapreduce 

最低4倍,最高近16倍的频率之差依然比较满足的。

- (NSArray *)getWordArray{ NSString *txtStrings = [self getWordData]; NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@", . ;  : — n-"]; NSArray *originalWordArray = [txtStrings componentsSeparatedByCharactersInSet:characterSet]; //使用谓语对数据进行去空, 使用forin对数组进行遍历去空虽然也行, 但是使用谓语性能更好 NSArray *noBlankArray = [originalWordArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self <> ''"]]; return noBlankArray;}

Stripes算法

共生矩阵中的stripes算法达成平等很简短。 但是与pairs算法分化的是,每一种词的兼具相邻词被积累在三个hashmap中,以该邻接词为key,词的现身频数为值。当循环遍历完三个词的保有邻接词之后,这么些词和与之提到的hashmap被输出。上面是stripes算法的贯彻代码:

01 public class StripesOccurrenceMapper extends Mapper<LongWritable,Text,Text,MapWritable> {
02   private MapWritable occurrenceMap = new MapWritable();
03   private Text word = new Text();
04  
05   @Override
06  protected void map(LongWritable key, Text value, Context context) throwsIOException, InterruptedException {
07    int neighbors = context.getConfiguration().getInt("neighbors", 2);