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

      本章主要学习的是串和数组,首先是串的模式匹配算法,著名的匹配算法有BF算法和KMP算法,其中BF算法粗暴简单,时间复杂度为O(m*n);KMP算法较为复杂,时间复杂度为O(m+n)。老师以病毒感染检测的案例,让我大概明白了模式匹配,所以作业的串与模式匹配算法相对简单,我用的是BF算法,(KMP算法我还没来得及想...)代码如下:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int Index_BF(string s, string t)//BF算法
    {
        int i,j;
        i=0;
        j=0;
        while(i<s.length() && j<t.length())
        {
            if(s[i]==t[j])
            {
                ++i;
                ++j;
            }
            else 
            {
                i=i-j+1;
                j=0;
            }
        }
        if(j==t.length())    return i-t.length()+1;
        else return 0;
    }
    
    int main()
    {
        string s,t;//String就是C++中的字符串,用双引号引起来的几个字符
        cin>>s>>t;
        cout<<Index_BF(s,t);
    }
    View Code

      然后是稀疏矩阵,这个矩阵在书上只有一句话...所以我在网上查阅了资料,借鉴了一下大佬博主的图解(生动又形象!),博客链接:https://blog.csdn.net/qq_35733751/article/details/80843589,开始时一头雾水,

    然后感谢大佬的指点,我才明白是我只定义了结构体,没有任何的输出(可见我C++基础的扎实程度...)

      最后是最难的(我认为)AI核心代码,老师上课讲了个大概,着重讲了数组越界问题,因此我在做的时候没有出现差错,在分隔符方面用ASCII码(我总是想不到这方面)

    can you代码如下:

      然后我学习了一下getchar(),getchar有一个int型的返回值。当程序调用getchar时.程序就等着用户按键。用户输入的字符被存放在键盘缓冲区, m=getchar(),需包含#include<string>中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的字符的ASCII码, m=getchar(),需包含#include<string>。

      总的来说,感觉这周学习效果不错,上个目标没有实现...(一直在啃QWQ),这周的新目标我想把上周的测验再总结,然后KMP算法和稀疏矩阵的十字链表我想查阅一下,并试试能不能独立写出来。

  • 相关阅读:
    css3-8 内外边距中的注意要点有哪些
    php实现 统计输入中各种字符的个数
    Java设计模式偷跑系列(十八)建模和责任链模式的实现
    Delphi 3D Glscene安装
    五通信算法:五种编码增益比较matlab模拟
    OpenGL于MFC使用汇总(三)——离屏渲染
    设计模式--模板方法 And State模式
    EXCEL 两人的建立Y轴
    LeetCode Median of Two Sorted Arrays
    wordpress常见的问题
  • 原文地址:https://www.cnblogs.com/yyxbokewang/p/10704204.html
Copyright © 2011-2022 走看看