-
第4章学习小结
- 你对本章内容的小结 1)三种数据结构:串,数组,广义表2)串是内容受限的线性表,它限定表中的元素为字符。串有两种基本存储结构:顺序存储和链式存储。串的常用算法是模式匹配算法;3)多维数组可以看成是线性表的推广,其特点是结构中的元素本身可以是具有某种结构的数据,但属于同一种数据类型。数组一般采用顺序存储结构,因此在存储多维数组时,要先将其转换为一维结构,可以按“行”,也可以按“列”转换4)广义表是线性表的另一种形式,通常采用链式存储结构;5)模式匹配:举个例子,给定两个字符串变量S和P,其中S成为目标串,其中包含n个字符,P称为模式串,包含m个字符,其中m<=n。从S的给定位置(通常是S的第一个位置)开始搜索模式P。如果找到,则返回模式P在目标串中的位置(即:P的第一个字符在S中的下标)。如果在目标串S中没有找到模式串P,则返回-1;6)模式匹配算法有两种,一种是简单暴力类型的,BF算法,一直是快速模式的,KMP算法;7)BF算法是依次进行比较,但是在这过程中会出现重复的字符比较,导致效率低下,其时间复杂度为O(mxn);8)KMP算法重点是在于知道当一个字符串与主串不匹配时,知道指针应该要移动到哪,减少重复比较的过程,其时间复杂度为O(m+n)
- 完成作业或实践时的心得体会:在做PTA作业的题目时,由于感觉BF算法更容易,我一开始还是选择了BF算法,但总是运行超时,我就知道这个时候应该是用KMP算法才可以了,但是对这个算法理解起来还是有一定的难度。
- 值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)博客上有许多优秀的文章,我们现在所拥有的疑惑,博客园上的人大部分也有,因此在博客园上能找到自己问题的答案
- 上一阶段的目标完成情况,接下来的目标:多打代码,自己代码还是打得太少了,这不像一个程序猿应该有的样子。然后就是知识点要理解好,理解不好,心浮气躁地学习,真的什么都不会,题也打不会。
-
相关阅读:
进程和阻塞
docker简介
python===lambda匿名函数===day15
python----生成器, 生成器函数, 推倒式---13
python----函数参数---10天
python---函数 第九天
python===文件===第八天
python===基本数据类型 基本增删改查 ===深浅拷贝==第七天
20180802 (个别内置方法)
20180730 (面向对象的反射,内置方法)
-
原文地址:https://www.cnblogs.com/ldx539/p/12830007.html
Copyright © 2020-2023
润新知