问题描述:
在一个数组中找出第k小的数。
算法:
快速选择select算法。
策略:五分化中项的中项做pivot
复杂度:最坏情况下O(n)
对比:
1、RANDOMIZED-SELECT,以序列中随机选取一个元素作为主元,可达到线性期望时间O(N)的复杂度。
2、SELECT,快速选择算法,以序列中“五分化中项的中项”,或“中位数的中位数”作为主元(枢纽元),在最...
分类:
编程语言 时间:
2014-12-26 01:01:11
阅读次数:
745
题目大意:给出两个数 ,s,m,按照题目中的要求计算生成的随机数列,判断是否生成了0~m-1这m个数列,若是则是好的选择,否则是坏的选择。
算法思想;
用一个标记flag[MAXN]来记录前0~m-1是否生成,同时用num记录数列的长度,循环判断当前的数是否先前生成过,若没有则标记,否及判断num是否等于m,若等则是一个好的选择,不等则不是一个好选择。输出时s,m均占10个字节有队齐,字符串从...
分类:
其他好文 时间:
2014-12-15 21:52:09
阅读次数:
136
查看Nginx 源码,将Nginx IP选择算法变为Java:package com.csst.msm;public class Test { /** * @param args */ public static void main(String[] args) { ...
分类:
编程语言 时间:
2014-11-28 09:50:06
阅读次数:
191
关于查找数列中第k小的元素的常见方法:
1、先排序整个数列然后取第k-1个数
2、利用选择排序
3、选择算法
4、利用计数排序的思想
5、利用堆排序思想(一)
6、利用堆排序思想(二)...
分类:
编程语言 时间:
2014-10-22 14:36:48
阅读次数:
281
对于一个监督学习模型来说,过小的特征集合使得模型过于简单,过大的特征集合使得模型过于复杂。对于特征集过小的情况,称之为欠拟合(underfitting);对于特征集过大的情况,称之为过拟合(overfitting)解决此类学习问题的方法:1)特征选择算法:一类自动化算法,在这类回归问题中选择用到的特...
分类:
其他好文 时间:
2014-10-19 18:20:05
阅读次数:
332
randomized_select函数的期望运行时间是Θ(n),这里假设输入数据都是互异的.它返回数组A[p, r]中第i小的元素.该函数最坏情况运行时间为Θ(n2),即使是找最小元素也是如此,以为在每次划分时可能极不走运地总是按余下的元素中最大的来进行划分,而划分操作需要Θ(n)时间.我们也将看到...
分类:
编程语言 时间:
2014-10-16 13:07:52
阅读次数:
264
求给定输入中第k大的数的算法。这是一个常见面试题,通常的解法也很明显,使用类似快排的思想。每趟运行,把数组的值分成两部分,一部分比pivot大,一部分比pivot小,因为我们知道pivot在数组中的位置,所以比较k和pivot的位置就知道第k大的值在哪个范围,我们不断的进行recursion, 直到...
分类:
编程语言 时间:
2014-10-16 13:02:32
阅读次数:
404
目录路由协议特点图释默认路由特定主机路由路由表信息分组转发算法动态路由理想路由算法分层次路由选择协议自治系统 AS因特网有两大类路由选择协议转发和路由选择路由协议特点不存在一种绝对的最佳路由算法.所谓"最佳"只能是相对于某一种特定要求下得出的较为合理的选择而已实际的路由选择算法,应尽可能接近于理想的...
分类:
其他好文 时间:
2014-08-27 16:26:08
阅读次数:
320
在对数据进行拟合,学习模型的过程中,会出现以下情况:1)high variance, overfitting.过拟合2)high bias, underfiiting.欠拟合过拟合出现的原因1)太多的特征。2)过少的训练数据。如何解决?1)减少特征数2)模型选择算法(model selection ...
分类:
其他好文 时间:
2014-08-26 19:13:56
阅读次数:
310