算法
文章平均质量分 64
not_say
这个作者很懒,什么都没留下…
展开
-
java sm4国密算法 CBC模式 加解密工具类
java sm4国密算法 CBC模式 加解密工具类说明maven依赖生成密钥加密解密测试完整代码最后说明工具类最开始是参考这篇博客java sm4国密算法加密、解密,但是该篇博客使用的是EBC模式,所以参考其他文章改成了CBC模式。由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出。maven依赖 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on -->原创 2021-02-25 14:34:30 · 10920 阅读 · 15 评论 -
KMP算法(四):Sunday算法 Java实现
一、Sunday算法思想备注:因为Sunday理解起来比较简单,就直接用参考的文章内容了。链接:https://www.cnblogs.com/sunsky303/p/11693792.htmlSunday算法是从前往后匹配,在匹配失败时关注的是主串中参加匹配的最末位字符的下一位字符。如果该字符没有在模式串中出现则直接跳过,即移动位数 = 模式串长度 + 1;否则,其移动位数 = ...原创 2020-04-08 19:40:10 · 543 阅读 · 0 评论 -
KMP算法(三):算法改进
KMP算法(一)见链接:https://blog.csdn.net/not_say/article/details/105291946一、KMP算法存在的缺陷及改良:这里直接将《大话数据结构》里面的说明截图来用了,因为有画图,说明的比较清楚:public static int[] getNextVal(String son) { int i = 0, j =...原创 2020-04-08 18:09:05 · 828 阅读 · 0 评论 -
KMP算法(二):另一种求解思路(确定有限状态自动机、动态规划)
一、简介在上一篇KMP算法中已经介绍了KMP使用next数组进行求解的方法(https://blog.csdn.net/not_say/article/details/105291946),这一篇将讲述另外一种求解思路--利用确定有限状态自动机和动态规划的思路进行求解。主要是参考了知乎一个专栏的一篇文章,内容非常详细,配有动态图,建议大家去看这篇文章,我自己写的这篇基本来源于它,然后是为了...原创 2020-04-07 13:39:35 · 1002 阅读 · 0 评论 -
KMP算法(一):正常逻辑求解(next数组)
一、KMP是什么KMP算法是为了解决字符串匹配效率而提出的,提出者为D.E.Knuth、J,H,Morris 和 V.R.Pratt三位大牛,故称为“KMP”算法。二、暴力求解算法1、题目:假设一个父字符串是father,子字符串是son,在father中查找son,如果存在则返回son在father中的起始索引,不存在则返回-1。2、最简单的解法就是使用循环,挨个字符比较,如果...原创 2020-04-03 14:11:20 · 594 阅读 · 0 评论