首先是串的模式匹配:这个题主要是要用KMP算法来解决,然后其实不是特别难理解,因为前几周已经开始习惯用实例的方法来分析代码,所以这次也用了一下这个方法来理解题目,但是这样感觉其实不是特别的好,因为会漏掉一些情况没有考虑到,而且有一些代码的实例也不是那么好想出来的,所以不能完全依赖这个找实例的方法,以 ...
分类:
其他好文 时间:
2019-04-15 00:29:58
阅读次数:
148
1.初步体会到了更优算法对数据量大的测试的重要作用。 2.一开始我将temp[1000002]定义在主函数内,结果不能运行,定义成全局变量之后问题迎刃而解。原因如何我已发邮箱问老师,知晓结果后再做总结。 3.在理解求next[j]算法时,我体会到了用画图法分析有助于直观地认识算法本质,这对于理解复杂 ...
分类:
编程语言 时间:
2019-04-15 00:25:35
阅读次数:
106
1.串的学习: 1)对串的操作有在串中查找某个子串,求取一个子串,在串的某个位置插入一个子串,删除一个子串等; 2)串的存储结构分为串的顺序存储、串的链式存储;若多用插入及删除操作则使用链式存储更方便; 3)串的模式匹配算法分为BF算法和KMP算法,BF算法的匹配过程易于理解,但是该算法在最好情况下 ...
分类:
其他好文 时间:
2019-04-15 00:12:57
阅读次数:
191
给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。 本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下: 数据0 ...
分类:
编程语言 时间:
2019-04-14 20:36:05
阅读次数:
335
第四章小结 这一章跟之前的学的相比,对我来说显更加困难,先是KMP我还没来得及全部吃透,又来了个稀疏矩阵。 下面是我写模式匹配时的代码,我个人觉得自己最弱的部分就是主函数前的准备工作,写的不够仔细,总是有小错误,比如,没有返回值啊,符号用错啊,下标和位置区分不开。 #include<iostream ...
分类:
其他好文 时间:
2019-04-14 18:06:04
阅读次数:
107
这两周上课学的较多且比较有印象的是串的模式匹配算法那道题 同时可以用BF或者KMP算法进行解决。 一开始学BF算法时就在想如何改进可以使匹配更加简便 后来KMP的学习让我对串的学习有了更深入的了解 同时BF和KMP算法之间的联系也是一个算法改进的很好学习范例 7-1 串的模式匹配 给定一个主串S(长 ...
分类:
其他好文 时间:
2019-04-14 17:57:05
阅读次数:
240
一、你对本章内容的小结 第4章主要学习了串、数组 串主要学习了有关 模式匹配算法 的两种算法:T(n)=O(m*n)的BF算法 和 T(n)=O(m+n)的KMP算法, KMP算法难在求出 模式的next数组。(即求next数组时的思想) 数组主要学习了 怎么求具体下标的元素的地址 以及 如何用一维 ...
分类:
其他好文 时间:
2019-04-14 16:06:56
阅读次数:
176
第四章的串,说实话,学的不是很好,相比于前两章来说。在第一道模式匹配那里卡很久,后来发现它没有那么复杂,最后一个点就是运行超时,用的BF算法,后来我又换了KMP算法,最后一个测试点过了,第二个没过,然后,就不知道该如何解决了。就是没有完全做对。 而稀疏矩阵那道题,我一开始看到的时候,以为三元组又是一 ...
分类:
其他好文 时间:
2019-04-14 15:55:56
阅读次数:
73
串的模式匹配 一、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
Given a non-empty string s and a dictionary wordDict containing a list of non-emptywords, determine if s can be segmented into a space-separated seque ...
分类:
其他好文 时间:
2019-04-13 21:58:58
阅读次数:
174