
数据结构
panda_1994
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
队列完整功能实现(链表实现)(java版本)
实现了完整的队列功能,包括添加元素,删除元素,查找元素,插入元素,删除特定元素之后的所有元素,查询队列是否为空,查询队列的大小,迭代器等功能。欢迎大家指正! import java.util.Iterator; public class Queue<T> implements Iterable<T> { /** * 定义了节点的嵌套类 */ ...原创 2018-05-13 11:31:42 · 1208 阅读 · 0 评论 -
环形队列(链表实现)(java版本)
import java.util.Iterator; public class CircleQueue<T> implements Iterable<T> { private Node first;//链表头节点 private Node last;//链表尾节点 private int N;//链表大小 /** * 迭代器实现 ...原创 2018-05-13 17:10:00 · 1447 阅读 · 0 评论 -
浅析树结构(三)红黑树
浅析树结构之红黑树 首先先来了解一下红黑树的五个性质 每个结点非红即黑。 根结点是黑的。 每个叶结点(这里叶节点指的是NULL结点)都是黑的。 如果一个结点是红的,那么它的两个儿子都是黑的。 对于任意结点而言,其到树末端即NULL节点的每条路径都包含相同数目的黑结点。 等等等,一脸懵逼吧?? 那还是先来了解一下2-3树吧 2-3查找树 2-3树是一种树型数据结构,内部节点(存在子节点的节点)...原创 2019-01-10 17:16:29 · 322 阅读 · 0 评论 -
散列表原理及实现
散列表原理及实现 散列表原理 散列表:使用算术操作将键转化为数组的索引来访问数组中的键值对, 使用散列表,可以实现常数级别的查找和插入. 使用散列的查找算法主要要解决的两个问题: 散列函数的设计(即如何用散列函数将被查找的键转化为数组的一个索引). 处理碰撞冲突的过程(即处理两个或多个键的散列值相同的情况). PS:处理碰撞冲突的方法主要有拉链法和线性探测法. 散列函数的设计 实现散...原创 2019-01-12 15:53:23 · 690 阅读 · 0 评论 -
浅析树结构(二)AVL平衡二叉树(AVL树原理及代码实现)
平衡二叉树 平衡二叉树定义 平衡二叉树有两种形式: 是一棵空树 是一个左右两个子树的高度差的绝对值不超过1,并且左右子树都是平衡二叉树的树 平衡二叉树的常用实现方法有AVL树,红黑树,替罪羊树,Treap,伸展树等. 在这里我们先谈AVL树,红黑树会在之后的文章再提出. AVL树 AVL是最先发明的自平衡二叉查找树算法。在AVL中任何节点的两个儿子子树的高度最大差别为1,所以它也被称为...原创 2019-01-08 21:37:23 · 454 阅读 · 0 评论 -
图论算法(一)深度优先搜索与广度优先搜索
图论算法之深度优先搜索与广度优先搜索 图论基础知识 图是由一组顶点和一组能够将两个顶点相连的边组成的(可以无边,但是至少包含一个顶点): 一组顶点: 通常用V(vertex)表示顶点集合 一组边: 通常用E(edge)表示边集合 图可以分为有向图和无向图: 无向图: 在有向图中的边仅仅是两个顶点之间的连接 有向图: 在无向图中的边是有方向的,指的是箭头尾端的顶点指向箭头顶端的顶点, 无...原创 2019-01-19 19:47:11 · 2995 阅读 · 0 评论 -
图论算法(二)最小生成树
图论算法之最小生成树 最小生成树 定义 原理 Prim算法延时实现 Prim算法jishi实现 Kruskalsuanfa原创 2019-02-17 11:33:44 · 625 阅读 · 0 评论 -
图论算法(三)最短路径
最短路径原创 2019-02-18 11:06:32 · 1500 阅读 · 0 评论