摘要:
什么是后缀数组?后缀数组是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,后缀数组经常用于解决字符串有关的复杂问题。先介绍几个后缀数组中的基本定义:子串:字符串S 的子串r[i..j],i≤j,表示r 串中从i 到j 这一段,也就是顺次排列r[i],r[i+1]... 阅读全文
摘要:
看mahout的源代码时发现private final Retriever recommendationsRetriever;其中Retriever是个接口,对这个接口对象表示不解,为什么要这样做呢?在C中如果要调用某个函数,可以先声明一个函数指针,然后就可以调用这个函数,简单描述如下首先需要定义一个函数指针:typedef void (*callback)(int,int,...)接下来就可以使用fun来绑定某个对应的函数,如void fun(int a,int b,..){...}绑定fun: callback = &fun;最后就可以调用fun函数了,如callback(1,2) 阅读全文
摘要:
推荐算法的核心在于对相似用户和相似物品的识别,下面手动重复下这个过程帮助理解。数据准备:初始数据:110151102311032.52101221022.5210352104231012.53104431054.531075410154103341044.5410645101451023510325104451053.551064变成矩阵表示:用户ID/资源编号1011021031041051061071532.5222.55232.544.554534.54543243.54推荐算法步骤:首先计算相似性:计算方法有:欧几里得距离法,皮尔逊相关系数,cosine相似度,Tanimoto系数。以 阅读全文
摘要:
原文链接:http://blog.fens.me/hadoop-mahout-maven-eclipse/#gsc.tab=0,在此非常感谢作者的详细解读本文与前面一篇http://www.cnblogs.com/abc123456789/p/3504853.html是同一时间完成的,可能有些东西是相互引用的,因此如果有些写的不够明白的,可以参考这篇。下面进入操作环节。步骤:1) 使用maven创建一个标准的java项目同样有两种方法:一种是命令行敲命令新建项目,一种是在eclipse可视化创建,各有好处,命令行命令:mvn archetype:generate -DarchetypeGrou 阅读全文
摘要:
基于 Apache Mahout 构建社会化推荐引擎-实战(参考IBM)文章地址:http://www.ibm.com/developerworks/cn/java/j-lo-mahout/由于第一次接触mahout等,有些地方理解不对烦请指出!步骤:Windows版:1) 首先安装JDK(1.6及以上)2) Ant(1.7及以上)http://www.apache.org/dist/ant/binaries/下载bin版,解压,然后添加系统环境变量,如下然后运行cmd,输入ant,出现如下界面说明环境变量配置成功3) 下载maven因为mahout是利用maven来进行管理的,maven是一 阅读全文
摘要:
因为之前在ubuntu下用过半年左右的vim,最近打算用用windows下的gvim,所以可能一些基本知识和命令就先不补充了,先来些目前经常使用的命令,防止忘记。注:本篇会一直补充下去,欢迎评价gvim安装:直接就有windows的exe版本,下载gvim点击安装就好。安装完需要简单做些配置。打开gvim的安装目录下_vimrc(网上别人说_vimrcset,可能是改名了,我的是_vimrc)文件,在文件结尾处添加如下一段if has("multi_byte") "配置多语言环境,解决中文乱码问题 " UTF-8 編碼 set encoding=utf- 阅读全文
摘要:
在网上看见一个人的博客(http://blog.csdn.net/liumangxiong/article/details/670884),说的是一个C语言的问题看起来有点兴趣,对于第一个问题好疑惑,虽然p指向了局部变量,但怎么会死循环呢??只好来用他所说的第三种方法(。。。)来测试下首先上个代码吧#include "stdio.h"int *p = NULL;int *fFun(void){ int i = 0; return &i;}void subFun(void){ (*p)--;}void gFun(void){ int j; for(j = 0;j i. 阅读全文
摘要:
初识安卓—工具准备一般是要下载java,eclipse,android sdk。下载java sdk,配置环境变量。测试java是否安装成功。然后去android developers网站http://developer.android.com/sdk/index.html,下载对应的版本(例如adt-bundle-windows-x86-20131030.zip),解压到特定文件夹,启动解压的目录下(如F:\adt-bundle-windows-x86-20131030\eclipse)的eclipse(因为这个版本已经包含了eclipse)即可第一个app开发在eclipse中,点击New 阅读全文
摘要:
同前篇一样,本篇意在总结有关图的一些基本算法包括有图的最小生成树(Prim,Kruscal),最短路径(Dijkstra,Floyd),拓扑排序等算法本篇图的数据结构为邻接表表示法首先graph.h#ifndef __GRAPH_H__#define __GRAPH_H__typedef struct graph *Graph;Graph graph_create(int n);void graph_destroy(Graph);void graph_add_edge(Graph g, char u, char v,unsigned int wt);int graph_vertex_count 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文