数据结构的串的相关知识,朴素的模式匹配,KMP模式匹配 一.串的基本知识 1.串的定义: 串(String)是由零个或多个字符组成的有限序列,又称字符串。一般记为:s="a1a2.......an"(a>=0)注意:其中s是串名,用双引号括起来的字符序列为串值,双引号本身不属于串的内容。ai(1<=i<=n)是一个任意字符,它称为串的元素,是构成串的基本单位,i是它在整个串中的序号;n为...
数据结构的基本概念和术语,算法的时间复杂度 !!!数据结构:是相互之间存在的一种或多种特定关系的数据元素的集合。一.相关术语 1.数据: 也就是符号,但是这些符号必需具备两个前提:能输入到计算机中且能被计算机处理。比如整型,实型,声音,图像等。 2.数据元素:就是组成数据的基本单位。就是比如动物类的数据元素就有猫,狗等等。 3.数据项:一个数据元素可以由多个数据项组成。比如:人都有年龄,身高,体重等数据项。...
c++的一些知识 一.输入与输出必须要有#include <iostream> using namespace std;1.输入: cin >>变量1; cin >>变量1>>变量2>>变量n;例如Hello world的输出2.输出:cout <<表达式<<endl;cout <<表达式1<...
枚举及习题 枚举(穷举算法)枚举是逐个尝试答案的一种问题求解策略,就是直接暴力循环找出答案,直接看题吧例:完美立方:形如a^3 = b ^3+ c ^3 +10 ^3的等式被称为完美立方等式。编写一个程序,对给定的正整数N(N<=100),寻找所以的组合,使得等式成立,其中a,b,c,d大于1,小于等于N且b<=c<=d。按照a的值,从小到大依次输出。当两个完美立方等式中a相等时,...
折半查找法(二分查找法) 折半查找法1.优点在于比较的次数比较少,对于想要查找的数能够快速的找到,耗费的时间比较少。2.缺点在于这个方法是要求待查找的表为有序的,并且插入删除比较的困难。一.用一维数组进行举例:例如,一个一维数组a[10]={2,5,7,8,9,15,20);在这个数组中查找key=15的位置。(因为是举例,所以这个数组是有序的,如果碰到无序的数组,可以先排个序,但其实有排序的那个功夫,估计遍历一遍...
深度优先搜素及题目 一.深度优先搜索1. 搜索是指已知初始状态和目标状态,对问题的中间状态进行枚举的遍历的一种算法,通俗的讲,搜索就是比较复杂的枚举。2.深度优先搜索是按照深度的方式进行搜索,就是把所有可行的方案都列举出来,不断的去尝试,直到找到问题的解。设想你在一个迷宫里面,当我们在起点时,总要通过各种岔路口才能找到迷宫的终点,那么从起点开始,沿着一条路向前走,当碰到岔路口时,选择其中一个岔路前进。如果...
文件的有关操作 注意:在对文件进行具体操作时,必须遵守"**打开(创建)——读/写——关闭"**的操作流程。常用的文件系统函数如下:分类函数名打开文件fopen()关闭文件fclose()文件定位fseek() (改变文件位置的指针位置)rewind()(使文件位置重新置于文件开头)ftell()(返回文件指针的当前值)文件读写fgetc()(从文件中读取一个字...
栈 一.静态栈。1.栈是一种后进先出的数据结构。2.栈规定只能在一端进行插入和删除。类似于用一个小桶装小球,最后装进去的那个小球是第一个被拿出来的,如果想要拿第一个装进去的小球,就要将除第一个小球外的所有小球先拿出来才能拿到第一个小球。栈的建立(入栈)由于栈是后进先出的类型,因此我们需要先定义一个栈顶top,且令top=0;然后建立一个数组来储存栈内的数据。例如向栈内存入n个数据的代码如下(...