算法
文章平均质量分 78
陈伟chenwei
这个作者很懒,什么都没留下…
展开
-
回溯法
一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索二叉树的后序遍历 【 分支限界法:广度优先搜索原创 2017-05-10 18:49:00 · 480 阅读 · 0 评论 -
异常数据剔除
1.在SPSS中做箱型图,图中可以显示异常值,然后剔除。但问题是大数据,采用箱形图已经不显示了2.拉依达准则法(3δ):简单,无需查表。测量次数较多或要求不高时用。是最常用的异常值判定与剔除准则。但当测量次数《=10次时,该准则失效。如果实验数据值的总体x是服从正态分布的,则式中,μ与σ分别表示正态总体的数学期望和标准差。此时,在实验数据值中出现大于μ+3σ或小于μ—3σ数据值的概率是原创 2017-08-30 18:07:03 · 24671 阅读 · 1 评论 -
Warshall传递闭包算法的学习与实现
1、问题引入 一个有n个顶点的有向图的传递闭包为:有向图中的初始路径可达情况可以参见其邻接矩阵A,邻接矩阵中A[i,j]表示i到j是否直接可达,若直接可达,则A[i,j]记为1,否则记为0;两个有向图中i到j有路径表示从i点开始经过其他点(或者不经过其他点)能够到达j点,如果i到j有路径,则将T[i,j]设置为1,否则设置为0;有向图的传递闭包表示从邻接矩阵A出发,求的所有节点间的路径可达情原创 2017-08-31 10:24:28 · 3216 阅读 · 1 评论 -
最小生成树-Prim算法和Kruskal算法
Prim算法1.概览普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现;并在1957年由美国计算机科学家罗伯特·普原创 2017-08-31 11:04:30 · 1683 阅读 · 0 评论 -
Fleury(弗罗莱)算法求欧拉路径
上面是摘自图论书上的定义。算法在运行过程中删除了所有已走的路径,也就是说途中残留了所有没有行走的边。根据割边的定义,如果在搜索过程中遇到割边意味着当前的搜索路径需要改进,即提前输出某一个联通子集的访问序列,这样就能够保证访问完其中联通子图中后再通过割边访问后一个联通子图,最后再沿原路输出一开始到达该点的路径。如果只有割边可以扩展的话,只需要考虑先输出割边的另一部分联通子集访问序列。样例图:原创 2017-08-31 11:25:35 · 534 阅读 · 0 评论 -
遗传算法的基本原理和matlab实现
遗传算法解决全局优化(即为最值点如图中C,D),而局部最优解决的是极值点问题(如图中A,B)1. 遗传算法流程; [plain] view plain copy%遗传算法的伪代码描述: %Procedure GA %Begin % T=0; % Initial原创 2017-12-23 21:42:26 · 8477 阅读 · 1 评论 -
数据结构与算法--栈、队列(队列)
首先,举两个生活中的常见例子。相信大家,在用电脑工作娱乐时,都会碰到这样的现象。当我们点击程序或进行其他操作时,电脑处于死机状态。正当我们准备Reset时,它突然像打了鸡血似的,突然把刚才我们的操作,按顺序执行了一遍。之所以会出现这个现象,是因为操作系统的多个程序,需要通过一个管道输出,而按先后顺序排队造成的。还有有个例子,在我们打客服热线时,有时会出现等待的现象。当其他客户挂断电话,客服原创 2017-12-19 11:43:42 · 518 阅读 · 0 评论 -
HITS算法--从原理到实现
1. 算法来源1999年,Jon Kleinberg 提出了HITS算法。作为几乎是与PageRank同一时期被提出的算法,HITS同样以更精确的搜索为目的,并到今天仍然是一个优秀的算法。HITS算法的全称是Hyperlink-Induced Topic Search。在HITS算法中,每个页面被赋予两个属性:hub属性和authority属性。同时,网页被分为两种:hub页面和autho原创 2017-08-28 23:45:46 · 2125 阅读 · 0 评论 -
群体智能优化算法之粒子群优化算法
阅读目录1. 常见的群体智能优化算法分类2. 粒子群优化算法思想3. 粒子群优化算法的基本框架4. 对粒子群优化算法中惯性权重的认识5. 粒子群优化算法举例——求解旅行商问题6. 参考文献 同进化算法(见博客《[Evolutionary Algorithm] 进化算法简介》,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简称N原创 2017-08-28 21:02:24 · 19416 阅读 · 1 评论 -
非常好的理解遗传算法的例子
为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数的最大值: (1) 个体编码 遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种 符号串。本题中,用无符号二进制整数来表示。 因 x1, x2 为 0 ~转载 2017-08-28 20:43:28 · 619 阅读 · 0 评论 -
最短路径—Dijkstra算法和Floyd算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假原创 2017-05-20 20:50:18 · 510 阅读 · 0 评论 -
动态规划之背包问题——Java实现
背包问题具体例子:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将哪些物品放入背包可使得背包中的总价值最大?首先想到的,一般是穷举法,一个一个地试,对于数目小的例子适用,如果容量增大,物品增多,这种方法就无用武之地了。 其次,可以先把价值最大的物体放入,这已经是贪婪算法的原创 2017-08-08 22:32:15 · 5950 阅读 · 1 评论 -
五大常用算法之二:动态规划算法
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能原创 2017-08-08 22:47:39 · 278 阅读 · 0 评论 -
PageRank算法与特征向量和特征值(eigenvector和eigenvalue)
1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。 是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。目前很多重要的链接分析算法都是在PageRank算法基础上原创 2017-08-17 20:46:49 · 4834 阅读 · 2 评论 -
概率分析和随机算法
一、随机分析考虑一个雇佣问题,面试n个人,在面试的过程中,只要更为优秀的人出现,就雇佣更为优秀的人,但是更换人选需要花费一笔费用c,现在估算这笔费用。这个问题相当于维护一个当前的“获胜者”。最坏的情形当然是替换n次,那么费用就会是cn.随机的情况:第i个人比前i-1个人更为优秀的概率为1/i,那么期望E[X] = 1/1 +1/2 +1/3 + …… = ln n +原创 2017-07-27 11:25:54 · 771 阅读 · 0 评论 -
集束搜索(Beam Search Algorithm )
看计算机科学中最重要的32个算法,其中有个是集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现前m个最符合条件的节点,m是固定数字——集束的宽度。泛泛的介绍,不是很能理解清楚,于是有百度又google,写篇东西备忘。先贴维基百科的地址:Beam Search翻译过来就是:Beam Se原创 2017-08-06 00:46:06 · 15375 阅读 · 2 评论 -
几种压缩算法原理介绍
1 RLERLE 又叫 Run Length Encoding ,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的时候却非常有用(例如, JPEG 就使用它)。1.1 原理图 2.1 显示了一个如何使用 RLE 算法来对一个数据流编码的例子,其中出现六次的符号‘ 93 ’已经用 3 个字节来代替:一个标原创 2017-08-06 01:53:56 · 5116 阅读 · 0 评论 -
PageRank计算方法及java实现
倒排索引解决的是如何有效的搜索包含某一关键字的网页,PageRank就是如何计算这些网页的价值。PageRank的计算是根据网页的链接计算的。若有1,2,3,4号网页之间的链接关系如下:这里假设每个网页的权重相等,都为1,这个S矩阵是这样得出来的,第1列是1号网页,它指向了2,3,4号网页,它的权重为1,所以2,3,4每个获得的为1/3,这样依次类推。求解G的特征向量可以通过q原创 2017-08-24 22:20:51 · 2224 阅读 · 2 评论 -
动态规划
终于来到了算法设计思想中最有趣的这部分,在去年的google笔试中,7道算法设计题有2道动态规划(Dynamic Programming)。看了这么久的算法,这部分也是唯一感觉到了比较难的地方,从这篇文章开始,将花连续的篇幅来讨论一些对动态规划的认识和其中的问题。这包括一些例子:计算二项式系数,Warshall算法求传递闭包,Floyd算法求完全最短路径,构造最有二叉查找树原创 2017-12-28 23:18:31 · 263 阅读 · 0 评论