排序算法及其实现

在计算机科学中,排序算法是一种将一组数据按照特定顺序进行排列的算法。排序算法在日常生活和计算机科学中都扮演着重要的角色,例如在电子表格中对数据进行排序,或者在数据库中对记录进行排序。本文将介绍几种常见的排序算法,并使用Python代码进行实现。

冒泡排序(Bubble Sort)

冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的元素,并交换它们,直到整个列表排序完成。

python 复制代码
def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr

选择排序(Selection Sort)

选择排序是一种简单直观的排序算法。它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

python 复制代码
def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i+1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr

插入排序(Insertion Sort)

插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

python 复制代码
def insertion_sort(arr):
    n = len(arr)
    for i in range(1, n):
        key = arr[i]
        j = i-1
        while j >= 0 and key < arr[j]:
            arr[j+1] = arr[j]
            j -= 1
        arr[j+1] = key
    return arr

以上是三种常见的排序算法及其Python实现。每种排序算法都有其适用的场景和性能特点,选择合适的排序算法可以提高程序的效率。

相关推荐
budingxiaomoli3 分钟前
动态规划--斐波那契数列模型
算法·动态规划
IT猿手7 分钟前
多目标优化算法:多目标蛇优化算法(Multiple Objective Snake Optimizer,MOSO)(提供MATLAB代码)
开发语言·算法·matlab·动态路径规划·光伏模型参数估计
moMo15 分钟前
Python 的 dict 和 set —— 有无value的区别
python
编程探索者小陈15 分钟前
接口自动化测试(一)
python·测试
MegaDataFlowers25 分钟前
101.对称二叉树
算法
Jasmine_llq44 分钟前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑
峥嵘life1 小时前
Android 蓝牙设备连接广播详解-2026
android·python·学习
郝学胜-神的一滴1 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
csdn_aspnet1 小时前
javascript 算法 LeetCode 编号 70 - 爬楼梯
开发语言·javascript·算法·leetcode·ecmascript
shehuiyuelaiyuehao1 小时前
多线程入门
java·python·算法