1、变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 所有带var和function的关键字,执行代码执行js代码,从上到下执行,遇到变量就会通过内存地址 ...
分类:
Web程序 时间:
2018-10-18 11:46:32
阅读次数:
182
一:三种基本的素数判定 1:穷举法:适用于数据较小的时候。时间复杂度:O() 2:埃拉托瑟尼筛法求素数 时间复杂度:O() 3:欧拉筛法 ...
分类:
其他好文 时间:
2018-10-07 13:47:47
阅读次数:
168
策略模式是一种行为型模式,他的特点就是执行流程固定,但中间的步骤有一些差别;运行的时候才确定。官方的意思是:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。下面使用穷举法举几个简单理解的例子: 1.诸葛亮的锦囊妙计,每一个锦囊就是一个策略. 2.旅行的出游方式,选择骑自行车、坐汽车, ...
分类:
其他好文 时间:
2018-10-06 13:19:10
阅读次数:
189
续首篇,开始归纳整理常用的算法大类。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一,穷举法 特点及适用范围 暴力寻找所有的解,一般用递归求解。 解题步骤 求出问题的解的第一步 求出经过第一步限制之后的子问题的解。 ...
分类:
编程语言 时间:
2018-10-04 11:02:41
阅读次数:
183
题目如下: 解题思路:24点是非常经典的游戏了,因为本题数据量小,可以使用穷举法,把所有的可能结果都算出来。假设nums = [a,b,c,d],记f(n)表示用nums中n个数字进行运算可以得到的结果集,那么f(4)又可以记为f(4) = U(U(f(1),f(3), U(f(2),f(2))) ...
分类:
其他好文 时间:
2018-09-30 12:58:03
阅读次数:
126
联系 1.都是一种推导算法 2.都是分解成子问题来求解,都需要具有最优子结构 区别 1.贪心:每一步的最优解一定包含上一步的最优解,上一步之前的最优解则不作保留; 动态规划:全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有的局部最优解 2.贪心:如果把所有的子 ...
分类:
编程语言 时间:
2018-09-28 00:07:56
阅读次数:
235
算法设计就从实际问题出发,通过分析和思考最终得到的一个能解决问题的过程性描述的工作过程。 算法设计中一些常见的通用的想法可以称为算法设计模式。常用的算法设计模式有: 穷举法。根据具体的问题枚举出各种可能,从中选出有用的信息或者问题的解。利用计算机的速度优势可以方便的解决很多简单问题。 贪心法。根据问 ...
分类:
编程语言 时间:
2018-09-23 18:28:51
阅读次数:
157
课本P61页介绍了穷举法,并结合案例3.7解决了百鸡百钱问题. 题目:公鸡5钱1只;母鸡3钱1只;雏鸡1钱3只.百钱买百鸡,求各几只. 书上给出了一种简化算法: 设chick = 100 - hen - rooster 代替判定条件 rooster + hen + chick = 100, 因此只需 ...
分类:
其他好文 时间:
2018-09-23 15:03:41
阅读次数:
141
lintcode91:最小调整代价给一个整数数组,调整每个数的大小,使得相邻的两个数的差不大于一个给定的整数target,调整每个数的代价为调整前后的差的绝对值,求调整代价之和最小是多少。例如:对于数组[1, 4, 2, 3]和target=1,最小的调整方案是调整为[2, 3, 2, 3],调整代 ...
分类:
编程语言 时间:
2018-09-19 22:06:38
阅读次数:
369
维特比算法(Viterbi) 维特比算法 维特比算法shiyizhong 动态规划算法用于最可能产生观测时间序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔科夫模型中。术语“维特比路径”和“维特比算法”也被用于寻找观察结果最有可能解释的相关dongtai 规划算法。例如在统计句 ...
分类:
编程语言 时间:
2018-07-30 16:38:57
阅读次数:
172