总结:串和数组的学习

总结一下我在学习串和数组的过程中遇到的几个问题:

  1. 学习了strstr函数并明白了它的原理,(这个真的很好用
  2. 学习了strcat函数,即字符串之间的连接函数,(这个也非常实用
  3. 学习了KMP算法,这个是最花时间,最需要集中注意力去学的,稍不注意就看不明白了,但这个算法是比strstr要快很多的,可以说KMP可以做的未必strstr可以做,而strstr能做到KMP都能做。
  4. 做到字符串哈希的时候还去学习了map函数,忽然感觉C++果然好强大啊,什么qsort,cmp都特别好用
  5. 复习了结构体数组的一些问题

  总的来说最需要注意的点是学好KMP,这东西学好了真的很受用,也很有成就感,总而言之,学习数据结构要学习理论知识,从而转化为计算机语言,而不能只学习代码。

  所以,努力吧!

原文地址:https://www.cnblogs.com/jkxsz2333/p/9498539.html

时间: 2024-10-17 22:00:19

总结:串和数组的学习的相关文章

第四章_串、数组和广义表_学习小结

串.数组和广义表 广义表被鸽了,暂时就不提它,总结一下串和数组的心得. 串 串本身不难,好比字符数组,都是我们所熟悉的.难得是与其相关的算法,例如KMP算法. 对于KMP算法,难点在于next数组的取得与使用. 点击跳转:基于KMP算法的字符匹配问题 以上是个人的一些见解,当然是参考别人的博客之后的.... 数组 至于数组,这里主要研究二维数组的应用,比如用三元组表压缩存储. 由于书里连ADT都没有,只能自己摸索着定义了....(还不是为了PTA的题目QAQ)所以就稍微详细说一下 例:用三元组表

【java开发】数组基本学习

一维数组 定义:具有相同数据类型的一组数据. 声明:int []a=new int[3];    释义:该数组的数据类型为int型,该数组长度为3,有3个元素 可采用如下方式为元素赋值:a[0]=1;a[1]=2;a[2]=3; 总结:元素的长度为3,但是数组的下标从0开始,但是最大值由此可看出为2,即长度比下标大1,java中用length表示长度,即a.length=3; 还有一种常见的数组声明方式:int []a={1,2,3};效用和上面等同 为了验证上述数组基本属性,可写一个简单测试:

JavaScript中的数组的学习

JavaScript中的数组的学习 数组的长度可变,数组的长度等于所有元素索引+1 同一个数组中的元素类型可以互不相同 访问数组元素时不会产生数组越界,访问未被赋值的数组元素时该元素的值为undefined. <!DOCTYPE html> <html> <head> <script type="text/javascript"> var a = [3,5,23]; var b=[]; var c = new Array(); b[0]

Javascript设置广告和时间表和数组的学习

1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title></title> 5 </head> 6 <body> 7 <hr> 8 <h1>2:使用window.open() 是一个广告?</h1> 9 <input type="submit" onclick="" value

微信小程序学习Course 4-2 JS数组对象学习

微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = [];//创建一个空数组 var names = ["sadad","asdsad"];//创建一个包含两个字符串的数组 var names = new Array(3);//创建一个包含三个元素的数组 3-2.2 数组的增添 数组有多种增添方式,一种是栈方式,另一种

数据结构与算法(C#)入门 --- 串和数组

前言 本章内容包含串与数组,都是平时工作中常用的内容.因此串与数组的介绍会很简单,重点在于 LeetCode 的练习. 串的定义 在应用程序中使用最频繁的类型是字符串.字符串简称串. 串的存储 由于串中的字符都是连续存储的,而在 C#中串具有恒定不变的特性,即字符串一经创建,就不能将其变长.变短或者改变其中任何的字符. 数组 数组是一种常用的数据结构,可以看作是线性表的推广.数组作为一种数据结构,其特点是结构中的数据元素可以是具有某种结构的数据. 比如二维数组的元素就是一维数组. 数组的存储 在

串和数组

串: 在应用程序中使用最频繁的类型是字符串.字符串简称串,是一种特殊的线性表,其特殊性在于串中的数据元素是一个个的字符.字符串在计算机的许多方面应用很广.如在汇编和高级语言的编译程序中,源程序和目标程序都是字符串数据.在事务处理程序中,顾客的信息如姓名.地址等及货物的名称.产地和规格等,都被作为字符串来处理.另外,字符串还具有自身的一些特性.因此,把字符串作为一种数据结构来研究. 串的基本概念: 串(String)由 n(n≥0)字符组成的有限序列.一般记为: S="c1c2-cn"

foundation 数组NSArray学习

最近最近在忙于公司的项目研发学习iOS的进度比较慢了,但是还是坚持自己学习了一下foundation的基本学习语法拿来和大家一起分享学习.每天都到深夜在休息明天还要上班身体真心累,但是我始终相信好事多磨.这里面介绍了数组的可变,不可变查找数组中的一个元素,最后一个元素,和你制定的元素,还有遍历数组. //  main.m //  Arrary // //  Created by 张义航 on 14/11/21. //  Copyright (c) 2014年 zyh. All rights re

数组的学习

最近新学习了数组的内容 只是我缺席了这几天的学习,只能好好的看课件了 JavaScript 数组是无类型的:数组的元素可以是任何类型.例如:字符串.数字值.布尔值等.而且数 组中每1个元素都可能是不同数据类型. JavaScript 数组是动态的:根据需要,可以动态的对数组中的元素进行增.删.查.改等操作. 数组有一个重要的内容就是:数组的索引,数组中的每1个元素在数组中都有1个对应的索引,也叫做数组的下标.索引取值从数字 0 开始. 我们可以 通过索引值来对数组进行增加.查看.修改等操作. 还