为了引出动态规划的基本思想,请看下面的例子:
题目描述:
斐波那契数列是数学中常见的数列,也叫兔子数列,它满足:a[1]=1,a[2]=1,a[n]=a[n-1]+a[n-2](n>2),输入n,输出a[n] mod 10000007的值。(n
输入样例:
3
4
5
输出样例:
2
3
5
【算法分析】
看到题目以后,我们可以很轻松的写出两个版本的代码,一个是递推...
分类:
其他好文 时间:
2015-01-27 16:26:17
阅读次数:
402
机器学习中常常要用到分类算法,在诸多的分类算法中有一种算法名为k-近邻算法,也称为kNN算法。
一、kNN算法的工作原理
二、适用情况
三、算法实例及讲解
---1.收集数据
---2.准备数据
---3.设计算法分析数据
---4.测试算法
一、kNN算法的工作原理
官方解释:存在一个样本数据集,也称作训练样本集,并且样本中每个数据都存在标签,即我们知道样...
分类:
编程语言 时间:
2015-01-26 15:11:47
阅读次数:
304
机器学习中常常要用到分类算法,在诸多的分类算法中有一种算法名为k-近邻算法,也称为kNN算法。一、kNN算法的工作原理二、适用情况三、算法实例及讲解 ---1.收集数据 ---2.准备数据 ---3.设计算法分析数据 ---4.测试算法一、kNN算法的工作原理官方解释:存在一个样本数据集,也...
分类:
编程语言 时间:
2015-01-26 14:54:34
阅读次数:
267
在算法分析中,当一个算法中包括递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比較经常使用的有下面四种方法: (1)代入法(Substitution Method) 代入法的基本步骤是先猜測递归方程....
分类:
编程语言 时间:
2015-01-26 14:51:29
阅读次数:
289
这也是一道例题给定一个字符串,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。算法分析:这题的做法和上一题差不多,也是先二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于 k。如果有,那么存在k 个相同的子串满足条件,否则不存在。这个做法的时间复杂度为 O...
分类:
编程语言 时间:
2015-01-26 11:37:26
阅读次数:
238
声明:这个系列博客是《数据结构与算法分析 C++描述》的读书笔记系列
参考博客:点击打开链接
本文是原书第二章内容,主要内容包括:算法的时间复杂度分析/算法的优化,分析的例子是很出名的最大子序列求和问题。
分为了四种方法来求解:穷举/穷举优化/递归(分治)/联机算法(动态规划), 算法复杂度为O(N^3)/O(N^2)/O(N*logN)/O(N). 思路都在具体代码里
---------...
分类:
编程语言 时间:
2015-01-24 14:31:54
阅读次数:
184
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏。
汉诺塔的游戏规则及递归算法分析请参考http://en.wikipedia.org/wiki/Tower_of_Hanoi。
知道了汉诺塔的规则和算法,现在就开始创建元素。用HT for W...
分类:
Web程序 时间:
2015-01-12 20:44:48
阅读次数:
233
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏。
汉诺塔的游戏规则及递归算法分析请参考http://en.wikipedia.org/wiki/Tower_of_Hanoi。
知道了汉诺塔的规则和算法,现在就开始创建元素。用HT for Web(http://www.hightopo.com)现有的3D模板创建底盘和3根柱子不是问题,问题是要创建若干个中空的圆盘。一开始的想法是:创建一个圆柱体,将圆柱体的上下两端隐藏,设置柱面的宽度来实现圆盘的效果,经过多...
分类:
Web程序 时间:
2015-01-12 19:15:20
阅读次数:
329
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏。汉诺塔的游戏规则及递归算法分析请参考http://en.wikipedia.org/wiki/Tower_of_Hanoi。知道了汉诺塔的规则和算法,现在就开始创建元素。用HT for Web(http:...
分类:
Web程序 时间:
2015-01-12 19:01:46
阅读次数:
305
求一组N个数中的第k个最大者,设k=N/2. 1 import java.util.Random; 2 3 4 public class K_Max { 5 6 /** 7 * @param args 8 */ 9 //求第K大的数,保证K大于等于1,小于等...
分类:
编程语言 时间:
2015-01-11 23:03:10
阅读次数:
380