- 博客(6)
- 收藏
- 关注
原创 KMP算法的实现及优化
什么是模式匹配?给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。也就是我们平常在记事本中的“查找选项”所运用的算法,其实说白了就是让我们编程实现:在一个大的字符串中找到一个小的字符串并返回其第一个匹配字符的下标BF算法时间复杂度为O(m×n),m和n分别是模式串与主串的长度。思路:将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T
2017-11-26 15:07:00 717
原创 c++基础概念之深浅拷贝
0.拷贝构造函数其实就是类与类之间的赋值操作所要调用的函数(因为类对象与普通对象不同,类对象内部结构较为复杂,存在各种成员变量)代码举例:#include<iostream>using namespace std;class Myclass { private: int a; public: //构造函数 Myclass(int b) { a
2017-11-24 21:47:02 214
原创 二叉树的三种非递归遍历和层次遍历
1 .三种非递归遍历(栈)所要遍历的树是:先序 + 中序思路:就拿先序遍历为例来说吧。 1.访问根节点,根节点入栈,进入左子树。 2.访问左子树的根节点,根节点入栈,进入下一层左子树。 3.重复直到当前节点为空。即到达了最**左下方**的节点 4.如果栈不为空,就从栈顶取出节点,进入其右子树 5.直到当前节点和栈都为空时,结束。(栈为空就是所有的入栈的节点的右子
2017-11-23 23:06:17 6525 2
原创 二叉树基本数学知识,建立及三种递归遍历
一.基本知识1. 数学知识(1)在二叉树的第i层上最多有2^(i-1)个节点(2)深度为k的二叉树最多有2^(k)-1 个节点(3)对任意二叉树,若叶子节点数为n0,度(节点拥有子树的个数)为2的节点数为n2,则 n0==n2+1 (4)对于具有n个节点的完全二叉树,如果按照对满二叉树节点连续编号的方式,对所有节点从1开始顺序编号,则对于任意序号为i的节点有: 如果 i==1 ,则没有双亲节点。i
2017-11-14 22:51:46 939
原创 C++中的一些基础概念及解析(含构造函数与析构函数)
1.容器容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型。一般用的就有(vector,list,deque)那么有什么好处呐?参考这篇博客:博客2.函数重载什么是函数重载?(what)在同一作用域内,函数名相同但参数不同的一组函数。这组函数被称为重载函数。为什么需要它?(why)重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的
2017-11-10 21:50:09 271
原创 简单聊一下const
问题索引:1.为什么要存在这种东西?2.它有什么样的作用?3.与define 有什么联系?4.C与C++中的const有什么区别?5. C++ 11 中又有了些什么新的东西?解:1.为什么要存在这种东西?就是为了避免程序员在编程时,手残修改关键部分的值(其实想一想内核为什么会分内核态和用户态,类中为什么要有public和private也就明白了)2.它有什么样的作用?其实说的简单点就是保护被修饰的东
2017-11-02 23:04:52 426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人