摘要:原题:假设有两个有序的整型数组int *a1, int *a2,长度分别为m和n.试用C语言写出一个函数选取两个数组中最大的K个值(K可能大于m+n)写到int *a3中,保持a3降序,并返回a3实际的长度。函数原型为int merge(int *a3, int *a1, int m, int *a2, int n, int k)解题思路:此题为两个有序数组的合并:设置两个下标索引 i和j,逐个比较a1[i]和a2[j],大的进入a3;当a1或者a2已经全部被排序,就将另一个数组部分拷贝到a3.#includeintmerge(int*a3,int*a1,intm,int*a2,intn,in 阅读全文
程序员面试:青蛙跳台阶问题(变态跳台阶)
2013-09-19 20:31 by Batys, 3134 阅读, 1 推荐, 收藏, 编辑
摘要:斐波那契数列(意大利语: Successione di Fibonacci),又译费波拿契数、费波那西数列、费氏数列、黄金分割数列。在数学上,费波那西数列是以递归的方法来定义:用文字来说,就是费波那西数列由 0 和 1 开始,之后的费波那西系数就由之前的两数相加。首几个费波那西系数是(OEISA000045):0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610, 987, 1597, 2584, 4181, 6765, 10946,………………特别指出:0不是第一项,而是第零项。题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳 阅读全文
贪心算法,递归算法,动态规划算法比较与总结
2013-09-15 15:05 by Batys, 7438 阅读, 1 推荐, 收藏, 编辑
摘要:一般实际生活中我们遇到的算法分为四类: 一>判定性问题 二>最优化问题 三>构造性问题 四>计算性问题而今天所要总结的算法就是着重解决 最优化问题《算法之道》对三种算法进行了归纳总结,如下表所示:标准分治动态规划贪心算法适用类型通用问题优化问题优化问题子问题结构每个子问题不同很多子问题重复(不独立)只有一个子问题最优子结构不需要必须满足必须满足子问题数全部子问题都要解决全部子问题都要解决只要解决一个子问题子问题在最优解里全部部分部分选择与求解次序先选择后解决子问题先解决子问题后选择先选择后解决子问题分治算法特征: 1)规模如果很小,则很容易解决。//一般问题都能满足2) 阅读全文
storm简介[ZZ]
2013-09-11 08:51 by Batys, 337 阅读, 0 推荐, 收藏, 编辑
摘要:场景伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索 场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更 久才可以被搜出来,估计这个大哥就要骂娘了。再举一个推荐的例子,如果用户昨天在淘宝上买了一双袜子,今天想买一副泳镜去游泳,但是却发现系统在不遗余力 地给他推荐袜子、鞋子,根本对他今天寻找泳镜的行为视而不见,估计这哥们心里就会想推荐你妹呀。其实稍微了解点背景知识的码农们都知道,这是因为后台系统 做的是每天一次的全 阅读全文
逻辑回归:使用SGD(Stochastic Gradient Descent)进行大规模机器学习
2013-09-03 15:29 by Batys, 15974 阅读, 0 推荐, 收藏, 编辑
摘要:Mahout学习算法训练模型mahout提供了许多分类算法,但许多被设计来处理非常大的数据集,因此可能会有点麻烦。另一方面,有些很容易上手,因为,虽然依然可扩展性,它们具有低开销小的数据集。这样一个低开销的方法是随机梯度下降(SGD)算法,Logistic回归。该算法是一个连续的(非平行)的算法,但它的速度快,因为在概念图中图13.9所示。最重要的处理大型数据,SGD算法采用恒定的内存量不管输入的大小。这里的输出包含特别感兴趣的两个值。首先,AUC值(一种广泛使用的模型的质量度量)曲线下面积的缩写有一个值0.57。AUC的范围可以从一个完全不正当的模型总是完全0错误的一个模型,1.0这是一个完 阅读全文
mahout分类
2013-09-02 09:57 by Batys, 752 阅读, 0 推荐, 收藏, 编辑
摘要:分类看起来比聚类和推荐麻烦多了分类算法与聚类和推荐算法的不同:必须是有明确结果的,必须是有监督的,主要用于预测和检测Mahout的优势mahout的分类算法对资源的要求不会快于训练数据和测试数据的增长速度,而且可以转换为分布式应用(数据规模如果不够大Mahout表现可能不及其他类型的系统)关键词表:Key ideaDescriptionModelA computer program that makes decisions; in classification, the output of the training algorithm is a modelTraining DataSubset 阅读全文
召回率与准确率[ZZ]
2013-08-27 09:26 by Batys, 356 阅读, 0 推荐, 收藏, 编辑
摘要:最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇到,知道意思,但是有时候要很清晰地向同学介绍则有点转不过弯来。召回率和准确率是数据挖掘中预测、互联网中的搜索引擎等经常涉及的两个概念和指标。召回率:Recall,又称“查全率”——还是查全率好记,也更能体现其实质意义。准确率:Precision,又称“精度”、“正确率”。以检索为例,可以把搜索情况用下图表示:相关不相关检索到AB未检索到CDA:检索到的,相关的(搜到的也想要的)B:检索到的,但是不相关的 (搜到的但没用的)C:未检索到的,但却是相关的(没搜到,然而实际上想要的)D:未检索到的,也不相关的(没搜到也没用的) 阅读全文
数据挖掘中分类和聚类的区别
2013-08-22 09:05 by Batys, 19315 阅读, 1 推荐, 收藏, 编辑
摘要:1.分类 分类是数据挖掘中的一项非常重要的任务,利用分类技术可以从数据集中提取描述数据类的一个函数或模型(也常称为分类器),并把数据集中的每个对象归结到某个已知的对象类中。从机器学习的观点,分类技术是一种有指导的学习,即每个训练样本的数据对象已经有类标识,通过学习可以形成表达数据对象与类标识间对应的知识。从这个意义上说,数据挖掘的目标就是根据样本数据形成的类知识并对源数据进行分类,进而也可以预测未来数据的归类。分类具有广泛的应用,例如医疗诊断、信用卡的信用分级、图像模式识别。 分类挖掘所获的分类模型可以采用多种形式加以描述输出。其中主要的表示方法有:分类规则、决策树、数学公式和神经网络。另外, 阅读全文
数据挖掘学习笔记:挖掘频繁模式、关联和相关[ZZ]
2013-08-21 15:19 by Batys, 1280 阅读, 0 推荐, 收藏, 编辑
摘要:所 谓挖掘频繁模式,关联和相关,即指在出现的数据集中找到一个经常出现的序列模式或者是一个经常出现的数据结构。就像搞CPU设计的人知道,Cache的预 取机制有流预取和指针预取,前者就是发现流模式,即发现在地址上顺序出现的序列模式,后者即发现指针链接模式,即链式数据结构。比 如一个人逛超市,她的购物篮里可能装有各种商品的组合。我们设想所有的商品构成全集,每种商品用0-1表示是否出现,那么每个购物篮就可以用一个布尔向量 表示,如(0,1,...,1,0)可能表示:(没有买酸奶,买了冰激凌...买了批萨,没有买牛排),分析大量顾客的购物篮就可以得到一个用购物模式, 这个模式我们用关联规则表示,如 : 阅读全文
Java虚拟机类加载初始化解析
2013-08-19 20:56 by Batys, 367 阅读, 0 推荐, 收藏, 编辑
摘要:Classloader的作用,概括来说就是将编译后的class装载、加载到机器内存中,为了以后的程序的执行提供前提条件。一段程序引发的思考:风中叶老师在他的视频中给了我们一段程序,号称是世界上所有的Java程序员都会犯的错误。诡异代码如下:Java代码 packagetest01;classSingleton{publicstaticSingletonsingleton=newSingleton();publicstaticinta;publicstaticintb=0;privateSingleton(){super();a++;b++;}publicstaticSingletonGetIn 阅读全文