- 博客(10)
- 收藏
- 关注
原创 KMP算法理解
KMP算法是对普通模式匹配算法的一种改进算法,这种改进算法是D.E.Knuth与V.R.Pratt和J.H.Morris同时发现的,因此人们称它为KMP算法。KMP算法最大的特征就是引进了跳转表(next表),下面我们来说说KMP算法与普通算法的区别。这里我们先提一个已知条件:目标串(target)中某一个子串与模式串(pattern)的前i个字符相匹配时(即target[m……m+(
2017-10-09 16:24:00
340
1
原创 文件压缩
文件压缩:1.用 (两者之间的距离,匹配长度) 这样一对信息,来替换后一块内容。2.使用"滑动窗口"的方法,来寻找匹配串。3.用0表示“没有匹配的字节”,用1表示“(之间的距离,匹配长度)对”。4.固定”对”中“两者之间的距离”和“匹配长度”所使用的位数;使用固定大小的窗口;限定最大的匹配长度;设定一个最小匹配长度,只有当两个串的匹配长度大于最小匹配长度时,才认为是一个匹配。5
2017-04-13 21:25:55
329
1
原创 AVL树的左右单旋
AVL树又称高度平衡的二叉搜索树,它有如下几个性质:1.左子树与右子树的高度差绝对值不超过1;2.树中每个节点的左右子树都是AVL树;3.每个节点都有一个平衡因子(balance factor)这里简称bf,AVL树中每个节点的平衡因子都为1,0,-1(每个节点的平衡因子等于该节点右子树的高度减去其左子树的高度)。假设一棵AVL树有N个节点,其高度保持在log2N,插入删除查找算法
2017-04-04 16:19:40
1001
1
原创 粘滞位
1.权限粘滞位通常情况下只要用户对某个目录具备w写入权限,便可删除该目录中的任意文件,而不论这个文件的权限是什么。比如我们进行以下操作:#创建/test目录,并赋予777权限.#以root用户的身份在 /test 目录下创建 file1 文件,并查看其默认权限.#以普通用户身份登录系统可以删除 /test/file1.可以发现,虽然普通用户对于文件file1只有r权限,但因
2017-03-31 13:26:33
384
原创 初识linux权限
1.cd一个文件需要什么权限?首先mkdir一个文件名为infile的文件,他的初始权限为drwxrwxr-x,然后通过chmod来修改他的权限
2017-03-24 11:03:56
406
原创 菱形继承与菱形虚拟继承
菱形继承模型:菱形继承模型代码演示:#include using namespace std; class Base { public: Base() :_b1(1){} virtual void fun1() { cout } virtual v
2017-02-16 21:57:44
327
1
原创 研究虚表(探索多态的原理)和菱形虚拟继承
菱形继承也称钻石继承,具体模型如下菱形继承代码段如下:但由于菱形继承仍有两大缺点:二义性与数据冗余,所以由此我们引进菱形虚拟继承来完善这两点
2017-02-15 18:19:24
501
原创 宏和函数的区别以及C语言的编译链接过程
宏和函数的区别大致可分为以下五点:1、宏是完全替换,插入到程序中,会增加代码的长度; 而函数代码是只出现在一个地方,使用时调用即可。2、宏的执行速度相比函数更快一些,因为在预编译阶段都已完成;函数则因为需要调用以及返回而需要额外时间。 3、宏有时因为操作符优先级问题会导致计算逻辑出错; 而函数会将值返回。 4、参数求值时,宏每次使用
2016-10-18 17:24:21
595
原创 预处理相关标识符
介绍几种常见的C语言预处理标识符__LINE__; __FILE__; __DATE__; __TIME__; #; ##;__LINE__ :当前源代码的行号,为整型常量 __FILE__ :当前编译程序文件的名称,为字符串 __DATE__:编译程序文件日期,为字符串(”MM DD YYYY"形式,如”Qct 18 2016”) __TIME__:编
2016-10-18 17:13:57
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人