技术文摘
Python 实现选择排序(不使用 sort 函数)
2024-12-28 22:41:52 小编
Python 实现选择排序(不使用 sort 函数)
在 Python 编程中,排序算法是非常重要的基础知识。选择排序是一种简单直观的排序算法,它在不使用内置的 sort 函数的情况下,可以通过以下方式实现。
选择排序的基本思想是在每次遍历数组时,从未排序的部分中选择最小(或最大)的元素,并将其与当前位置的元素交换。通过多次重复这个过程,最终将数组排序。
以下是使用 Python 实现选择排序的代码示例:
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
# 测试选择排序
arr = [12, 11, 13, 5, 6]
selection_sort(arr)
print("排序后的数组:", arr)
在上述代码中,我们定义了一个名为 selection_sort 的函数,它接受一个数组作为参数。通过两层循环,外层循环控制排序的轮数,内层循环用于在每一轮中找到最小元素的索引。找到最小元素后,将其与当前位置的元素交换位置。
选择排序的时间复杂度为 $O(n^2)$,其中 $n$ 是数组的长度。这意味着对于较大的数组,选择排序的性能可能不如一些更高效的排序算法,如快速排序、归并排序等。然而,它的实现相对简单,易于理解,对于较小规模的数据集或者作为学习排序算法的基础,仍然具有一定的价值。
在实际应用中,根据具体的需求和数据规模,选择合适的排序算法是很重要的。如果对排序性能要求较高,可能需要考虑使用更复杂但效率更高的算法。但对于简单的场景,选择排序可以快速实现排序功能。
通过手动实现选择排序,我们可以更深入地理解排序算法的工作原理,为进一步学习和应用更复杂的算法打下坚实的基础。
- 优雅运用 loguru 进行日志输出
- Python 中 Logging 模块:一篇文章全搞定
- Chrome 95 的新特性亮点何在?
- 鸿蒙开源第三方的 SwipeCaptcha_ohos3.0 旋转验证组件
- 以下九个 Python 语法,你是否知晓?
- 开发者前行:Google 官方学习资源首次集结
- GitHub 2021 年度报告出炉:中国 755 万开发者位居全球第二
- Sentry 官方 JavaScript SDK 介绍及调试指引
- 这 11 个代码能极大简化我们的代码
- Python 代码的打包方法
- Postcss 插件快速入门:实现 Px 自动转换为 Rem
- CPU挖矿现内鬼,警惕!
- 两年隐藏的 Bug 终被清除,悲观锁并不简单
- 走进科学之神秘拖拽现象
- Json 序列化与反序列化的新奇玩法