本章学习了两种算法,BF算法和KMP算法 BF算法就是暴力匹配,非常好理解 KMP算法的优点是,与BF算法相比,消除了回溯,大大提高了效率 缺点是,好难理解。。。 本章除了新学习了两种算法,我还看到了上学期所学的线性代数知识矩阵在编程上的应用(以前我总是不理解我一个计算机专业的学线性代数有什么用)  ...
                            
                            
                                分类:
其他好文   时间:
2019-04-15 09:11:32   
                                阅读次数:
154
                             
                    
                        
                            
                            
                                串的模式匹配 一、BF算法 —— 暴力匹配 1、当前匹配,++i;++j; 2、当前不匹配,i=i-j+2;j=1; 二、KMP算法 首先是主串s 和模式串t 的比较,当前比较的是主串s的第i个和模式串的第j个,若s[i]==t[j]; 则++i; ++j; 这里i,j为位置,而非下标 当出现不匹配 ...
                            
                            
                                分类:
其他好文   时间:
2019-04-14 09:29:43   
                                阅读次数:
102
                             
                    
                        
                            
                            
                                KMP算法: 引言: KMP算法是一种改进的字符串匹配算法 字符串匹配:即寻找str_target在str_source中出现的位置 没有改进的字符串匹配:用暴力法进行搜索,枚举出所有的情况然后一一比较。缺点:耗费了很多时间,时间复杂度非常高。所以需要改进。 这里举一个暴力匹配的例子: 在"zabc ...
                            
                            
                                分类:
编程语言   时间:
2019-02-16 00:09:45   
                                阅读次数:
267
                             
                    
                        
                            
                            
                                    主要介绍strings包中的 strings.go/search.go/replace.go string.go中主要介绍Index函数,该函数寻找s中第一次出现substr的位置,返回position或-1: 基本代码如下: 可以看到在substr较短的情况下使用了暴力匹配,否则使用rabin-k ...
                            
                            
                                分类:
其他好文   时间:
2019-02-12 21:45:00   
                                阅读次数:
155
                             
                    
                        
                            
                            
                                    假设我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配 的思路 ,并假设现在文本串S匹配到i位置,模式串P匹配到j位置,则有: ?如果当前字符匹配成功(即S[i]==P[j]) 如果S[5]和P[1]匹配成功,继续执行第一条 匹配失败;j=n ...
                            
                            
                                分类:
其他好文   时间:
2019-01-27 10:47:48   
                                阅读次数:
181
                             
                    
                        
                            
                            
                                    众所周知$FFT$是一个功能多但是不开$O2$常数吓人的算法。 这里我来口胡一下$FFT$如何搞字符串匹配。 其实我第一次是字符暴力匹配$52$次,结果$T$了一下午。 后来上网找发现有个更好的算法。 如果有两个数判相等,我们可以相减,判断是否为$0$; 但是字符串匹配相当于多对数判相等,相减加和肯 ...
                            
                            
                                分类:
其他好文   时间:
2019-01-17 21:10:36   
                                阅读次数:
245
                             
                    
                        
                            
                            
                                    P2463 [SDOI2008]Sandy的卡片 直接二分长度暴力匹配....... 跑的还挺快 (正解是后缀数组的样子) 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 voi ...
                            
                            
                                分类:
其他好文   时间:
2019-01-06 14:32:59   
                                阅读次数:
200
                             
                    
                        
                            
                            
                                    KMP算法详细理解 从昨天开始看KMP算法到今天凌晨。。。。。 把一些知识点进行总结,其实KMP还是挺简单的(HHHHHH) 博客新地址: "https://miraitowa2.top/" 1:BF(暴力匹配)算法 假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的 ...
                            
                            
                                分类:
编程语言   时间:
2018-12-22 18:39:36   
                                阅读次数:
175
                             
                    
                        
                            
                            
                                    单模式匹配算法,也就是一个字符串和另一个字符串进行匹配。 1. BF 算法 BF 算法中的 BF 是 Brute Force 的缩写,中文叫作暴力匹配算法,也加朴素匹配算法。从名字可以看出,这种方法很暴力,效率也不高,但是简单、好懂。 在要匹配的两个字符串中,一个称之为 主串 ,一个称之为 模式串  ...
                            
                            
                                分类:
其他好文   时间:
2018-12-05 20:28:27   
                                阅读次数:
228
                             
                    
                        
                            
                            
                                    现在有两个字符串:$s1$和$s2$,现在要你输出$s2$在$s1$当中每一次出现的位置,你会怎么做? ...
                            
                            
                                分类:
编程语言   时间:
2018-10-29 20:11:13   
                                阅读次数:
189