1.介绍

在本教程中,我们将了解插入排序和气泡排序算法之间的相似性和差金宝搏官网188be异。我们将比较这些算法更好地了解他们的优缺点。

2.概述

首先,让我们记住这两种算法的工作原理。

2.1。插入排序

顾名思义,我们将阵列元素逐个插入正确的位置插入排序

为了一世迭代,初始I-1元素是排序的。我们放置一世分类部分中的元素并扩展。

2.2。泡沫排序

泡沫排序,我们比较相邻的元素并在需要时交换它们。之后一世迭代,最后一个I-1元素是排序的。

3.插入排序与泡泡排序

首先,让我们来比较算法的基本属性:

QuickLatex.com呈现

这两个算法都属于比较排序类。因此,基于比较来确定每个元素的位置。

它们是稳定的排序算法。因此,我们在排序过程中,我们不会交换具有相同值的键。结果,我们在最后保留了这些元素的初始排序。

算法之间的主要区别在于它们的方法。这两个算法都比较了元素来查找其订单。然而,在一世迭代,插入排序算法比较了一世第一个元素I-1元素。相反,在每次迭代中,气泡排序算法比较和互相互相元件。

这两种算法都有时间复杂mathcal {o}(n ^ 2)。因此,完成排序操作所需的时间是二次的:

QuickLatex.com呈现

类似地,两个算法的最佳和平均运行时复杂性是相同的。

而且,它们都有空间复杂性mathcal {o}(1)。因此,算法需要执行排序操作的额外空间并不与输入大小成比例。随着这两种算法执行到位,这是一个预期的结果。

在复杂性方面,这两种算法都表现得相同。

正如我们已经说明的那样,插入排序和气泡排序算法表现不同。对于每次迭代,插入排序会找到适当的位置一世在已经排序中的元素I-1元素,位于阵列的开头。相反,泡沫排序在每次迭代中进行比较和交换相邻元素:

QuickLatex.com呈现

结果,气泡排序比插入排序执行更多的交换操作。对于气泡排序算法,次数的次数导致更高的运行时。虽然这两个算法具有相同的复杂性,但运行时的差异会随着随机列表中排序的元素的数量而增长:

平均而言,与插入排序相比,气泡排序不良。由于次数次数大,预计会产生两倍的写入操作,以及两倍的缓存未命中。因此,我们不喜欢这种算法进行普通排序作业。

尽管如此,泡沫排序算法在计算机图形中有利。它适用于我们正在寻找小错误或当我们几乎排序的输入数据时。

总而言之,在大多数情况下,插入排序更好地执行。因此,它在教科书和现实生活中更受欢迎。

4。结论

在本文中,我们比较了两个基本排序算法:插入排序和泡沫排序。

它们都是众所周知的比较,就地,稳定的分类算法。这两种算法都很容易理解和实现。

两者都有类似的运行时复杂性。然而,对于较大的数据集,气泡排序算法变得慢。

来宾
0.注释
内联反馈
查看所有评论