
算法
文章平均质量分 93
从雨幼刀
擅长C C++ QT开发 拥有ACM铜牌 擅长算法
欢迎大家与我私聊 也可以接受私人订单,能进行简单的项目开发
展开
-
最长上升子序列(LIS)
最长上升子序列是指,从原序列中按顺序取出一些数字排在一起,这些数字是逐渐增大的。原创 2024-01-17 11:15:15 · 1277 阅读 · 0 评论 -
Trie树(字典树)
Trie树,也叫做字典树,是一种树形结构。往往用于统计和排序大量的字符串前缀来减少查询时间,最大限度的减少字符串比较。Trie树的核心便是用空间来换取时间,而Trie在算法中也往往采用数组来进行模拟,利用字符串的公共前缀来降低查询时间来达到提高效率的目的。下面这个图便是字典树。建立的字典树的流程便是如何查询查询的流程其实跟插入差不多。推荐例题题目链接给定 nnn 个模式串 s1,s2,…,sns_1, s_2, \dots, s_ns1,s2,…,sn 和 qqq 次询问,每次询问给定原创 2024-01-16 15:19:18 · 1006 阅读 · 1 评论 -
KMP算法
在某些时候,我们常常会出现字符串匹配的问题。例如:对于字符串s1,s2,判断s2在s1中出现的次数,正常来说,如果暴力枚举的话,我们需要使用O(n*m)的时间复杂度。有三位大佬就想出了KMP算法,保证了O(n+m)线性复杂度。原创 2024-01-16 11:51:23 · 1104 阅读 · 1 评论