Python---排序算法

这篇具有很好参考价值的文章主要介绍了Python---排序算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

Python中的排序算法用于对数据进行排序。排序算法可以使数据按照一定的规则进行排列,以便于数据的查找、统计、比较等操作。在数据分析、机器学习、图形计算等领域,排序算法也是非常重要的工具。


一.冒泡排序法

概述: 

    冒泡排序法是一种简单且常用的排序方法。其思想是依次比较相邻的两个元素,如果顺序不对,则交换它们的位置,直到所有元素都按照从小到大的顺序排列。以下是 Python 实现的冒泡排序

案例: 

def bubble_sort(arr):
    n = len(arr)
    # 遍历所有数组元素
    for i in range(n-1):
        # 每次遍历后,最大的元素会被沉到最底部,不需要再比较,所以只需要遍历 n-i-1 次
        for j in range(n - i - 1):
            # 如果前面的元素大于后面的元素,则交换它们的位置
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
 
# 测试
arr = [64, 34, 25, 12, 22, 11, 90]  #将数据存入容器
bubble_sort(arr)        #调用函数
print("排序后的数组:")
for i in range(len(arr)):
    print("%d" % arr[i])

 Python---排序算法,python,python,开发语言

 二.选择排序

概述:

  选择排序是一种简单的排序算法,在Python中可以用列表进行实现。其基本思想是:对于未排序的数组,从中选择最小的元素,然后将其放在数组的起始位置;接着从剩余未排序的元素中继续寻找最小的元素,然后放到已排序序列的末尾。不断重复这个过程,直到所有元素都排序完成。 

 实现过程:

  1. 从列表中选择最小值。
  2. 将最小值放在列表的第一个位置,也就是和第一个元素交换位置。
  3. 从剩余未排序的元素中继续找到最小值,放在已排序序列的末尾。
  4. 重复步骤 2 和 3,直到排序完成。
def select_sort(arr):
	for i in range(len(arr)-1): #定义循环的次数,7个数据遍历6次 len函数提取容器长度
		min = i    #假设当前的第一个值是最小值
		for j in range(i+1,len(arr)): #定义循环,第一次比较从第i+1个数依次进行比较
			if arr[j] < arr[min]:     #如果容器中第j位数字小于假设的最小值
				min = j               #则最小值是容器中的第j位数字,此时满足下面if条件进入if断断

		if min !=i:                   #如果最小值不等于假设最小值i
			arr[min], arr[i] = arr[i], arr[min]	#则交换数字的位置,将实际最小值左移	

arr = [64, 34, 25, 12, 22, 11, 90]
select_sort(arr)

print("排序后的数组:")
for i in range(len(arr)):
    print("%d" % arr[i])

 Python---排序算法,python,python,开发语言文章来源地址https://www.toymoban.com/news/detail-740631.html


总结

到了这里,关于Python---排序算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python算法——快速排序

    快速排序(Quick Sort)是一种高效的分治排序算法,它选择一个基准元素,将数组分成两个子数组,小于基准的放在左边,大于基准的放在右边,然后递归地排序子数组。快速排序通常比冒泡排序和选择排序更高效,特别适用于大型数据集。本文将详细介绍快速排序的工作原理

    2024年02月05日
    浏览(41)
  • Python---排序算法

    文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 Python中的排序算法用于对数据进行排序。排序算法可以使数据按照一定的规则进行排列,以便于数据的查找、统计、比较等操作。在数据分析、机器学习、图形计算等领域,排序算法也是非常重要的工

    2024年02月06日
    浏览(28)
  • 排序算法(python)

    连续的比较和交换相邻元素实现排序。 依次比较相邻的两个数, 每轮之后末尾 的数字是确定的。 时间复杂度为 O ( n 2 ) O(n^2) O ( n 2 ) ,空间复杂度为 O ( 1 ) O(1) O ( 1 ) ,稳定。 从未排序的区间选择最小元素,放在已排序区间的末尾 选择排序是每轮在剩余的元素中,找到最小

    2024年02月07日
    浏览(30)
  • python算法与数据结构---排序和归并排序

    掌握归并排序的基本原理 使用python语言解答归并排序题目 原理及过程 将两个有序的数组合并成一个有序数组称为 从上往下分解:把当前区间一分为二,直至分解为若干个长度为1的子数组 从上往下的合并:两个有序的子区域两两向上合并; 体现了分治思想,稳定排序 复杂

    2024年01月21日
    浏览(72)
  • 排序算法的巅峰之选:学习Python快速排序!

    快速排序(Quick Sort)是一种高效的排序算法,它的基本思想是通过分治的策略将一个大问题分解成小问题并解决。快速排序的核心操作是选取一个基准元素,将待排序序列划分成左右两部分,其中左部分的元素都小于基准元素,右部分的元素都大于基准元素。然后递归地对左

    2024年02月13日
    浏览(56)
  • 【python练习】三种排序算法

    测试时候有两个节点超时 测试时候有两个节点超时 上面仿照书本上的快速排序,但没太看懂,根据这个视频【Python小知识】星途文化_python19:快速排序的概念和实现学了一个不太一样的,迷惑 通过测试

    2024年02月08日
    浏览(22)
  • 常用排序算法汇总—Python版

    选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思路是将数组按顺序分成已排序部分和未排序部分,然后每次从未排序部分中选择出最小的元素,将其添加到已排序部分的末尾。重复这个过程,直到未排序部分为空,整个数组都已排好序。 冒泡排序(Bubble So

    2024年02月02日
    浏览(23)
  • Python实现常见的排序算法

    当涉及到排序算法时,一些常见的排序算法包括插入排序、选择排序、冒泡排序、快速排序、归并排序和堆排序。以下是使用Python实现这些常见排序算法的示例代码: 插入排序(Insertion Sort): 选择排序(Selection Sort): 冒泡排序(Bubble Sort): 快速排序(Quick Sort): 归并

    2024年02月11日
    浏览(31)
  • 【Python排序算法】一文掌握十大排序算法,冒泡排序、插入排序、选择排序、归并排序、计数排序、基数排序、希尔排序和堆排序

    目录 1 冒泡排序(Bubble Sort) 2 插入排序(Insertion Sort) 3 选择排序(Selection Sort) 4. 快速排序(Quick Sort) 5. 归并排序(Merge Sort) 6 堆排序 (Heap Sort) 7 计数排序 (Counting Sort) 8 基数排序 (Radix Sort) 9 希尔排序(Shell Sort) 10 桶排序     1 冒泡排序(Bubble Sort)        冒泡排序

    2024年02月08日
    浏览(55)
  • python详解(7)——进阶(1):排序算法

    目录 🏆一、前言 🏆二、什么是算法(简单) 🚩1、算法 🚩2、排序算法 🏆三、冒泡排序(中等)  🏆四、快速排序(困难) 🏆五:插入排序(中等)  🏆六、选择排序(适中)  🏆七、计数排序(困难)  🏆八:归并排序(超难) 🏆九:基数排序(困难) 🏆十:

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包