zoukankan      html  css  js  c++  java
  • 第4章学习小结

    1. 你对本章内容的小结 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)
    2. 完成作业或实践时的心得体会:在做PTA作业的题目时,由于感觉BF算法更容易,我一开始还是选择了BF算法,但总是运行超时,我就知道这个时候应该是用KMP算法才可以了,但是对这个算法理解起来还是有一定的难度。
    3. 值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)博客上有许多优秀的文章,我们现在所拥有的疑惑,博客园上的人大部分也有,因此在博客园上能找到自己问题的答案
    4. 上一阶段的目标完成情况,接下来的目标:多打代码,自己代码还是打得太少了,这不像一个程序猿应该有的样子。然后就是知识点要理解好,理解不好,心浮气躁地学习,真的什么都不会,题也打不会。
  • 相关阅读:
    【NOIP 2003】 加分二叉树
    【POJ 1655】 Balancing Act
    【HDU 3613】Best Reward
    【POJ 3461】 Oulipo
    【POJ 2752】 Seek the Name, Seek the Fame
    【POJ 1961】 Period
    【POJ 2406】 Power Strings
    BZOJ3028 食物(生成函数)
    BZOJ5372 PKUSC2018神仙的游戏(NTT)
    BZOJ4836 二元运算(分治FFT)
  • 原文地址:https://www.cnblogs.com/ldx539/p/12830007.html
Copyright © 2011-2022 走看看