算法
VinChyy
路漫漫其修远兮,吾将上下而求索
展开
-
常用排序算法归纳
概述 从内存来区分排序算法,可分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 从比较方式来区分排序算法,一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等; 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,转载 2017-10-19 15:48:39 · 223 阅读 · 0 评论 -
贪心算法
基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。 所以对所采用的贪心策略一定要转载 2017-10-24 14:48:30 · 203 阅读 · 0 评论 -
回溯法
基本概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的,规模较大的转载 2017-10-24 15:06:30 · 132 阅读 · 0 评论 -
分支限界法
基本概念 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分支”就是采用广度优先的策略,依次搜索E-结点的所有转载 2017-10-24 15:09:30 · 437 阅读 · 0 评论 -
伪随机生成之线性同余算法
【参考博文】伪随机生成算法(线性同余算法) 定义:伪随机数:通过某种数学公式或者算法产生的数值序列。虽然在数学意义上伪随机数是不随机的,但是如果能够通过统计检验,可以当成真随机数使用。算法:伪随机数产生最基础的思想是均匀分布(当然这不是唯一的思路)。一般来说,如今主流的编程语言中使用的随机数函数基本采用这种均匀分布思想,而其中最常用的算法就是”线性同余法”。伪随机数生成器如下:xn=(axn−1+转载 2017-11-18 23:15:56 · 1434 阅读 · 0 评论