面试官爱问的10大经典排序算法,20+张图来搞定

本文详细介绍了10种常见的排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、计数排序、桶式排序和基数排序。每种算法都配有详细介绍、复杂度分析、过程示例和代码实现,帮助读者深入理解各种排序算法的原理和应用场景。

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

冒泡排序

简介

冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名冒泡排序

复杂度与稳定性

思路原理

以顺序为例

  1. 从第一个元素开始一个一个的比较相邻的元素,如果第一个比第二个大即a[1]>a[2],就彼此交换。

  2. 从第一对到最后一对,对每一对相邻元素做一样的操作。此时在最后的元素应该会是最大的数,我们也称呼一遍这样的操作一趟冒泡排序

  3. 针对所有的元素重复以上的步骤,每一趟得到的最大值已放在最后,下一次操作则不需要将此最大值纳入计算。

  4. 持续对每次对越来越少的元素,重复上面的步骤。

  5. 直到所有的数字都比较完成符合a[i]<a[i+1],即完成冒泡排序。

图示过程

以数组数据{ 70,50,30,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值