基础算法的Python实现
2016-10-18 16:38
393 查看
一、排序
1、冒泡排序:list=[2, 1, 3, 5, 10, 6, 4, 8, 7] def bubble_sort(list): length = len(list) while length>1: for i in range(length-1): if list[i]>list[i+1]: temp=list[i] list[i]=list[i+1] list[i+1]=temp length=length-1 return list
2、插入排序:(原理就是将数组分为三部分,[有顺序的数组][等待插入的元素][尚未插入的元素] ——将等待插入的元素插入第一部分,并排序,视作新的数组
def insert_sort(list): length=len(list) for i in range(0, length-1): key = list[i+1] while i >= 0: if list[i] > key: list[i+1] = list[i] list[i] = key i -= 1 return list
3、直接选择排序:
固定第一位,其余的依次与之比较:
def select_sort(list): list=[2, 1, 3, 5, 10, 6, 4, 8, 7] for i in range(length-1): for j in range(i+1, length): if list[i]>list[j]: list[i],list[j]=list[j],list[i] return list
相关文章推荐
- 零基础Python教程:如何实现PCA算法
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
- python实现基础排序算法之(冒泡排序)
- python实现基础排序算法之(插入排序)
- 算法基础——十种常用排序算法的Java及Python实现
- 深度学习基础系列(四)之 用 python 实现 KNN 算法
- <基础原理进阶>机器学习算法python实现【1】--分类简谈&KNN算法
- 算法基础之python实现枚举法中的熄灯问题
- 算法基础之python实现枚举法中的讨厌的青蛙的问题
- 算法基础之python实现递归法中简易连连看小游戏
- 算法基础之python实现递归法中棋盘分割问题
- python面试之算法基础(排序算法总结与实现)
- 算法基础之python实现动态规划中数字三角形和最长上升子序列问题
- 算法基础之python实现深度优先搜索中城堡问题
- 算法基础之python实现深度优先搜索的数独问题
- 算法基础之python实现贪心算法中圣诞老人分糖果问题和二分查找算法中烘干衣服问题
- 算法基础之python实现贪心算法中的雷达安装问题和二分法中誊抄书籍问题
- Python 算法基础 排序实现
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现