随笔分类 -  《Java数据结构》

记录Java程序中的数据结构
摘要:前言 在学习JDK8的HashMap的时候遇到了红黑树,由于之前没有遇到过红黑树,所以借这个机会好好了解一下红黑树。 原理 先看一下红黑树的定义: 1.每个结点或是红的,或是黑的2.根节点是黑的3.每个叶结点是黑的4.如果一个结点是红的,则它的两个儿子都是黑的5.对每个结点,从该结点到其任何叶子节点 阅读全文
posted @ 2020-10-28 20:42 加速丨世界 阅读(473) 评论(0) 推荐(0) 编辑
摘要:前言 学习Java阻塞队列的时候,了解到了ConcurrentLinkedQueue队列使用了堆结构,就整理一下堆结构的逻辑 原理 堆是一颗满二叉树(除了最后一层的节点可以不满,其他层都必须是满的),元素存储在数组中,头结点必定是最大或者最小值(大小顶堆)。 结构图 入队逻辑:保证小顶堆不变 出队逻 阅读全文
posted @ 2020-10-28 20:28 加速丨世界 阅读(327) 评论(0) 推荐(0) 编辑
摘要:前言 学习LinkedList的时候,遇到了队列数据结构,就想着回顾一下队列数据结构。 原理 Queue数据结构是一种线性的结构,先进先出的特性。下面看一下逻辑图 队列在我们写代码的过程比较常用,例如打印日志,一个程序打印日志是比较消耗资源的,一般都会采用队列实现,将需要的日志先放入队列中,由其他线 阅读全文
posted @ 2020-10-18 12:50 加速丨世界 阅读(237) 评论(0) 推荐(0) 编辑
摘要:前言 在学习MySQL的时候遇到了B+树,MySQL通过B+树来提升SQL语句的查询效率。接下来我们就来分析一下B+树的原理和写一个demo模拟B+树的实现。 B+树原理 1. 什么是B+树 B+树是一种B树的变形,看看B+树结构 根据图我们可以看出B+树存在重复元素的存储。物理存储空间要比一般的树 阅读全文
posted @ 2020-05-16 23:07 加速丨世界 阅读(589) 评论(0) 推荐(0) 编辑
摘要:单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 单向链表: /** * 单向链表 */ public class 阅读全文
posted @ 2019-10-09 20:18 加速丨世界 阅读(587) 评论(0) 推荐(1) 编辑
摘要:树形结构是一层次的嵌套结构。 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示。经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树。 左子树和右子树又有自己的子树。 结构图: 一切尽在代码中: import java.util.Array 阅读全文
posted @ 2019-10-02 16:05 加速丨世界 阅读(7150) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示