冒泡排序与快速排序的差异性

一冒泡排序与快速排序的简介

1 冒泡排序

冒泡排序:
冒泡排序是两个相邻的数两两进行比较:
如下图所示
第一轮排序后找出来了最大的数,并将最大的数放在了最后:
第二轮排序后找出来了最大的数,并将最大的数放在了最后:



进行n-1次排序后确定了位置:
那么通过下图可以看出最后几轮并没有对数字进行位置移动但是还是进行了程序的运算,那么这样就浪费了程序的运算,及空间的浪费。
在这里插入图片描述

在这里插入代码:
arr  = [3,6,4,2,11,10,5]
for i in range (0,len(arr)-1):
    for j in  range(0,len(arr)-i-1):
        if arr[j]>arr[j+1]:
            arr[j],arr[j+1]=arr[j+1],arr[j]
print(arr)

可看出是两两排序。

2 快速排序

快速排序
快速排序是对冒泡排序的优化
先找一个基准数字,及两个指针。
一个指针从左往右
一个指针从右往左

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据结构是计算机科学中一个重要的分支,涉及各种数据的组织、存储和管理方法。排序算法是数据结构中用的算法之一,在实际应用中也具有重要的作用。其中,冒泡排序快速排序是两种见的排序算法。 冒泡排序是一种简单且易于理解的排序算法,其基本思想是将相邻的元素进行比较并互换位置,从而将最大的元素逐渐冒泡到序列的最后。冒泡排序的时间复杂度为O(n^2),虽然实现简单,但在大量数据的情况下,其效率较低,不能满足实际应用的需求。 快速排序是一种加高效的排序算法,其基本思想是通过选取一个基准元素,将序列分成左右两个子序列,左子序列的元素均小于基准元素,右子序列的元素均大于基准元素,然后对左右子序列分别进行递归处理,直到子序列中只包含一个元素为止。快速排序的时间复杂度为O(nlogn),具有较快的速度,在大规模数据的情况下,其性能优于冒泡排序。 在实际应用中,选择哪种排序算法取决于排序的对象数量和性质。如果排序的数据较少,且要求排序过程简单、易于实现,可以选择冒泡排序;如果排序的数据较多,且要求排序速度快、效率高,可以选择快速排序。 在课设中,可以通过编程实现冒泡排序快速排序,并通过测试数据来比较两种排序算法的性能。可以使用同一组测试数据,在相同时间内比较两种排序算法所需花费的时间,从而得出两种算法的性能差异。此外,还可以比较两种算法所需的空间复杂度、稳定性等方面的性能差异,从而深入了解两种排序算法的优劣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值