首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
MYD
创建于2022-07-30
订阅专栏
排序算法,BST,AVL,RBT,B+,RTree,以及一些其他算法
等 1 人订阅
共9篇文章
创建于2022-07-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Huffman编码
英文字母大小写总共就52个,一本英文书籍几十上百万的英文单词都是由这52个字符排列组合而成,不难看出这52个字符肯定是大量重复了。 一本中文小说几百万字,也都是由常用的几千个汉
以一种简单的方式来理解RBT的add和remove过程
add造成的颜色冲突可以通过将红色节点转移或者是将其parent和uncle染黑来解决;remove时造成的黑色节点损失可以通过转移兄弟分支的红色节点弥补损失,或者减少兄弟分支的黑色来达到平衡;
AVL树的原理及Java实现
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 前言 上一篇文章讲到,二叉搜索树(BST)有一个很大的弊端就是很不稳定。输入数字的顺序不同可能导致二叉树退化成链表;比如:顺序输入: 1 ->
线段树的修改和求和
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 网上有很多讲线段树原理的文章,如果你是第一次接触【线段树】这种数据结构,看这些文章估计会把你脑子弄得很晕。强烈推荐直接看这个视频:
二叉搜索树(BST)
本文已参与「新人创作礼」活动,一起开启掘金创作之路。 前言 打算从二叉搜索树开始,然后AVL树,最后写红黑树和B+树;话说为什么要写这系列文章呢?可能是在网上白嫖太多好文章以及视频,希望通过这几篇
堆排序(Java)
堆排序原理 将数组结构在逻辑上当成完全二叉堆来看;然后将数组元素组成的无序二叉堆,构建成大顶堆或者小顶堆;利用 大顶堆/小顶堆 的性质 实现数组的排序。 这里有2个概念: 完全二叉堆:就是完全二
快速排序(Java)
原理 选取一个基准数,找到这个基准数的位置;基准数将数组分割成2个区域的子数组; 分别对2个区域的子数组重复步骤一,直到不能分割为止; 什么基准数?怎么找到这个基准数的位置?这个基准数是怎么分割数
汉诺塔问题的Java递归实现
汉诺塔问题 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动后,同一根柱子上都不能出现大盘子在小盘子上方;用
二叉树的树状打印(Java)
二叉树的树状打印,要清楚每一行要打印什么。以及计算好每个节点,线段之间的间隔距离;只有清楚这些之后才能够够了。