排序算法 动态演示

本文详细介绍了冒泡排序的比较原理,桶排序的实际应用,选择排序的方法,插入排序的过程,快速排序的左右比较策略,以及归并排序和希尔排序的步骤。同时涵盖了基数排序的分桶过程和计数排序的工作方式。最后,堆排序也被纳入讨论。这些排序算法是数据结构和算法的基础,适合初学者和进阶者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序:

原理:两两相互比较排序;

桶排序:

举例将扑克进行整理,准备13个卡槽,然后看到A,就放到A里面,看到2就放到2里面;

选择排序:

插入排序:

快速排序:

左右两边比较,左小右大;

归并排序:

希尔排序:

(1)初始增量第一趟 gap = length/2 = 4

(2)第二趟,增量缩小为 2

(3)第三趟,增量缩小为 1,得到最终排序结果

 

基数排序:

基数排序适合于有不同位数的大小数字,例如以下数列:

在这里插入图片描述

核心思想是:
先找十个桶:0~9
第一轮按照元素的个位数排序
桶内分别存放上述数组元素的个位数,按照数组元素的顺序依次存放

在这里插入图片描述

之后,按照从左向右,从上到下的顺序依次取出元素,组成新的数组。

在这里插入图片描述

在新的数组中,进行第二轮,按照十位数排序,依次存放于桶中:

在这里插入图片描述

按照之前的顺序取出,组成新的数组。
进行第三轮,按照百位数排序:

在这里插入图片描述

将百位数的元素取出之后,我们发现新的数组已经变成了有序数组

在这里插入图片描述

计数排序:

堆排序:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值