数据结构
萧逸才
这个作者很懒,什么都没留下…
展开
-
Java中的队列(Queue)简单使用
什么是队列 队列是一种先进先出(First In First Out,FIFO)的数据结构,如果你将两个元素加入队列,先加入的元素将在后加入的元素之前出队。 更新队列时,使用术语“入队”和“出队”,但也可能遇到术语“压入”和“弹出”。压入大致相当于入队,而弹出大致相当于出队。代码 Queue<Integer> queue = new LinkedList<>(); queu原创 2017-04-15 17:01:27 · 18315 阅读 · 2 评论 -
算法之广度优先搜索
查找最短路径 广度优先搜索可回答两类问题: 第一类问题:从节点A出发,有前往节点B的路径吗? 第二类问题:从节点A出发,前往节点B的哪条路径最短?数据结构队列:队列是一种先进先出(First In First Out,FIFO)的数据结构,如果你将两个元素加入队列,先加入的元素将在后加入的元素之前出队。图:图(有向图)由节点和边组成。一个节点可能与众多节点直接相连,这些节点被称原创 2017-04-15 18:28:28 · 302 阅读 · 0 评论 -
数组与链表
存储 数组中的元素只能存储在内存中相连的地址;链表中的元素可存储在内存的任何地方(每个元素存储下一个元素的地址)。效率 操作 数组 链表 读取 O(1) O(n) 插入 O(n) O(1) 删除 O(n) O(1)对比 数组和链表哪个用得更多呢?显然要看情况。但数组用得很多,因为它支持随机访问。有两种访问方式:随机访问和顺序访问。顺序访问意味原创 2017-04-06 21:51:08 · 312 阅读 · 0 评论 -
new ArrayList、subList和Arrays.asList浅析
在Java中List是我们很常用的数据结构,对此我们有必要简单了解一下创建List的三种方式并对它们进行一些简单的测试。new ArrayListList<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);System.out.println("--原创 2017-04-16 12:48:48 · 1394 阅读 · 0 评论 -
java List(ArrayList)的5种遍历方式解析
前言 对于ArrayList来说,从名字”数组列表”就知道它的底层其实是由数组实现的,同时ArrayList实现了RandomAccess接口,我们可以并且最好通过索引来访问ArrayList中的元素,这样的效率是最高的。调用代码public static void main(String[] args) { List<Integer> list = new ArrayList原创 2017-04-08 17:47:54 · 30453 阅读 · 3 评论 -
红黑树-旋转
此篇博客我们讨论红黑树的旋转(左旋和右旋),为了更好的理解旋转,我们只关注红黑树中关于二叉查找树部分的规则,而不关注红黑树中关于本身红黑树定义部分的规则。二叉查找树规则 规则一:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;规则二:若右子树不空,则右子树上所有结点的值均大于它的根结点的值;规则三:左、右子树也分别为二叉查找树;左旋 现有红黑树结构如下:...原创 2018-05-02 21:07:37 · 558 阅读 · 1 评论 -
红黑树-起步
定义说到红黑树(R-B Tree),首先要知道它是一颗二叉查找树(二叉查找树(Binary Search Tree),又称二叉排序树(Binary Sort Tree),亦称二叉搜索树,下文统称为二叉查找树),其次才作为一颗红黑树。所以它不仅要满足二叉查找树的规则,而且要满足红黑树的规则。如下: - 二叉查找树 - 规则一:若左子树不空,则左子树上所有结点的值均小于它的根结点的值;...原创 2018-05-04 10:20:21 · 204 阅读 · 0 评论 -
红黑树-插入
前言本篇博客我们说一说如何从无到有创建一颗红黑树,并在创建红黑树的过程中理解其构造原理。红黑树规则首先我们复习一下红黑树的五项规则,如下: - 规则一:每个节点或者是黑色,或者是红色; - 规则二:根节点是黑色; - 规则三:每个叶子节点(NIL/NULL)是黑色; - 规则四:如果一个节点是红色的,则它的子节点必须是黑色的; - 规则五:从一个节点到该节点的子孙节点的所有路...原创 2018-05-05 16:12:57 · 4586 阅读 · 1 评论 -
字符串连接工具类
JoinTypepackage org.eve.framework.string.join;/** * 连接类型 * * @author xiayc * @date 2018/9/7 */public enum JoinType { /** * 连接符:_ * aaa_bbb_ccc */ STR_STR;}Strin...原创 2018-09-07 15:07:36 · 665 阅读 · 0 评论