算法
python 小学弟
这个作者很懒,什么都没留下…
展开
-
python 冒泡算法
python 冒泡算法import randomimport timedef bobbling(list): # 记录开始的时间 start=time.time() # 确定长度 n=len(list) # 外循环,提供无序部分的n值 while n>1: swap=False # 定义一个判断,证明最后一组比较是否有序...原创 2019-01-10 21:45:40 · 156 阅读 · 0 评论 -
python 选择排序
def select_sort(li): n = len(li) # j 代表当前有序序列的长度 for j in range(n-1): # 1 遍历无序序列,找到最小元素索引(比较,小则更新) min_index = j for i in range(j + 1, n): if li[i] <...原创 2019-01-13 11:50:32 · 102 阅读 · 0 评论 -
python 插入排序
#!/usr/bin/env python# -*- coding:utf8 -*-def insert_sort(li): n = len(li) # j代表有序序列的个数 for j in range(1,n): # 1 无序序列首个元素向前插入有序序列(反向遍历,前大后小则交换) for i in range(j, 0, -1)...原创 2019-01-15 12:05:54 · 198 阅读 · 0 评论 -
python 归并排序
#!/usr/bin/env python# -*- coding:utf8 -*-def merge_sort(li): n = len(li) if n <= 1: return # 1 递归分解,直到不能分为止 left = li[0: n // 2] right = li[n//2:n] merge_sort(...原创 2019-01-15 12:12:00 · 255 阅读 · 0 评论 -
python 二分法递归搜索
# 用于有序序列 li = 列表 ,itme = 查找元素 ,返回True or Falsedef dichotomy_seek(li,itme): n=len(li) if n<1: return False middle_pk=n//2 # 判断中间元素是否相等 if li[middle_pk]==itme: re...原创 2019-01-16 11:52:49 · 234 阅读 · 0 评论 -
python 二分法循环搜索
def dichotomy_seek(li, itme): n = len(li) # 确定搜索范围 start = 0 end = n - 1 # 开始循环 while start <= end: middle_pk = (start + end) // 2 if li[middle_pk] == itme:...原创 2019-01-16 12:18:11 · 147 阅读 · 0 评论