曾经外套

文章
6
资源
0
加入时间
2年10月17天

简谈 KMP 算法的思路(附 C++ 代码)穷举法KMP算法

KMP算法是由DEKnuth,JHMorris和VRPratt同时发现的,因此人们将这种算法命名为克努特 - 莫里斯 - 普拉特操作(简称KMP算法)。为了后面叙述方便,在此先说明几个文章中提到的相关概念和约定:字符串模式匹配:寻找某个字符串(子串)在另一个字符串(主串)中第一次出现的位置。 模式串:即子串 串中的字符从0开始编号穷举法在叙述KMP算法之前,我们先来了解一下字符串...

Web socket与TCP socket区别

先介绍一下TCPTCP又叫传输控制协议,是面向链接的、可靠的、基于字节流的传输协议,建立TCP链接需要三次握手,断开链接需要四次挥手,此处不再赘述。TCP头部包括了一些字段:序列号(seq): 这个序号保证了TCP传输报文是有序的。对面端可以通过seq来拼接报文字段。…webSocket是服务器与客户端的一种全双工通信协议,一开始的握手通过HTTP请求来完成,但是在后面的传输中是不需要HTTP的。HTTP与Web socket都是基于TCP的,但是Web socket是双向的,HTTP请求是单

Java多态的理解一.多态的定义二.动态绑定三.对多态的理解四.多态的必要条件及其优点

一.多态多态意味着父类型的变量可以引用子类型的对象。面向对象程序设计的三大支柱是封装、继承和多态。 继承关系使一个子类能继承父类的特征,并且附加一些新特征。子类是它的父类的特殊化,每个子类的实例都是其父类的实例,但是反过来不成立。例如:每个圆都是一个几何对象,但并非每个几何对象都是圆。因此,总可以将子类的实例传给需要父类型的参数。考虑下图中的代码。方法displayObject(第9行)具有GeometricObject类型的参数。可以通过传递任何一个GeometricObject.

java中两大异常:空指针异常和数组越界异常

一、空指针异常  空指针异常是运行期的异常,编译的时候是不会检查的,只有运行的时候才会抛出,一般情况下如果出现了空指针异常,事先你不知道会有这个异常,就说明你的程序有bug,当然就要找出这个bug,然后在变量调用之前先给它赋值,另外有一种情况,你事先知道某个操作会抛出空指针异常,常见一些非法的操作,但是又无法避免用户执行这个操作,就可以通过try,catch块捕获这个异常,然后给用户一个反馈信