什么是Lyndon分解? 我们定义一个串是Lyndon串,当且仅当这个串的最小后缀就是这个串本身。该命题等价于这个串是它的所有循环表示中字典序最小的。引理1:如果u和v都是Lyndon串并且u<v,则uv也是Lyndon串。证明:1、若len(u)≥len(v)这时, 字符串相关 2022年02月28日 69 点赞 0 评论 85293 浏览
快速排序算法C/C++代码图文讲解 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 排序算法 2022年04月24日 84 点赞 0 评论 217339 浏览
上下界网络流总结 上下界网络流可以看做普通网络流的升级版,现在对于流量网络,我们不再只关注其流量的上界,而是同时关注流量的上下界。一、无源汇有上下界可行流这是上下界网络流中最简单的一种,给定一个没有源点和汇点、每条边的流量有上下界的流量网络,问是否存在一种可行流使得流量平衡。 图论 2022年02月01日 226 点赞 0 评论 86777 浏览
斯坦纳树的应用 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。1.什么是斯坦纳树?斯坦纳树问题是组合优化学科中的一个问题。 图论 2022年02月01日 209 点赞 0 评论 88249 浏览
什么是哈希表? 很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系统的给大家介绍一下什么是“哈希表”。哈希表又称散列表,一种以「key-value」形式存储数据的数据结构。所谓以「key-value」形式存储数据, 数据结构 2022年02月20日 211 点赞 0 评论 95083 浏览
什么是动态规划? 谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手。对于动态规划, 动态规划 2022年04月03日 222 点赞 0 评论 88223 浏览
舞蹈链算法(Dancing Links)运用及执行过程 舞蹈链(Dancinglinks)实际上是一种数据结构,可以用来实现X算法,以解决精确覆盖问题。什么是精确覆盖(ExactCover)问题呢?维基百科上对精确覆盖的定义如下:在一个全集X中若干子集的集合为S。S*是S的一个子集,当且仅当X中的每一个元素在S*中恰好出现一次时,S*称之为一个精确覆盖。 搜索算法 2022年03月01日 119 点赞 0 评论 83620 浏览
Python贪心算法 贪心算法也被称为贪婪算法,它是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性, Python算法 2022年01月28日 162 点赞 0 评论 107811 浏览
C/C++如何加速输入输出效率(上) 1.简介遇到大数据时,往往读写文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,有很多案例中提供几个数据,却在后台测评却提供了近千,近万的数据量是常事,而很多人会发现,明明算法正确的问题, C++STL库教程(附带题库) 2022年02月19日 125 点赞 0 评论 91576 浏览
矩阵扩展-算卷积算法介绍及C语言代码实现 1.矩阵扩展算法——简单的算卷积接着上文,矩阵进行更深入的学习就需要学习更多的处理了,矩阵被运用在很多的领域,这里简单以计算机图形处理的重要概念——卷积,为例进行说明:卷积。用一个模板去和另一个图片对比,进行卷积运算。目的是使目标与目标之间的差距变得更大。 串、数组、矩阵和广义表 2022年03月03日 150 点赞 0 评论 97849 浏览