首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
Tinkerc
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
java 数据结构与算法之平衡二叉树 (AVL 树) 的设计与实现
上一篇博文中,我们详细地分析了树的基本概念以及二叉查找树的实现过程,基于二叉查找树的特性,即对于树种的每个结点 T(T 可能是父结点), 它的左子树中所有项的值小 T 中的值,而它的右子树中所有项的值都大于 T 中的值。这意味着该树所有的元素可以用某种规则进行排序 (取决于 Comparable 接口的实现),以致于二叉树查找树能够胜任快速地查找过程,这个查找的过程的时间复杂度为 O(logN),但是这个时间复杂度并不是严格意义上的 O(logN),在某些情况下还是会上升到 O(N),显然这并不是一件好事情,因此本篇我们将来讨论另一种更为稳定的二叉树,它就是 AVL 树。以上是本篇将会讨论的主要内容: 普通二叉查找树的问题 平衡二叉树的定义 平衡二叉树的设计与实现 平衡二叉树的单旋转算法与实现 左左单旋转 LL 情景分析 右右单旋转 RR 情景分析 平衡二叉树的双旋转算法与实现 左右双旋转 LR 情景分析 右左双旋转 RL 情景分析 平衡二叉树插入操作的实现 平衡二叉树删除操作的实现 平衡二叉树的最少结点数和最多结点数问题
面试必备:八种排序算法原理及Java实现
1. 概述 排序算法分为内部排序和外部排序,内部排序把数据记录放在内存中进行排序,而外部排序因排序的数据量大,内存不能一次容纳全部的排序记录,所以在排序过程中需要访问外存。 经常提及的八大排序算法指的就是内部排序的八种算法,分别是冒泡排序、快速排序、直接插入排序、希尔排序、简单…
分布式缓存中的一致性哈希算法,这篇文章给讲透了!
它主要是为了解决传统哈希函数添加哈希表槽位数后要将关键字重新映射的问题。 本文会介绍一致性哈希算法的原理及其实现,并给出其不同哈希函数实现的性能数据对比,探讨Redis 集群的数据分片实现等,文末会给出实现的具体 github 地址。 Memcached 是一个高性能的分布式缓…
五分钟看懂一致性哈希算法
一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 首先求出…
Java 集合深入理解:LinkedList
回归基础,复习数据结构与 Java 集合框架
面试旧敌之红黑树(直白介绍深入理解)
红黑树是一种复杂并且重要的数据结构,Java 集合框架中多次使用,而且经常有面试问到,值得我们去研究清楚。
AVL 平衡二叉树详解与实现
二叉查找树可以表示动态的数据集合,对于给定的数据集合,在建立一颗二叉查找树时,二叉查找树的结构形态与关键字的插入顺序有关。如果全部或者部分地按照关键字的递增或者递减顺序插入二叉查找树的结点,则所建立的二叉查找树全部或者在局部形成退化的单分支结构。在最坏的情况下,二叉查找树可能完全偏斜,高度为 n,其平均与最坏的情况下查找时间都是 O(n);而最好的情况下,二叉查找树的结点尽可能靠近根结点,其平均与最好情况的查找时间都是 O(logn)。因此,我们希望最理想的状态下是使二叉查找树始终处于良好的结构形态。
面试算法实践与国外大厂习题指南
面试算法实践与国外大厂习题指南 翻译自 Kevin Naughton Jr. 维护的仓库 interviews,包含了在线练习、算法概述与大厂习题实战等内容。笔者发现正好和之前翻译的 Java 语法清单 以及 Java 进阶面试问题列表 构成面试准备的一些资料合集,从属于笔者的 Java 入门与实践系列。
漫画:什么是红黑树?
1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 接下来我们依次插入如下五个节点:7,6,5,4,3。依照二叉查找树的特性,结果会变成什么样呢? 1.节点是红色或黑色。 2.根节点是黑…