上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 47 下一页
摘要: 前言 snowflake可以生成全局唯一且有序的Id,相对来说UUID也可以实现,但是无序且长度太长,为36位。 第一位固定为0,表示正数 41位表示时间戳,一共可以使用69年 5位表示数据中心节点,5位表示机器标识,一共可以支持1024个节点 12位表示一毫秒内的序列号,共4096个 代码实现 / 阅读全文
posted @ 2021-01-10 11:37 strongmore 阅读(587) 评论(0) 推荐(0)
摘要: 介绍 AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。示例图如下 整体代码实现 代码基于之前的二叉搜索树实现,java实现二叉搜索树 import java.util.Array 阅读全文
posted @ 2021-01-05 19:53 strongmore 阅读(489) 评论(0) 推荐(0)
摘要: 介绍 并查集是一种特殊的树结构,示例图如下 可以很方便的进行以下两种操作:以上图为例 判断元素6和元素4是否属于同一组, 合并元素6和元素4所在的组 代码实现 public interface UF { /** * 容量 */ int size(); /** * 是否已连接 */ boolean c 阅读全文
posted @ 2021-01-04 19:47 strongmore 阅读(380) 评论(0) 推荐(0)
摘要: 介绍 Trie树(又名字典树,前缀树)是一种多叉树,是一种专门处理字符串的数据结构,Trie树 示例图如下 保存的数据为单词列表[goods,good,gmail,grade,dog,cap,cook,map],应用场景有搜索提示 代码实现 import java.util.ArrayList; i 阅读全文
posted @ 2021-01-03 10:12 strongmore 阅读(610) 评论(0) 推荐(0)
摘要: 介绍 线段树(又名区间树)也是一种二叉树,每个节点的值等于左右孩子节点值的和,线段树 示例图如下 以求和为例,根节点表示区间0-5的和,左孩子表示区间0-2的和,右孩子表示区间3-5的和,依次类推。 代码实现 /** * 使用数组实现线段树 */ public class SegmentTree<E 阅读全文
posted @ 2021-01-02 16:43 strongmore 阅读(1098) 评论(0) 推荐(0)
摘要: 介绍 堆是一种完全二叉树,最大堆就是每个节点元素的值都要大于其子节点元素的值,相反最小堆就是每个节点元素的值都要小于其子节点元素的值。最小堆示例图如下 因为完全二叉树的特性,我们可以使用数组来实现堆。 代码实现 import java.util.ArrayList; import java.util 阅读全文
posted @ 2021-01-02 14:09 strongmore 阅读(625) 评论(0) 推荐(0)
摘要: 前言 YAML(YAML Ain't Markup Language),也可以叫做YML,是一种人性化的数据序列化的语言,类似于XML,JSON。SpringBoot的配置文件就支持yaml文件。官网 语法 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目 阅读全文
posted @ 2020-12-31 23:53 strongmore 阅读(16866) 评论(0) 推荐(4)
摘要: 简介 floor表示小于等于该值的最大整数,向下取整,趋近于正无穷。ceil表示大于等于该值的最小整数,向上取整,趋近于负无穷。round表示最接近该值的整数,趋近于正无穷。 测试代码 import java.util.List; public class Main { public static 阅读全文
posted @ 2020-12-30 19:22 strongmore 阅读(424) 评论(0) 推荐(0)
摘要: 前言 二叉搜索树(又叫二叉查找树,二叉排序树)是一种特殊的二叉树,根节点的值大于左孩子的值,小于右孩子的值。示例图如下 二叉树定义 /** * 自己实现二叉搜索树 */ public class BST<E extends Comparable<E>> { /** * 根节点 */ private 阅读全文
posted @ 2020-12-29 23:29 strongmore 阅读(445) 评论(0) 推荐(0)
摘要: 前言 JAR(Java Archive File),表示Java档案文件,是一种压缩文件,与常见的ZIP压缩文件兼容。区别在于JAR文件中默认包含一个名为META-INF/MANIFEST.MF的清单文件,这个文件是生成JAR文件时由系统自动创建的。我们可以将代码打包成jar,加入到classpat 阅读全文
posted @ 2020-12-28 20:26 strongmore 阅读(625) 评论(0) 推荐(0)
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 47 下一页