该文被密码保护。 阅读全文
摘要:
AVL树是带有平衡条件的二叉查找树,它是每个节点的左子树和右子树的高度最多差1的二叉查找树。AVL树的节点定义如下: 根据AVL树的性质,当插入新的节点时,可能破坏平衡性质,因此需要对树进行旋转来满足平衡条件。AVL树的不平衡可以总结为4种情形:LL、RR、LR、RL,由于对称性,逻辑上可以认为两种 阅读全文
摘要:
一、二叉查找树定义 二叉树每个节点都不能有多于两个的儿子。二叉查找树是特殊的二叉树,对于树中的每个节点X,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。 二叉查找树节点的定义: private static class BinaryNode<T extends Comp 阅读全文
摘要:
队列也是一种表,不同的是队列在一端进行插入而在另一端进行删除。 队列模型 队列的基本操作包括入队、出队操作。在表的末端插入元素,在表的开头删除元素,即先进先出(FIFO)。 队列的数组实现 对于每一个队列数据结构,保留一个数组items以及位置front和back,分别表示队列的两端,还要记录元素的 阅读全文
摘要:
栈是一种线性表,特点在于它只能在一个位置上进行插入和删除,该位置是表的末端,叫做栈的顶(top)。因此栈是 后进先出的(FIFO) 。栈的基本操作有push、peek、pop。 栈的示意图 进栈和出栈都只能在一个位置进行操作。 基于数组的栈实现 阅读全文
摘要:
线性表是一种简单的数据类型,它是具有相同类型的n个数据元素组成的有限序列。形如如A0,A1,...,An 1。大小为0的表为空表,称Ai后继Ai 1,并称Ai 1前驱Ai。 printList打印出表元素,makeEmpty置空表,find返回某一项首次出现的位置,insert和remove一般是从 阅读全文
摘要:
在开发过程中,希望修改时能够及时更新修改,即热加载,但是spring-boot-devtools不起作用。这主要是两个原因导致。 一、spring-boot-maven-plugin插件没有配置,如下: <dependencies> <dependency> <groupId>org.springf 阅读全文
摘要:
在 "RabbitMQ入门(2)——工作队列" 中,我们学习了如何使用工作队列处理在多个工作者之间分配耗时任务。如果我们需要运行远程主机上的某个方法并等待结果怎么办呢?这种模式就是常说的远程过程调用(Remote Procedure Call),简称RPC。 RPC 尽管RPC在计算机中是一种常见的 阅读全文
摘要:
前面我们介绍了通过使用 ,改善了 只能进行虚拟广播的方式。尽管如此,直接交换也有自身的局限,它不能基于多个条件路由。 在我们的日志系统中,也许我们希望不仅要根据严重程度,而且要基于发送日志的源订阅日志。为了实现这个功能,我们需要学习更复杂的主题交换(topic exchange)。 主题交换(Top 阅读全文