算法

什么是字节顺序?

什么是字节顺序?一、什么是字节顺序?字节顺序,是指数据在内存中的存放顺序。举例说明什么是字节顺序使用16进制表示两个数:0x12345678和0x11223344。在内存中有两种方法存储这两个数字,分别为:从上图看,……

悬线法实例讲解

悬线法实例讲解先说说什么是悬线?就是一条竖线,这条竖线有初始位置和高度两个性质,可以在其上端点不超过当前位置的矩形高度的情况下左右移动。一、概述悬线法的适用范围是单调栈的子集。具体来说,悬线法可以应用于满足以下条件……

简述随机化算法

简述随机化算法本篇将主要讲解随机化算法,在正式进入主题之前,我们先谈谈什么是随机化?随机化是一种可能影响试验结果的无关或可能在试验过程中变化,从而影响到最终结果。随机化算法,是在算法中使用了随机函数,且随机函数的返……

浅谈分数规划

浅谈分数规划说到分数规划,其实这只是一个用来转换问题模型的一个套路,并没有固定的模板什么的,下面我们看看分数规划的形式和特性。分数规划(fractionalprogramming)的一般形式:对于解空间S、连续的……

在线算法和离线算法的区别

在线算法和离线算法的区别本章浅谈一下在线算法,当然,说到在线算法会想到离线算法,这两个概念都会提到,帮助大家理解。(一)在线算法在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已……

常用的双指针技巧

常用的双指针技巧什么是双指针?其实很好理解,双指针是一种思想,一种技巧或一种方法,并不是什么特别具体的算法,在二分查找等算法中经常用到这个技巧。具体就是用两个变量动态存储两个或多个结点,来方便我们进行一些操作。通常用……

回文树/回文自动机 (PAM) 实现及模板

回文树/回文自动机 (PAM) 实现及模板咱们可以先从字面意思来理解什么是回文树,回文树(回文自动机)实际上是奇偶两棵树,每一个节点代表一个本质不同的回文子串(一棵树上的串长度全部是奇数,另一棵全部是偶数),原串中每一个本质不同的回文子串都在……

什么是后缀数组?

什么是后缀数组?对于后缀数组的概念,很多人都存在疑惑,为什么要学习后缀数组?那么我们就来说说原因,后缀数组是一个比较强大的处理字符串的算法,是有关字符串的基础算法,所以必须掌握。 学会后缀自动机(S……

什么是Lyndon分解?

什么是Lyndon分解?我们定义一个串是Lyndon串,当且仅当这个串的最小后缀就是这个串本身。该命题等价于这个串是它的所有循环表示中字典序最小的。引理1:如果u和v都是Lyndon串并且u<v,则uv也是Ly……

最小表示法算法解析

最小表示法算法解析提到最小表示法,要了解它的定义,最小表示法是用于解决字符串最小表示问题的方法。一算法简介:当一个字符串形成一个环的时候,要比较两个字符串是否相同就会变得很困难,因为你不知道对于第二个字符串来说,以哪个……