插入排序的算法复杂度为O(n2),但如果序列为正序可提高到O(n),而且直接插入排序算法比较简单,希尔排序利用这两点得到了一种改进后的插入排序。 一. 算法描述 希尔排序:将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增 ...
分类:
编程语言 时间:
2017-03-05 18:07:16
阅读次数:
160
http://open.163.com/special/opencourse/algorithms.html 个人理解 渐进分析 is to ignore machine-dependent constants and, instead of the actual running time look ...
分类:
编程语言 时间:
2017-03-01 20:42:10
阅读次数:
357
机器学习机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知...
分类:
编程语言 时间:
2017-02-21 11:57:53
阅读次数:
384
在算法分析中,我们将语句总的执行次数记为T(n)进而分析T(n)随n的变化情况确认T(n)的数量级。一般情况下,T(n)随n增大变化最缓慢的算法为最优算法。 根据定义,T(n)的求法是很简单的,也就是简单的数数。举个例子: 这里int执行一次,for循环里的语句执行n次,所以T(n)=n+1;但是当 ...
分类:
编程语言 时间:
2017-02-11 15:48:14
阅读次数:
243
算法复杂度为while循环的个数 缺点是待查表为有序表 也可以用递归的 望多多指教 ...
分类:
其他好文 时间:
2017-01-24 23:54:59
阅读次数:
386
常见级数算法复杂度: 1,算数级数:与末项平方同阶 T(n)=1+2+3+...=n(n+1)/2=O(n2) 2,幂方级数:比幂次高出一阶 T2(n)=12+22+32+...n2=n(n+1)(2n+1)/6=O(n3) T3(n)=13+23+33+...n3=n2(n+1)2/4=O(n4) ...
分类:
编程语言 时间:
2016-12-19 08:07:22
阅读次数:
157
1.数据集的写法,大小写,前后要统一,比如Movielens100k,应该是MovieLens100k,L是大写。 2.“”其中u是“”,改为“”其中,u是“”,同时首行缩进。 3.注意变量和语句之间是否有逗号等。 4.矩阵斜体 5.算法复杂度分析里面用大o记号。 6.“”首先介绍...其次介绍参数 ...
分类:
其他好文 时间:
2016-12-08 02:12:29
阅读次数:
163
这一章的内容,有些之前已经在微信公众号中将详细的思路及步骤汇总过,有些之后可能会再找时间对其进行分析,这里只将最终实现罗列出来,难易程度不分先后,算法复杂度不保证是最优,留给大家空间自行思考,当然,本章用的是C#语言进行编码,大家可以使用自己熟悉的语言将这些算法实现一遍哦~ 如果你有什么有趣的算法题 ...
分类:
编程语言 时间:
2016-11-28 15:04:26
阅读次数:
123
代码中主要实现了下面四个操作: 下面几种操作都是线性操作,算法复杂度都是O(n); 主函数中我一函数运行时间为种子生成了一个随机数组,然后一个一个插入链表。 ...
分类:
其他好文 时间:
2016-11-21 23:07:17
阅读次数:
261
Web Workers 为什么用web workers? 浏览器的原理中决定了页面打开只有一个主线程——UI渲染线程,如果线程中有耗时的程序(js)会阻塞线程,使得页面中其他的UI无法渲染,我们一般把js文件放在body结束之前,或者优化算法复杂度。但是根本上解决还是线程的问题。在HTML5中新增了 ...
分类:
Web程序 时间:
2016-11-17 23:25:33
阅读次数:
266