八大经典排序基本思想和python实现

本文详细介绍了八大排序算法的基本思想和Python实现,包括直接插入排序、希尔排序、简单选择排序、堆排序、冒泡排序、快速排序、归并排序和基数排序。通过理解这些算法,可以提升编程能力并优化数据处理效率。
摘要由CSDN通过智能技术生成

一.   插入排序直接插入排序

思路:将待插入元素一个个插入到已有序部分

#直接插入排序
def insertSort(arr):
	if len(arr) <= 1:
		return
	for i in range(1,len(arr)):
		temp = arr[i]
		j = i
		while j > 0 and arr[j]>temp:
			arr[j] = arr[j-1]
			j -= 1
		a[j] = temp


.     插入排序希尔排序

思路:是直接插入排序算法的一种更高效的改进版本。先将待排序序列按某个增量dn/2,n为要排序数的个数)分成若干组子序列,对每组使用直接插入法排序,然后再用一个较小的增量(d/2)对它进行分组,重复直接插入排序,继续减少增量直至为1,算法终止

#希尔排序
def shellSort(arr):
	if len(arr) <= 1:
		return
	Increment = len(arr)/2
	while Increment > 0:
		for i in range(Increment,len(arr)):
			temp = arr[i]
			j = i
			while j>0 and arr[j-Increment] > temp:
				arr[j] = arr[j-Increment]
				j -= Increment
			arr[j] = temp
		Increment /= 2

 

三.   选择排序简单选择排序

 

思路:每趟从待排序部分选一个最小值,与待排序部分的第一个元素交换位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值