面试 - 常用算法
文章平均质量分 75
promise_LOVE
陪伴是最长情的爱! 我的成长之路从2015年开始,学习学习,为了一个承诺:我曾经对自己说要让你快乐,带你翻过大山大河,不能让自己一无所有,只要让我默默在你左右。
展开
-
排序算法之选择排序
选择排序每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。算法:排序算法即解决以下问题的算法:输入:n个数的序列。输出:原序列的一个重排;,使得a1*排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快原创 2015-01-16 19:20:59 · 531 阅读 · 0 评论 -
CART分类算法
统计学习方法是一本好书,可惜例子太少。找到一个好的CART算法的例子谢谢原文作者了http://www.cnblogs.com/zhangchaoyang 作者:Orisun分类回归树(CART,Classification And Regression Tree)也属于一种决策树,上回文我们介绍了基于ID3算法的决策树。作为上篇,这里只介绍CART是怎样用于转载 2015-06-13 15:07:41 · 910 阅读 · 0 评论 -
回溯
回溯回溯算法的求解过程实质上是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的,而是隐含在遍历过程中。幂集即求一个集合的所有子集。比如对于集合A={1,2,3},则A的幂集为p(A)={{1,2,3},{1,2},{1,3},{1},{2,3},{2},{3},Φ}求幂集P(A)的元素的过程可看成是依次对集合A中元素进行“取”或“舍”的过程,并且可以用一棵状转载 2015-06-10 17:30:50 · 555 阅读 · 0 评论 -
相似性度量--Pearson相关系数
Pearson 相关系数Pearson 相关系数介绍pearson是一个介于-1和1之间的值,用来描述两组线性的数据一同变化移动的趋势。当两个变量的线性关系增强时,相关系数趋于1或-1;当一个变量增大,另一个变量也增大时,表明它们之间是正相关的,相关系数大于0;如果一个变量增大,另一个变量却减小,表明它们之间是负相关的,相关系数小于0;如果相关系数等于0,表明它们之间不转载 2015-06-10 16:19:11 · 6106 阅读 · 0 评论 -
决策树的剪枝理论
剪枝理论,决策树的剪枝在上一节中没有仔细讲,趁这个机会学习了剪枝的基础理论,这里会详细学习。决策树为什么(WHY)要剪枝?原因是避免决策树过拟合(Overfitting)样本。前面的算法生成的决策树非常详细并且庞大,每个属性都被详细地加以考虑,决策树的树叶节点所覆盖的训练样本都是“纯”的。因此用这个决策树来对训练样本进行分类的话,你会发现对于训练样本而言,这个树表现完好,误差率极低且能够正转载 2015-06-09 15:36:18 · 1243 阅读 · 1 评论 -
数据挖掘十大经典算法--CART: 分类与回归树
一、决策树的类型 在数据挖掘中,决策树主要有两种类型: 分类树 的输出是样本的类标。 回归树 的输出是一个实数 (例如房子的价格,病人呆在医院的时间等)。 术语分类和回归树 (CART) 包含了上述两种决策树, 最先由Breiman 等提出.分类树和回归树有些共同点和不同点—例如处理在何处分裂的问题。分类回归树(CART,Classification And Re转载 2015-06-08 22:35:39 · 903 阅读 · 1 评论 -
独立性检验
本文给出基于两种统计量的假设检验,来检验变量间是否独立--χ2与秩和。χ2越小说明越独立。你可能会参考另一篇博客相关性检验。假设检验假设检验(Test of Hypothesis)又称为显著性检验(Test of Ststistical Significance)。在抽样研究中,由于样本所来自的总体其参数是未知的,只能根据样本统计量对其所来自总体的参数进行估计,如果要比较两个或几个总体转载 2015-06-08 11:07:18 · 2142 阅读 · 0 评论 -
朴素贝叶斯分类
先上问题吧,我们统计了14天的气象数据(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play)。如果给出新一天的气象指标数据:sunny,cool,high,TRUE,判断一下会不会去打球。table 1outlooktemperaturehumiditywindyplay转载 2015-06-08 10:41:15 · 714 阅读 · 0 评论 -
相关性检验--Spearman秩相关系数和皮尔森相关系数
本文给出两种相关系数,系数越大说明越相关。你可能会参考另一篇博客独立性检验。皮尔森相关系数皮尔森相关系数(Pearson correlation coefficient)也叫皮尔森积差相关系数(Pearson product-moment correlation coefficient),是用来反应两个变量相似程度的统计量。或者说可以用来计算两个向量的相似度(在基于向量空间模型的文本分类、转载 2015-06-08 11:06:08 · 9901 阅读 · 1 评论 -
十大编程算法助程序员走上高手之路
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2015-06-28 08:19:39 · 516 阅读 · 0 评论 -
Java排序算法:希尔排序(Shell排序)
希尔排序(Shell排序)希尔排序(缩小增量法) 属于插入类排序,由Shell提出,希尔排序对直接插入排序进行了简单的改进:它通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使数据项大跨度地移动,当这些数据项排过一趟序之后,希尔排序算法减小数据项的间隔再进行排序,依次进行下去,进行这些排序时的数据项之间的间隔被称为增量,习惯上用字母h来表示这个增量。常用的转载 2015-01-17 03:45:28 · 619 阅读 · 0 评论 -
Java排序算法之归并排序
归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合转载 2015-01-17 03:03:15 · 529 阅读 · 0 评论 -
排序算法之插入排序
插入排序 插入排序法的排序思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为启始元素,从第二个元素开始依次插入.由于要插入到的数组是已经排好序的,所以只是要从右向左找到比插入点(下面程序中的insertNote)小(对升序而言)的第一个数组元素就插入到其后面.直到将最后一个数组元素插入到数组中,转载 2015-01-16 23:16:51 · 539 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。由于冒泡排序简洁的特点,它通常被用来对于计算机程序设计入门的学原创 2015-01-16 13:43:18 · 648 阅读 · 0 评论 -
排序算法之 二分法查找
算法: 当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的(如果数据是无序的,可以调用Arrays.sort(数组变量名)进行排序)。现在我们假定数组是有序的,至于排序的算法我们会一一讲述。二分查找主要思想是:(设查找的数组区间为array[start, end])(1)确定该期间的中间位置K (=(start+end)/2)(2)将查找的值T与array[k]转载 2015-01-16 14:59:48 · 1101 阅读 · 0 评论 -
python决策树算法
集体智慧编程 PCI# -*- coding: cp936 -*-class decisionnode: def __init__(self, col = -1, value = None, results = None, tb = None, fb = None): self.col = col self.value = value转载 2015-06-13 15:09:54 · 914 阅读 · 0 评论