
算法
文章平均质量分 70
卑微小小羊
这个作者很懒,什么都没留下…
展开
-
数组全排列
概念 什么是全排列,我们在高中时应该都学过排列组合问题,排列要考虑顺序,组合不需要考虑顺序。比如a b的排列有a b和b a两种,而组合的话有只有a b一种。全排列就是把这个数组和字符串的所有排列方式全部打印出来。 我们接触这个问题的第一想法应该就是暴力法,遍历整个数组或者字符串,先找第一个元素,然后再后面第二次遍历的时候如果前面输出过这个元素的话,就跳过,再输出下一个,这样做的话要遍历n次数组,时间复杂度是O(n^n)。这对计算机来说都是非常非常慢的,所以我们就在想有没有一个简单的方法可以求出这个原创 2021-08-13 01:42:47 · 605 阅读 · 0 评论 -
KMP算法
简介 KMP 算法是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 Knuth-Morria-Pratt 算法,简称 KMP 算法。该算法相对于 Brute-Force(暴力)算法有比较大的改进。KMP 算法是一个著名的字符串匹配算法,效率很高,但是确实有点复杂。KMP算法我们在匹配两个字符串时,最简单的方法就是暴力匹配,从头开始对比两个字符串,一个一个字符对比,如果遇到不匹配的情况下,把短的字符串向后移一位,然后继续从头比较。这种方法虽然很简单,但是原创 2021-08-11 18:14:52 · 185 阅读 · 0 评论