Python实现排序算法
来源:互联网 发布:vue.js 实现网页下载 编辑:程序博客网 时间:2024/05/22 12:20
快速排序
def quick_sort(lists, left, right): if left >= right: return lists key = lists[left] low = left high = right while left < right: while left < right and lists[right] >= key: right -= 1 lists[left] = lists[right] while left < right and lists[left] <= key: left += 1 lists[right] = lists[left] lists[right] = key quick_sort(lists, low, left - 1) quick_sort(lists, left + 1, high) return lists
插入排序
def insert_sort(lists): count = len(lists) for i in range(1, count): key = lists[i] j = i - 1 while j >= 0: if lists[j] > key: lists[j + 1] = lists[j] lists[j] = key j -= 1 return lists
归并排序
def merge(left, right): i, j = 0, 0 result = [] while i < len(left) and j < len(right): if left[i] <= right[j]: result.append(left[i]) i += 1 else: result.append(right[j]) j += 1 result += left[i:] result += right[j:] return resultdef merge_sort(lists): if len(lists) <= 1: return lists num = len(lists) / 2 left = merge_sort(lists[:num]) right = merge_sort(lists[num:]) return merge(left, right)
希尔排序
def shell_sort(lists): count = len(lists) step = 2 group = count / step while group > 0: for i in range(0, group): j = i + group while j < count: k = j - group key = lists[j] while k >= 0: if lists[k] > key: lists[k + group] = lists[k] lists[k] = key k -= group j += group group /= step return lists
阅读全文
0 0
- 排序算法python实现
- 排序算法Python实现
- Python实现排序算法
- 排序算法python实现
- 直接排序算法python实现
- python 实现插入排序算法
- 基本排序算法:Python实现
- python实现各种排序算法
- python实现排序算法目录
- 排序算法总结-python实现
- python实现常见排序算法
- Python实现快速排序算法
- python实现快速排序算法
- Python:经典排序算法实现
- python实现经典排序算法
- python实现各种排序算法
- python实现各种排序算法
- python实现常用排序算法
- 【算法】找零钱-动态规划实现过程解析
- python __name__ = '__main__'的作用
- C# json数据流解析,可解决粘包、断包、坏包问题
- BZOJ 2243 浅谈树链剖分+线段树
- mycat全局表实战应用简析(下):多节点自增字段的处理
- Python实现排序算法
- CSS实现单行、多行文本溢出显示省略号(…)
- 用GridView来显示文件链接
- selenium学习---1
- web.xml配置详解
- Kotlin学习(7)高阶函数和函数类型
- tensorflow学习
- 标准库中的集合与映射
- 关于国密算法 SM1,SM2,SM3,SM4 的笔记