算法

舞蹈链算法(Dancing Links)运用及执行过程

舞蹈链算法(Dancing Links)运用及执行过程舞蹈链(Dancinglinks)实际上是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。什么是精确覆盖(ExactCover)问题呢?维基百科上对精确覆盖的定义如下:在一个全集X中若干子集的集……

搜索算法简介

搜索算法简介说到搜索算法,它是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。搜索算……

KMP算法与前缀函数实例讲解

KMP算法与前缀函数实例讲解KMP算法与前缀函数(一)前缀函数一个字符串s的border是一个最长的字符串,且既是s的后缀,又是s的真前缀。给定长为n的字符串s,其前缀函数定义为一个长为n的数组π。其中π[i]为s的……

简单选择排序算法实例详解

简单选择排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(1)      &amp……

模拟算法实例讲解

模拟算法实例讲解模拟,属于入门级算法,顾名思义,就是让电脑按照题目所给出的方法来运行,最终输出所需要的结果的过程。本篇主要是从模拟算法的概念和实例进行讲解和分析。一、模拟的概念(1)模拟的介绍模拟就是用计算机来模拟题……

图论部分简介

图论部分简介图论(Graphtheory)是数学的一个分支,图是图论的主要研究对象。图(Graph)是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物……

归并排序算法实例详解

归并排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN) 空间复杂度O(N) 注:归并排序需要创建一个与原数组相同长……

线性DP图文实例讲解

线性DP图文实例讲解线性DP,所谓线性DP,就是指我们的递归方程有一个明显的线性关系的,有可能是一维线性的,也可能是二维线性的。例题一:大盗阿福题目:阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺……

最优化算法实例讲解

最优化算法实例讲解DFS(深度优先搜索)是一种常见的算法,我们平时遇到的大部分题目都可以用DFS解决,但是一般情况下,这都是骗分算法,很少会有爆搜为正解的题目。因为DFS的时间复杂度特别高。一、定义DFS(深度优先搜索……

图论中的有向无环图

图论中的有向无环图在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均……