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. 上一阶段的目标完成情况,接下来的目标:多打代码,自己代码还是打得太少了,这不像一个程序猿应该有的样子。然后就是知识点要理解好,理解不好,心浮气躁地学习,真的什么都不会,题也打不会。
  • 相关阅读:
    HTTP Basic 验证客户端 C#实现笔记
    泗洪高薪行业
    C#中Math的使用总结
    Android音频底层调试-基于tinyalsa
    我看项目管理第一回:认识利益相关方,提高思想意识
    【剑指Offer学习】【面试题19 :二叉树的镜像】
    算法
    zTree实现地市县三级级联DAO接口实现
    Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
    正尝试在 OS 载入程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起。
  • 原文地址:https://www.cnblogs.com/ldx539/p/12830007.html
Copyright © 2011-2022 走看看