数据结构与算法(java实现)
芜湖芜湖芜湖
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】栈的详解
目录(一)什么是栈?(二)栈的java实现(一)什么是栈?举个例子,我们洗完盘子都通常都是叠在一起,先洗完的放最下面,其次洗的依次叠上面,当我们需要用盘子的时候,都是先从最上面取盘子,然后一个一个的拿走。这就是先进后出原则,即最先操作的最先进去,最后面操作的最先出去。栈是一种只允许在一端进行插入或删除的线性表,也就是说先进后出即(FILO)。栈的操作端通常被称为栈顶,另一端被称为栈底,...原创 2019-04-13 14:28:10 · 1121 阅读 · 0 评论 -
【数据结构与算法】二叉树的前中后递归与非递归遍历
结点类public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) {val=x;} }树类import java.util.ArrayList;import java.util.List;import java.util.Stack;public class So...原创 2019-05-14 21:18:25 · 366 阅读 · 0 评论 -
【数据结构与算法】树的概念及孩子兄弟表示法
树的概念树是 n 个结点的有限集。 n=0 时称为空树。有且仅有一个特定的称为根的结点当 n>1 时,其余节点可分为 m 个不相交的有限集 T1,T2…强调:n>0时 根节点是唯一的m>0时 子树个数没有限制,但是一定不会相交。...原创 2019-05-14 15:53:08 · 1614 阅读 · 0 评论 -
【数据结构与算法】细讲KMP算法
——>BF算法 点我·BF算法时间复杂度比较高,下面介绍一种改进的模式匹配算法。KMP算法,可以在O(n+m)的时间数量级上完成串的模式匹配操作,每当匹配失败时,i 不用回溯,而是利用已经得到的“部分匹配”的结果将 j 向左移动一段距离,继续比较 S[i]==T[j]在BF算法中:一趟 &nb...原创 2019-04-18 15:56:34 · 2450 阅读 · 1 评论 -
【数据结构与算法】BF算法(详解)
目录(一)BF算法(二)演示(三)时间复杂度(四)代码实现 我的KMP算法 点我(一)BF算法也就是串的模式匹配算法,在主串中查找与模式T(副串)相匹配的子串,如果匹配成功,找到该子串在主串出现的第一个字符。模式匹配不一定是从主串第一个字符开始,可以在主串中指定起始位置。(二)演示举个例子:主串:我是大明我我是小明嘿嘿嘿模式串:我是小明现在我们要在主串中找到符合模式串的连续...原创 2019-04-18 12:00:10 · 21614 阅读 · 4 评论 -
【数据结构与算法】图的概念,邻接矩阵,邻接表的实现
图的定义是由顶点的有穷非空集合和顶点之间边的集合组成,通过常表示为:G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。无向边,无向图:若顶点Vi 到Vj之间的边没有方向,则称这条边为无向边,用无序偶对(Vi,Vj)来表示,因为无向,也可以写成(Vj,Vi)。如果图中任意两个顶点之间都是无向边,则称该图为无向图。该无向图G1可表示为:G1=(V1{E1})其中顶...原创 2019-05-30 16:53:22 · 498 阅读 · 3 评论