首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    动画 | 什么AVL树?

    带有平衡因子-2、-1、0、1或2则被认为平衡的。 动画 Code ? 左旋转和右旋转 AVL树调整不平衡的节点分为左旋转和右旋转,却分四种情况:LL、RR、LR和RL。其中L左旋转,R右旋转。...然后再往上计算父节点的平衡因子,接着判断是否平衡,如果平衡的则更新高度,直到不平衡的则进行旋转操作。 看上面图中,节点9不平衡的,需要进行旋转操作。那如何进行哪种情况操作呢?...如果下面情况,则不能单纯的进行右旋转操作了。看下面途中,插入一个节点在节点3右子树发生的,节点3的平衡因子由0变成-1,应该希望节点3左子树的高度可以高点。所以对节点3进行左旋转操作。 ?...动画 Code ? 删除节点 AVL树的删除操作和二分搜索树一样,也分待删除结点的右子树为空、左子树为空和左右子树都不为空的情况。 那如何更新高度和平衡因子,不平衡的节点又如何调整为平衡的呢?...删除节点可以看作包含插入节点的,因为删除一个节点后会从左右子树中拉上来一个节点,不会再从叶子节点从新计算高度了,而是从左右子树开始接着更新高度和计算平衡因子。 动画 Code ?

    85621

    动画 | 什么堆排序?

    构造堆有序阶段将原始数据重新组织安排到一个二叉堆中,堆有序就是一棵二叉树的每个节点都优先于它的两个子节点,不代表数组有序; 下沉排序阶段将二叉堆中取出优先级高的直至取出所有元素,得到数组有序结果。...构造堆有序的方式有两种,一种上浮,另一种下沉。这里以最大堆为例。 自低向上的堆有序化(上浮) 上浮某节点与其父节点的比较,如果某节点比其父节点要大,就通过交换的方式进行修复堆。...动画 http://mpvideo.qpic.cn/0af2d5f6ye6v6aykbadqqaidaehvfwpvk6d3ihsrbybqgbqfa4fq.f10002.mp4?...| 什么二叉堆?...动画 | 什么二分搜索树(二叉查找树)? 动画 | 什么选择排序?

    61020

    动画:什么 BF 算法 ?

    本文图解 什么 BF算法、KMP算法、BM算法 三部曲之一。...定义 Brute-Force算法,简称为 BF算法,一种简单朴素的模式匹配算法,常用于在一个主串 S 内查找一个子串 T 的出现位置。...它的核心思想与操作: 对于给定的主串 S 与子串 P ,主串 S 的长度为 N,子串 T 的长度为 M ; 首先,将 S[1] 和 T[1] 进行比较; 若相等,则再比较 S[2] 和 T[2] ,一直到...T[M] 为止; 若 S[1] 和 T[1] 不等,则 T 向右移动一个字符的位置,再依次进行比较; 动画演示 图片演示 ?...这种简单的丢弃前面的匹配信息 BF算法 之所以效率低效的一个重要因素。 KMP算法、BM算法 将在后续分别进行详细介绍,敬请关注。

    94320

    动画:什么散列表?

    开放寻址法一种解决碰撞的方法,对于开放寻址冲突解决方法,比较经典的有线性探测方法(Linear Probing)、二次探测(Quadratic probing)和 双重散列(Double hashing...)等方法。...线性探测方法 开放寻址法之线性探测方法 当我们往散列表中插入数据时,如果某个数据经过散列函数散列之后,存储位置已经被占用了,我们就从当前位置开始,依次往后查找,看是否有空闲位置,直到找到为止。...开放寻址法之线性探测方法的弊端 二次探测方法 二次探测二次方探测法的简称。...按照二次探测方法的操作,有冲突就先 + 1^2,8 这个位置有值,冲突;变为 - 1^2,6 这个位置有值,还是有冲突;于是 - 2^2, 3 这个位置空闲的,插入。

    1K10

    视频动画 | 什么希尔排序?

    上篇写的直接插入排序算法时间复杂度O(n^2),如果要令此排序算法的时间复杂度要低于O(n^2),必须“远距离的元素交换”使得这组元素能提高有序的程度,然后进行直接插入排序的时候可以减少交换的工作量...对这5组分别进行直接插入排序,在代码的进行中,它们都是穿插的进行直接插入排序,待会在下面视频动画可以看到。...(在做动画的过程中,中间出错了一个元素交换,已修正,播放的时候中间部分动作会有点赶)。...初次看这段公式的时候突然有点看不懂了,仔细看看原来中间还有个小逗号,意思这两个增量序列的并查集,拿到比length小的最大值(初始增量)就可以了。...——END—— 推荐阅读: 视频动画 | 什么插入排序? 视频动画 | 什么冒泡排序? 视频动画 | 什么快速排序? 视频动画 | 什么鸡尾酒排序?

    71320

    动画:什么基数排序?

    高清视频动画 实现代码 import java.io.*; import java.util.*; class Radix { // 获取数组中的最大值 static...当然彻底搞懂基数排序,前提你要清楚计数排序(Counting Sort),又到打广告的时间了,推荐看一下 漫画:什么计数排序?。...表示输入的数组当中最大值的位数(比如 802,3位, ),那么基数排序的时间复杂度就是 ,其中 表示数组的长度,而 则是表示一个数的基础,对十进制而言, ; 设 一个计算机可表示的最大整数...假设 取一个最大整数,其中 一个常量; 那么基数排序的时间复杂度就为 ,其中 和 都是常数,我们可以忽略不计,那么基数排序的时间复杂度就变成了 ,但是这依旧不比基于排序算法的最好时间复杂度

    1K10

    卷积核?动画演示

    什么卷积核 在数学上,卷积核的标准定义两个函数在反转和移位后的乘积的积分: 其中,函数g一般称为过滤器(filters),函数f指的是信号/图像。...单通道形式 对于具有1个通道的图像,下图演示了卷积的运算形式: 这里的filter一个3*3矩阵,步长1,填充为0。filter在输入数据中滑动。在每个位置,它都在进行逐元素的乘法和加法。...: 这里输入层一个5 x 5 x 3矩阵,有3个通道,filters3 x 3 x 3矩阵。...转置卷积相对正常卷积的相反操作,但它只恢复尺寸,因为卷积一个不可逆操作。下面通过一个例子来说明转置卷积的具体操作过程。...深度可分离卷积包括两个步骤:深度卷积和1*1卷积.下面一个深度可分离卷积的例子: 对于形状7*7*3的输入层,有3个通道。 第一步在输入层上应用深度卷积。

    17510

    动画 | 什么归并排序?

    递归方式自顶向下的归并排序,迭代方式自底向上的归并排序。这两种归并排序虽然实现方式不同,但是都是调用了核心的方法:归并操作。...归并操作merge 我们可以声明一个方法merge(数组对象, low, mid, high),假设array[low>>>mid]和array[mid+1>>>high]这两个序列都是有序的,在merge...根据merge方法代码里条件,有4个判断情形: 1.左半边用尽,取右边的元素; 2.右半边用尽,取左边的元素; 3.右半边的当前元素小于左半边的当前元素,取右半边的当前元素; 4.右半边的当前元素大于等于左半边的当前元素...| 什么堆排序?...动画 | 什么选择排序? 动画 | 什么希尔排序? 动画 | 什么插入排序? 动画 | 什么快速排序? 动画 | 冒泡排序只是简单的冒泡排序吗?

    65630

    视频动画 | 什么快速排序?

    视频动画 http://mpvideo.qpic.cn/0af2tmadya5vgdaabyfamciibigv3w7fqftgq3hwamhqadqoayga.f10002.mp4?...嗯看似一个好的方法,但是和上面大概率出现的最坏情况还是有可能发生的。每次选取枢轴值都有可能最大的或者最小的。...如果一次极端就算了,但是分三次取样还会碰到三次极端那显然微乎其微的。这样的方法增加选到好的枢轴的概率。 优化不必要的交换 回到基本的快速排序算法,回顾上面的视频动画。...这是一个很好的方法。我们把if改成while,然后一次递归之后,low已经没有用处了,所以把pivot+1赋值给low作为下一个参数。结果你也看到了,结果都相同。...因此采用迭代而不是递归的方法可以缩减堆栈深度,从而提高了整体性能。 ——END—— 推荐阅读: 视频动画 | 冒泡排序只是简单的冒泡排序吗?

    61810

    动画 | 什么基数排序?

    基数排序把每一个元素拆成多个关键字,一个关键字可以在每一个元素上同等的位置进行计数排序,一个元素拆成多个关键字可以看作要进行几轮分桶,以一个元素最长的长度为准。...基数排序的思想将待排序序列中的每组关键字进行桶排序。例如整数序列[103, 9, 1,7,11,15, 25, 201, 209, 107, 5]上每个位、十位和百位上的数字看成一个关键字。...基数排序有两种方式进行,一种LSD,从右边关键字开始排序,另一种MSD,从左边关键字开始排序。...b [1, 5, 7, 9] 递归 [1, 5, 7, 9, 15, 25, 103, 109, 209] ——END—— 推荐阅读: 动画 | 什么计数排序? 动画 | 什么归并排序?...动画 | 什么堆排序? 动画 | 什么选择排序? 动画 | 什么希尔排序? 动画 | 什么插入排序? 动画 | 什么快速排序? 动画 | 冒泡排序只是简单的冒泡排序吗?

    48310

    用计算机制作动画方法,电脑怎么制作flash动画?电脑制作flash动画方法

    大家好,又见面了,我你们的朋友全栈君。 Flash动画可以将音乐,声效,动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果。一些初学者想要用电脑制作flash动画,但是不知道怎么操作?...其实Flash做动画有很多种方法,但最主要的调关键帧,为此,大家一起看下电脑制作flash动画方法。...具体方法如下: win8.1 – 14 、首先,执行菜单操作:“开始”→“程序”→“Macromedia”→“Macromedia Flash 8”,如下图。...windows7 – 1、我们就开始制作一个简单的动画了,本动画,效果,从一个圆逐渐变成一个方形,在变的过程中,颜色还在跟着变哦。选择时间轴上的第1帧,如下图。然后,通过工具栏,在舞台中画出一个圆。...,第20帧个方形,那么,如何让他们产生动画呢?

    1.9K10

    视频动画 | 什么插入排序?

    插入排序比较简单也比较直接的一种排序算法。它是从一堆数据中取出一个数据并将它插入到已排序的数据中合适的位置。...如果我们只学了冒泡排序和快速排序,初始状态10,J,K,A,Q。 如果用冒泡排序或者快速排序去做的话,那就可能不合适。结果对,但是浪费了很多比较次数。...视频动画 http://mpvideo.qpic.cn/0af27pahzu5fqbiebqaaiaalbidvxuxiykuccijubmcqoaqlayfq.f10002.mp4?...回顾一下快速排序那篇文章,也使用了减少交换次数的方法。它是一个一个待比较完之后,定位最大的元素或者最小的元素,然后进行交换。 插入排序把待插入的元素做一个标记,和有序区一个一个元素去做比较。...视频动画 | 什么快速排序? 视频动画 | 什么鸡尾酒排序?

    49210
    领券