第四章小结

这一章跟之前的学的相比,对我来说显更加困难,先是KMP我还没来得及全部吃透,又来了个稀疏矩阵。

下面是我写模式匹配时的代码,我个人觉得自己最弱的部分就是主函数前的准备工作,写的不够仔细,总是有小错误,比如,没有返回值啊,符号用错啊,下标和位置区分不开。

#include<iostream>
#include<string.h>
using namespace std ;

string s;
string t;
int ssize;
int tsize;
int next1[2000000];
        void nextsz(string t,int tsize)
        {
            next1[0] = -1;
            int k = -1;
            int j = 0 ;
            while(j < tsize-1)
            {
            if(k==-1||t[j]==t[k])
                {
                ++k;
                ++j;

                    next1[j] = k;

                }
               else
                k = next1[k];
            }

        }

        int  kmp(string s,string t,int sszie,int tsize)
        {
            int j = 0;
            int i = 0;
            while(i<ssize&&j<tsize)
        {

                if(j==-1||s[i]==t[j])
            {
                i++;//匹配整体向前移;
                j++;

            }
            else
            {
                 j = next1[j];
            }

        }

            if(j==tsize)
            {
                return  i-j+1;//返回模式串在主串的第一个下标;
            }
            else return 0;
        }

主函数,这个部分是我能够流畅写下的,一般不会有什么大问题。

int main()
{
    cin>>s;
    cin>>t;

    ssize =  s.size();
    tsize = t.size();
        nextsz(t,tsize);
        cout<<kmp(s,t,ssize,tsize)<<endl;

}

然后就是稀疏矩阵的实践题。一开始也有点迷茫,不知道怎么下手,后面上网重新理了一下稀疏矩阵的思路之后,终于可以下手了。

图片来自百度。

另外我想额外讲一下这周上机的时候老师跟我们一起完成 的那道AI的题目,就是从跟着老师一起打代码,好像对这个过程有不一样的体会,自己一些不确定的思路和可能会犯的错误,老师一讲就基本上能够解决,这是我觉得很神奇的一点,就好像有一种BUFF一样,跟着老师的思路一走,我也发现了我平时写代码一些不足的地方,老师是一部分一部分的解决的,但我总想着一下子就解决,这样反而容易思路受限。

总结:上周定下的打代码任务完成度不够,只是完成了作业最后的代码题,没有再多练习一下别的,然后希望能够在期末考之前,把每种算法都总结一下,然后附上相关的练习题,这是我的目标。

原文地址:https://www.cnblogs.com/Lnnnn/p/10706002.html

时间: 2024-10-22 04:37:47

第四章小结的相关文章

数据结构第四章小结

任选本章一道题目,谈谈你解决该题的心得体会.同时谈谈你对上次制定目标的完成情况, 以及接下来的目标. 一.第四章主要学习了串,我觉得最重要的两个内容,一个是AI核心代码,一个是稀疏矩阵的十字链表压缩存储:AI核心代码呢,老师在课堂上讲了一部分,自己也接受了挺多的,当天我就趁热打铁在通识课上回味了一下,老师有留给我们自己完成can you 的那一部分内容,之前有一部分是you变成I,我参照着之前的自己写了一遍,但是一开始出现了错误,又重新写了好几遍,但是总是会出现warning,可能是溢出的问题,

数据结构第四章学习小结

第四章主要是串和数组的学习,之前对串和数组的应用仅限于对其单独处理,本章学习着重于对具体题目的实际操作,实践了串的模式匹配算法,对其有了更深入的了解,数组的应用拓展到了稀疏矩阵的存储的实现. 一.串 串的模式匹配 BF算法 首先未匹配到串尾时,将两个字符串一一匹配,可用C++自带的length()函数实现 while(i<=S.length()&&j<=T.length()) 接下来就是匹配的过程 if(S[i]==T[j]){ i++;j++; }//若匹配则继续比较下一位

【数据结构】第四章学习小结

串.数组 在第四章中,我学到的主要是关于串与数组的内容,至于广义表,既然老师让我们课后有时间去看,那我这里就先不讲广义表了(其实只是粗略的看了一下,还没看懂) 在上学期的c++中我就已经学过有关串的一些知识,对于串还是可以很好的理解的,在数据结构中,串将被看作是一种特殊的线性表,跟线性表一样,串也有两种基本存储结构,个人觉得顺序存储结构对于串的运用比较方便,简单易懂,所以在作业题中会首先考虑使用顺序串. 串有许多很重要的应用,例如搜索引擎,数据压缩等,这些应用都离不开串的模式匹配算法(子串的定位

Android深度探索HAL与驱动开发 第四章

Android深度探索HAL与驱动开发 第四章 源代码的下载和编译 读书笔记 一.下载编译和测试Android源代码 1.配置Android源代码下载环境 创建一个用于存放下载脚本文件的目录(可将该文件放到任何一个目录在这里使用-/bin) # mkdir ~/bin # PATH=~/bin:$PATH 2.下载repo脚本文件(用于下载Android源代码) # curl htttps://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/

R in action读书笔记(19)第十四章 主成分和因子分析

第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因子分析(EFA)是一系列用来发现一组变量的潜在结构的方法.它通过寻找一组更小的.潜在的或隐藏的结构来解释已观测到的.显式的变量间的关系. PCA与EFA模型间的区别 主成分(PC1和PC2)是观测变量(X1到X5)的线性组合.形成线性组合的权重都是通过最大化各主成分所解释的方差来获得,同时还要保证个

第四章 Appium真机运行测试用例讲解

手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在第二章我们讲到了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例.只有在真机上运行,才能真正发现出问题.期间也遇到了不少问题,不过最终还是搞定了,现在先将测试用例真机运行的方法说一下,然后再罗列我遇到的问题. 4.1 真机运行测试用例的方法 一,    打开手机的USB调试模式 不同的手机有不同的方法打开usb调试模式,可是去网上查一下你手机的调试模式打开办法(http://wenku.baidu

APUE学习笔记:第四章 文件和目录

4.1 引言 本章将描述文件的特征和文件的性质 4.2 stat.fstat和lstat函数 #include<sys/stat.h> int stat(const char *restrict pathname,struct stat *restrict buf); int fstat(int filedes,struct stat *buf) int lstat(const char *restrict pathname,struct stat *restrict buf); 三个函数的返

《Linux内核设计与实现》第八周学习总结——第四章 进程调度

<Linux内核设计与实现>第八周学习总结——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是只要有可以执行的进程,那么就总会有进程正在执行,但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不

MiS603开发板 第四章 流水灯实验

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第四章 流水灯实验 关于流水灯,网上有太多的例子了.其实只要掌握上面分频计数的技巧,设计流水灯是件极其简单的事情.从