最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python中使用插入排序算法的简单分析与代码示例

来源:动视网 责编:小采 时间:2020-11-27 14:36:46
文档

Python中使用插入排序算法的简单分析与代码示例

Python中使用插入排序算法的简单分析与代码示例:问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。 这很像打牌时的抓牌情况, 第一个条件:保持手上
推荐度:
导读Python中使用插入排序算法的简单分析与代码示例:问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。 这很像打牌时的抓牌情况, 第一个条件:保持手上


问题描述

将一组随机排列的数字重新按照从小到大的顺序排列。

插入算法

每次从数组中取一个数字,与现有数字比较并插入适当位置。

如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。

这很像打牌时的抓牌情况,

第一个条件:保持手上的牌的顺序是正确的
第二个条件:每次抓到新的牌均按照顺序插入手上的牌中间。
保证这两条不变,那么无论抓了几张牌,最后手上的牌都是依照顺序排列的。

Python 实现:

def insertion_sort(n):
 if len(n) == 1:
 return n
 b = insertion_sort(n[1:])
 m = len(b)
 for i in range(m):
 if n[0] <= b[i]:
 return b[:i]+[n[0]]+b[i:]
 return b + [n[0]]


另一个版本:

def insertion_sort(lst):
 if len(lst) == 1:
 return lst

 for i in xrange(1, len(lst)):
 temp = lst[i]
 j = i - 1
 while j >= 0 and temp < lst[j]:
 lst[j + 1] = lst[j]
 j -= 1
 lst[j + 1] = temp
 return lst

文档

Python中使用插入排序算法的简单分析与代码示例

Python中使用插入排序算法的简单分析与代码示例:问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。 这很像打牌时的抓牌情况, 第一个条件:保持手上
推荐度:
标签: 代码 实例 分析
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top