平衡二叉树(AVL 树) 基本介绍: 应用案例 单旋转(左旋转) 代码实现: 应用案例 单旋转(右旋转): 代码实现: 应用案例 双旋转: 前面的两个数列,进行单旋转(即一次旋转)就可以将非平衡二叉树转成平衡二叉树,但是在某些情况下,单旋转不能完成平衡二叉树的转换。比如数列 int[] arr = ...
分类:
其他好文 时间:
2020-04-28 00:44:34
阅读次数:
61
1.Hadoop的整体框架 Hadoop是由许多元素构成的,最核心的是HDFS(分布式文件系统),它存储了Hadoop集群中所有DataNode文件,HDFS的上一层是MapReduce引擎,MapReduce是一种计算模型,用以进行大数据量的计算。 HDFS HDFS是Hadoop项目的核心子项目 ...
分类:
其他好文 时间:
2020-04-27 13:27:50
阅读次数:
70
基本介绍 在软件设计中,我们经常需要向某些对象发送一些请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需要在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 命令模式(Command ...
分类:
数据库 时间:
2020-04-26 01:31:28
阅读次数:
75
线索化二叉树 先看一个问题 将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树. n+1=7 线索二叉树基本介绍 线索二叉树应用案例 应用案例说明:将下面的二叉树,进行中序线索二叉树。中序遍历的数列为 {8, 3, 10, 1, 14, 6} 代码演示: 节点实体类: ...
分类:
编程语言 时间:
2020-04-26 01:06:55
阅读次数:
73
前一篇文章说到了 Zookeeper 基本介绍及其工作原理,本文将详解 Zookeeper 运行中的 ZAB 协议及其选主流程。关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识点。 ZAB 协议 事务编号 Zxid(事务请求计数器 + epoch) 在 ZAB ...
分类:
其他好文 时间:
2020-04-26 01:05:18
阅读次数:
111
二叉排序树 1. 基本介绍 二叉排序树:BST,对于二叉排序树的任何一个非叶子结点,要求左子结点的值比当前结点的值小,右子结点的值比当前结点的值大 特别说明:若有相同的值,可以将该结点放在左子结点或右子结点 2. 二叉排序树的创建和遍历 ...
分类:
编程语言 时间:
2020-04-24 20:17:44
阅读次数:
62
赫夫曼编码 1. 基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),也称霍夫曼编码,是一种编码方式,属于一种算法 赫夫曼编码也是赫夫曼树在电讯通信中经典的应用 赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间 赫夫曼码是可变字长编码(VLC)的一种。Huff ...
分类:
编程语言 时间:
2020-04-24 19:57:51
阅读次数:
60
树的实际应用 赫夫曼树 1. 基本介绍 给定 n 个权值作为 n 个叶子结点,构造一棵二叉树, 若该树的带权路径长度(wpl)达到最小 ,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),也称霍夫曼树 赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近 2. 重要概念 路径 ...
分类:
编程语言 时间:
2020-04-24 19:52:14
阅读次数:
59
数据结构 图 一、基本介绍 图是一种数据结构,其中结点可以具有零个或者多个相邻元素。两个结点的连接称为边,结点也可以称为顶点 1.1 图的常用概念 顶点 边 路径 无向图 有向图 带权图 1.2 图的表示方式 邻接矩阵(二维数组) "逻辑结构" 分为两部分:V和E集合,其中,V是顶点,E是边。因此, ...
分类:
编程语言 时间:
2020-04-24 19:49:18
阅读次数:
65
介绍 showdoc是一个适合IT团队的文档工具,阅读本文前需要对showdoc有基本了解 。基本介绍可看:https://www.showdoc.cc/help 对于写API文档这件事,虽然说文本编辑软件或者接口管理软件能在某种程度上提高我们的效率,但我们依然可以试图借助技术的力量,更自动化地生成 ...