字符串匹配-KMP算法

由D.E.Knuth、V.R.Pratt、J.H.Morris于1977年联合发表,简称KMP算法。问题描述        由两个字符串  ms  和  s,  需要确认  s  是否存在于  ms  中,        如果存在,返回s的第一个字符在  ms的下标位置朴素算法        使用双

#字符串匹配   #KMP  

图的遍历-邻接矩阵

图是由顶点和边或弧两部分组成。顶点不分大小、主次,可以用一个一维数组来存储。邻接矩阵:        用来表示顶点之间相邻关系的矩阵。用二维数组进行储存。        假设图有  5  个顶点,  用一维数组表示为  vertex  =  ["A",  "B"

#基础   #图  

图的遍历-邻接表

邻接表:        图的一种存储结构,这是一种  顺序存储与链式存储  相结合的方式。由顶点表(数组)和邻接表(单链表)  两部分组成。        顶点表:将所有顶点,依次存入数组中(可直接从下标1开始存),直接以数组下标作为顶点的编号。                      数组中顶点

#基础   #图  

文本模式显示二叉树

                            A                _____/  \_____              /                          \            B                              C     

#算法   #二叉树  

二叉树的遍历

        若以  D、L、R分别表示根结点、左子树、右子树,理论上来说,二叉树的遍历方式有六种,但如果限定先左后右,则只有三种遍历方式:DLR(先序遍历)、LDR(中序遍历)、LRD(后续遍历)。另外,还有一种特殊的遍历方式:层次遍历                            A 

#算法   #基础   #二叉树  

时间复杂度[转]

关于代码的基本操作执行次数,我们用四个生活中的场景,来做一下比喻:场景1:给小灰一条长10寸的面包,小灰每3天吃掉1寸,那么吃掉整个面包需要几天?        答案自然是  3  X  10  =  30天。        如果面包的长度是  N  寸呢?        此时吃掉整个面包,需要  

#算法