ALGORITHM
JerryDeng
这个作者很懒,什么都没留下…
展开
-
Trie树
Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。参考:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207886.htmlhttp://zh.wikipedia.org/wiki/Trie原创 2015-03-31 18:01:42 · 524 阅读 · 0 评论 -
Hamilton
import java.util.Vector;class Hamilton{ int start; int a[][]; int len; int x[]; // 记录回路 boolean flag; public Hamilton(int[][] a, int n, int start) { this.a = a; this.len = n; this.f原创 2013-07-13 20:28:49 · 1193 阅读 · 0 评论 -
关于子程序
0.子程序200行以内。1.参数列表:输入变量,工作变量,修改变量,辅助主功能的变量。2.多使用局部变量,不把子程序的参数用作工作变量。原创 2013-10-08 18:17:58 · 705 阅读 · 0 评论 -
从几幅架构图中偷得半点海量数据处理经验
从几幅架构图中偷得半点海量数据处理经验 (注:本文只是简简单单的截几幅图而已,要想更深入的学习和了解hadoop框架和mapreduce模式,或者对淘宝的数据魔方感兴趣的话,尽可参考此文:从Hadhoop框架与MapReduce模式中谈海量数据处理。) 最近对海量数据处理发生了不小的兴趣,特此从一些精彩文章中摘取几幅精彩的图片或片段,拿来给大家分享。所谓奇文共欣赏,好Archi转载 2013-08-10 06:42:18 · 804 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题
教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。转载 2013-08-10 06:44:32 · 758 阅读 · 0 评论 -
海量数据处理之Bloom Filter详解
海量数据处理之Bloom Filter详解 前言 本博客内曾已经整理过十道海量数据处理面试题与十个方法大总结。接下来,本博客内会重点分析那些海量数据处理的方法,并重写十道海量数据处理的面试题。如果有任何问题,欢迎不吝指正。谢谢。一、什么是Bloom Filter Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一转载 2013-08-10 06:45:56 · 740 阅读 · 0 评论 -
海量数据处理面试题集锦
十七道海量数据处理面试题与Bit-map详解作者:小桥流水,redfox66,July。前言 本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。 同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处转载 2013-08-10 06:41:07 · 641 阅读 · 0 评论 -
判断一个int数组中的元素是否存在重复
public class Test{ public static void main(String args[]) { int a[] = {1, 2, 3, 4}; System.out.println(isRepeat(a)); } public static boolean isRepeat(int a[]) { Set set = new HashSet(a.l原创 2013-08-04 15:22:05 · 1900 阅读 · 0 评论 -
NQueues
package com.zhuyu_deng.test;class NQueues{ int n; int x[]; NQueues(int k) { n = k; x = new int[n]; } void trackback() { explore(0); } void explore(int k) { if (k >= n) {原创 2013-07-14 07:41:26 · 793 阅读 · 0 评论 -
回溯算法框架
if (最后一层) { if (满足条件) { 打印结果; return; } } 做准备; for (所有情况) { x[k] = 每一原创 2013-07-14 08:26:57 · 832 阅读 · 0 评论 -
maxSubArray
private static int maxSubArray(int x[]) { int maxSum = 0; int b = 0; for (int i = 0; i < x.length; ++i) { if (b >= 0) b += x[i]; else b = x[i]; if (b > maxSum) maxSum = b; } retu原创 2013-07-11 19:24:54 · 764 阅读 · 2 评论 -
矩阵最优路径
Given an NxM (N rows and M columns) integer matrix with non-negative values (0..MAX_INT inclusive). What is the maximum sum from going top left (0, 0) to bottom right (N-1, M-1) ? The condition is tha原创 2013-07-09 17:27:06 · 1327 阅读 · 0 评论 -
Algorithm to find square root of an algorithm
Algorithm to find square root of an algorithm原创 2013-07-11 11:32:23 · 719 阅读 · 0 评论 -
Get nth Max number in an array of unsorted integers.
In an array of unsorted integers (you may assume the array may contain +ve, -ve and 0s), write a functionint returnNthMax(int[] arr, int n) which will return the nth Max number. For e.g. if th原创 2013-07-10 15:20:52 · 1035 阅读 · 0 评论 -
找关系在数组中
You given an array:3, 2, 1, 6, 5, 4, 9, 8, 7you have to find a 3 tuple which has property a Answer can have multiple tuples, you have to find any one.In this array, answer will be 3, 6, 9原创 2013-07-08 16:20:16 · 633 阅读 · 0 评论 -
关注机器学习的最新热点方向
目前机器学习最热门的领域有以下七个,后面给出相应的资料链接:1. 迁移学习 Transfer learning 。 http://www.cse.ust.hk/TL/index.html 2. 半监督学习Semi-Supervised learning 。 http://pages.cs.wisc.edu/~jerryzhu/research/ssl/semireview.html转载 2013-10-25 15:30:36 · 1077 阅读 · 0 评论 -
data mining, machine learning and database
突然对数据挖掘和机器学习分不清了。于是查找资料。得到的答案:目标不一样。Data mining is the process of extracting hidden patterns from data.Machine learning is the subfield of artificial intelligence that is concerned with the转载 2013-10-24 23:36:09 · 1198 阅读 · 0 评论 -
5大常用算法之1,分治算法
分治算法:divide and conque。将一个大问题分解为若干个与原问题相似的小问题,然后递归的解决这些小问题,然后将小问题的解合并为原问题的解。1. 分解问题2. 解决子问题3. 合并子问题的解原创 2015-03-27 13:48:07 · 561 阅读 · 0 评论 -
首尾等值和
问题:有一个数组x[], 有n个元素,假设每个元素的值都大于0,定义前置和为:prefix sum = x[0] + x[1] + x[2] + ... + x[i]; 定义后置和为: suffix sum = x[j] + x[j+1] + ... + x[n-1]。请编写一个程序求出一个数组有多少组相同的前置和与后置和。原创 2015-03-27 13:18:51 · 668 阅读 · 0 评论 -
binarySearch
public int binarySearch(int[] arr, int x) { if (arr.length == 0) { return -1; } int left = 0; int right = arr.length - 1; while (left <= right) {原创 2015-03-19 10:33:55 · 513 阅读 · 0 评论 -
BinaryHeap
class BinaryHeap>{ private T[] array; private int currentSize; private static final int DEFAULT_CAPACITY = 10; BinaryHeap() { this(DEFAULT_CAPACITY); } BinaryHeap(int size) { currentSiz原创 2013-07-10 21:22:18 · 1228 阅读 · 0 评论 -
Mahout算法集
Mahout算法集在Mahout实现的机器学习算法见下表算法类算法名中文名分类算法Logistic Regression逻辑回归Bayesian贝叶斯SVM支持向量机Perceptron感知器算法转载 2013-10-21 11:01:56 · 905 阅读 · 0 评论 -
数据挖掘中易犯的几大错误
数据挖掘中易犯的几大错误(转)文章转自 丕子原文来自:http://database.ctocio.com.cn/200/12153200.shtml===按照Elder博士的总结,这几大易犯错误包括:缺乏数据(Lack Data)太关注训练(Focus on Training)只依赖一项技术(Rely on One转载 2013-09-12 08:05:00 · 729 阅读 · 0 评论 -
simhash进行文本查重
有1亿个不重复的64位的01字符串,任意给出一个64位的01字符串f,如何快速从中找出与f汉明距离小于3的字符串? 大规模网页的近似查重主要翻译自WWW07的Detecting Near-Duplicates for Web Crawling WWW上存在大量内容近似相同的网页,对搜索引擎而言,去除近似相同的网页可以提高检索效率、降低存储开销。当爬虫在抓取网页时必须转载 2013-09-12 11:32:33 · 1710 阅读 · 0 评论 -
分类算法之朴素贝叶斯分类(Naive Bayesian classification)
原文:http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html0、写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比的美感。而每次将学过的算法应用到实际中,并解决了实际问题后,那种快感更是我在其它地方体会不到的。转载 2013-09-12 08:06:00 · 1114 阅读 · 1 评论 -
机器学习之开源库大总结
研究数据挖掘和机器学习有一段时间了,对数据挖掘来说,商用软件有SAS、 Clementine、Oracle数据挖掘组件等等;由于个人学习和版权、算法定制等问题,开源的数据挖掘与机器学习软件(库)目前也十分必需,现在就跟大家介绍下比较流行和常用的机器学习开源库。 以前在学校用过matlab,说实话真方便,通常一个模型只要几十行甚至十几行代码就能搞定,但是正版matlab较贵,而且不太适合商业开转载 2013-10-25 15:31:46 · 882 阅读 · 0 评论 -
mahout在eclipse下的开发环境
首先将源码转移到~/workspace下,目标文件夹为mahout-distribution-0.5 进入该目录,运行mvn eclipse:eclipse然后, 运行sudo mvn -Declipse.workspace= eclipse:add-maven-repo接着从eclipse->file->import->existing project into wo转载 2013-10-21 14:02:29 · 895 阅读 · 0 评论 -
mahout配置
1、下载文件2、tar -xvz -f mahout-distribution-0.7.tar.gz -C . 其中-C之后的参数即.的位置是解压的目标文件夹3、配置环境变量 /etc/profile或者./.bashrc文件都可以 export HADOOP_HOME=/home/myname/hadoop-1.0.4 export HADOOP_CONF_D转载 2013-10-22 09:55:45 · 824 阅读 · 0 评论 -
mahout0.7示例运行纪实
运行太不容易了 所以要记下来以免后面忘记了首先是数据vim testdata.txt第一列为UserID ,第二列为ItemID,第三列为Preference Value 即评分1,101,51,102,31,103,2.52,101,22,102,2.52,103,52,104,23,101,2.5转载 2013-10-22 10:12:20 · 809 阅读 · 0 评论 -
关于Mahout点滴
用R全面解析Mahout的基于用户推荐协同过滤算法(UserCF),改进的采用欧氏距离,并用R语言实现,与Mahout的结果进行对比。 Mahout是Hahoop家族用于机器学习的一个框架,包括三个主要部分,推荐,聚类,分类!我在这里做的是推荐部分。推荐系统在现在的互联网应用中很常见,比如,亚马逊会推荐你买书,豆瓣会给你一个书评,影评。 Mahout的模型介绍 R语言模转载 2013-10-22 10:48:03 · 1098 阅读 · 0 评论 -
word2vec
https://code.google.com/p/word2vec/原创 2013-10-24 17:38:32 · 2059 阅读 · 3 评论 -
mostFrequentSubArray
Given an array of ints, find the most frequent non-empty subarray in it. If there are more than one such sub-arrays return the longest one/s.Note: Two subarrays are equal if they contain identical e原创 2013-07-10 12:24:47 · 658 阅读 · 0 评论 -
打印旋转矩阵
package com.zhuyu_deng.test;import java.util.Stack;public class Test{ private static void printRotMatrix(int a[][]) { int n = a.length; for (int i = 0; i < n / 2; ++i) { int fir = i;原创 2013-07-10 09:03:56 · 986 阅读 · 0 评论 -
树最低公共祖先
1.普通的二叉树(后序遍历+栈)2.二叉排序树(二叉排序树的特点)3.普通的树(转换为链表的共同结点)原创 2013-03-24 20:59:24 · 799 阅读 · 0 评论 -
层次遍历binary tree
总结:问题1:打印二叉树第k层的所有结点,成功return 1;失败return 0;问题2:分层遍历binary tree,每层单独打印成一行。利用二叉树本身定义的递归性。问题1:要求访问二叉树第k层的结点,利用递归性,转换成,访问以此二叉树根节点的左右子结点为根的两颗子树中的k-1层的结点。// 输入root为根的level层所有结点(从左到右)// 成功原创 2013-03-25 11:32:11 · 760 阅读 · 0 评论 -
二叉树的宽度
具有结点数最多的那一层的结点个数。原创 2013-03-25 10:05:44 · 904 阅读 · 0 评论 -
lcs(dp)
最长公共子序列X = {x1, x2, ......, xm}Y= {y1, y2,......,yn}希望找出X,Y的一个最长公共子序列1.描述最有子结构设Z = {z1, z2,。。。。。。, zk}是X, Y的一个最优解。当xm = yn时,Zk-1是Xm-1,Yn-1的最优解当xm != yn时,且xm!=zk,则Zk是Xm-1, Yn的原创 2013-03-25 19:20:00 · 857 阅读 · 0 评论 -
二叉树单分支数目
f(b)表示单分支结点数f(b) = 0; b == NULLf(b) = f(b->left) + f(b->right); b为单分支f(b) = f(b->left) + f(b->right);int getSingleSonNodes(Node* root){ if (root == NULL) { return 0; } else if (root原创 2013-03-25 11:59:56 · 3613 阅读 · 0 评论 -
二叉树叶子数
f(b)表示二叉树的所有叶子结点个数:f(b) = 0; b == NILf(b) = 1; b为叶子结点;f(b) = f(b->left) + f(b->right);int getLeafNodes(Node* root){ if (root == NULL) return 0; if (root->left == NULL && root->ri原创 2013-03-25 11:50:58 · 1215 阅读 · 0 评论 -
atoi
atoi()总结:1.函数功能:把字符串转换为整形2.函数原型int atoi(const char* nptr);3.参数说明如果第一个非空格字符不存在或者不是数字也不是正负号,则返回零,否则进行字符转换,之后检测到非数字字符(包括结束符'\0')时停止转换,返回整形数。4.头文件写代码时:0.测试字符串是否为空如果为空,返回0ps原创 2013-03-24 22:44:07 · 796 阅读 · 0 评论