当前位置:首页python > 正文

野牛程序员讲少儿编程之选择排序(Python版)

作者:野牛程序员:2025-03-14 13:16:49python阅读 2057
野牛程序员讲少儿编程之选择排序(Python版)

🐍 野牛程序员讲少儿编程之选择排序(Python版)

选择排序(Selection Sort)是一种简单直观的排序算法,适合少儿编程学习,因为它的逻辑清晰,步骤明确。


✨ 野牛程序员讲选择排序的思路

  1. 从头开始,找到最小的数,放到当前排序位置。

  2. 再从剩下的元素中继续找最小的数,放到正确的位置。

  3. 重复这个过程,直到所有元素都排好序


📌 选择排序可视化

以数组 [64, 25, 12, 22, 11] 为例:

轮次数组状态说明
初始64, 25, 12, 22, 11初始数组
第 1 轮11, 25, 12, 22, 64找到 11(最小),和 64 交换
第 2 轮11, 12, 25, 22, 64找到 12(最小),和 25 交换
第 3 轮11, 12, 22, 25, 64找到 22(最小),和 25 交换
第 4 轮11, 12, 22, 25, 6425 已经是最小值,不用换
结束11, 12, 22, 25, 64排序完成 ✅

🏆 Python 代码

def selection_sort(arr):
    n = len(arr)
    for i in range(n - 1):
        min_index = i  # 记录最小值索引
        for j in range(i + 1, n):
            if arr[j] < arr[min_index]:  
                min_index = j  # 更新最小值索引
        
        arr[i], arr[min_index] = arr[min_index], arr[i]  # 交换
        print(f"第 {i + 1} 轮排序: {arr}")  # 观察排序过程

# 测试代码
arr = [64, 25, 12, 22, 11]
print("原始数组:", arr)
selection_sort(arr)
print("排序后数组:", arr)

🚀 运行效果

原始数组: [64, 25, 12, 22, 11]
第 1 轮排序: [11, 25, 12, 22, 64]
第 2 轮排序: [11, 12, 25, 22, 64]
第 3 轮排序: [11, 12, 22, 25, 64]
第 4 轮排序: [11, 12, 22, 25, 64]
排序后数组: [11, 12, 22, 25, 64]

野牛程序员总结

  • 选择排序的核心思想:每轮找 最小值,放到正确的位置。

  • 适合少儿编程入门,逻辑简单,容易理解。

  • 但选择排序的 效率较低(O(n²)),对于大数据不适用。

学会了选择排序,后续可以尝试 冒泡排序、插入排序、快速排序,进一步提升算法能力!🔥


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 野牛程序员讲少儿编程之选择排序(Python版)
  • 相关推荐

    最新推荐

    热门点击