第七次作业

一、排序基础概念

  1. 排序定义:将 n 个数据按指定顺序(升序 / 降序)排列,如按学号对学生排序。
  2. 排序分类(按存储场景)
    • 内部排序:无需访问外存,仅在内存中完成排序(本次学习的所有算法均属此类)。
    • 外部排序:数据量过大,需借助外存(如硬盘)辅助排序,适用于大规模数据。
  3. 常用排序算法:冒泡排序、选择排序、插入排序、快速排序、希尔排序、归并排序(本次重点覆盖前 4 种)。

二、四大核心排序算法

1. 冒泡排序

核心思想

通过相邻元素两两比较,若为逆序(前元素 > 后元素)则交换,每趟将当前最大元素 “冒泡” 到数组末尾,逐步缩小未排序区间。

关键步骤
  1. 外层循环控制排序趟数(最多n-1趟,n为数组长度)。
  2. 内层循环遍历未排序区间,比较相邻元素并交换逆序对,每趟后未排序区间长度减 1(末尾已排好序)。

2. 选择排序

核心思想

优化冒泡排序的交换次数:每趟从未排序区间找到最小元素,与未排序区间的第一个元素交换,将最小元素 “选” 到已排序区间末尾,每趟仅需 1 次交换。

关键步骤
  1. 外层循环控制未排序区间起始位置(从 0 到n-2)。
  2. 内层循环遍历未排序区间,记录最小元素索引,遍历结束后交换 “最小元素” 与 “未排序区间第一个元素”。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值