- 博客(6)
- 收藏
- 关注
翻译 红黑树核心:自平衡策略和插入算法是如何实现的?
文章结构1. 红黑树的介绍2. 红黑树自平衡策略3. 红黑树查找和插入4. 红黑树插入节点情景分析 [超重要]情景1:红黑树为空树情景2:插入结点的Key已存在情景3:插入结点的父结点为黑结点情景4:插入节点的父节点为红色插入情景4.1:叔叔结点存在并且为红结点插入情景4.2:叔叔结点不存在或为黑结点,并且插入结点的父亲结点是祖父结点的左子结点插入情景4.2.1:新插入节点,为其父节点的左子节点(LL红色情况)插入情景4.2.2:新插入节点,为其父节点的右子节点(LR红色情况)插入情景4.3:叔叔结点不存.
2021-03-11 12:02:49
2298
1
翻译 20分钟搞定平衡二叉树(AVL树)【超详细】
文章目录一、树结构入门1.什么是树?2.树结构常用术语**3.二叉搜索树二、平衡二叉树(AVL树)1. AVL树简介2. 失衡二叉排序树的分析与调整3. 为什么有了平衡树还需要红黑树?一、树结构入门1.什么是树?树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树有很多种,向上面的一个节点有多余两个的子节点的树.
2021-03-08 16:26:02
3195
1
原创 深入浅出理解JAVA内存结构系列(一)初识JAVA内存结构
概述: JAVA虚拟机在执行Java程序的过程会把它管理的内存划分为不同的数据区,这些运行时的内存区有的随JAVA虚拟机进程的启动而存在,有的内存区随着用户线程的启动而建立,同样伴随着线程的结束而销毁。(注:本文后续不断更新中)本文作者:Horace_hr 作者博客地址:https://blog.youkuaiyun.com/Horace_hr本文地址:https:/...
2019-07-07 11:27:35
220
原创 深入浅出理解排序算法系列(二) 插入排序算法的实现与性能分析
概述: 插入排序的基本原理是在有序序列中插入一个元素,保持序列有序。也就是说每次将一个待排序的元素,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。本文具体为大家讲解插入排序的三种具体实现方法:直接插入排序(Straight Insert Sort) 二分插入排序 (Bisection Insert Sort) 希尔排序 (Shell So...
2018-08-10 15:00:24
727
原创 深入浅出理解排序算法系列(一) 排序算法概述
概述: 排序(又称分类、整序)是指将无序序列排成一个有序序列(由小到大或由大到小)的运算。用于作为排序依据的数据项称为关键词,也就说排序算法是基于关键词从小到大或从大到小进行排序的。本系列的文章包含:1、排序算法概述2、插入排序的实现方法及性能分析3、交换排序的实现方法及性能分析4、选择排序的实现方法及性能分析5、归并排序的实现方法及性能分析6、基数排序的...
2018-08-09 13:21:21
636
原创 深入浅出熟悉Java集合系列(一)Java集合概述
概述 Java集合是常用的工具类,用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等,还可保存具有映射关系的关联数组。Java集合大致有Set、List、Map、Queue四种体系,其中Set代表无序、不可重复的集合 List代表有序、可重复的集合 Map代表具有映射关系的集合 Queue代表队列集合(Java5新增集合) Java集合就像是一个容器,可以把...
2018-07-21 14:14:07
484
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人