文章目录
前言
这篇文章主要介绍了如何用Python实现几种常见算法,文中代码简单易懂非常适合零基础刚刚入门的小伙伴,方便大家更好的学习~
一、选择排序
选择排序是一种简单直观的排序算法。它的原理是这样:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的后面,以此类推,直到所有元素均排序完毕。算法实现如下:
#找到最小的元素def FindSmall(list):
min=list[0] for i in range(len(list)): if list[i]<min:
min=list[i] return min
#选择排序def Select_Sort(list):
newArr=[] for i in range(len(list)):
minValue=FindSmall(list)
newArr.append(minValue)
list.remove(minValue) return newArr
testArr=[11,22,33,21,123]print(Select_Sort(testArr))
二、快速排序
快速排序的运行速度快于选择排序,
它的工作原理是这样:
设要排序的数组是N,首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。
可以使用python用递归式的方法来解决这个问题:
def Quick_Sort(list): if len(list)<2: return list else:
temp=list[0]
less=[i for i in list[1: