# -*- coding:gb2312 -*-
'''
Created on 2010-7-29
@author: http://g-content.appspot.com
'''
#希尔排序
#定义一个数组
#lst = [81, 94, 11, 96, 12, 24, 17, 95, 28, 58, 41, 75, 15]
lst = [81, 94, 11, 96, 12, 35, 17, 95, 28, 58, 41, 75, 15]
ord = [5, 3, 1]
for i in ord:
#按当前序列值进行循环分组排序
for o in range(len(lst)):
#得到分组序号
grp = range(o, len(lst), i);
if len(grp) <= 1:
break;
#对当前分组进行插入排序
for c in range(1, len(grp)):
#获得当前分组最后一个值
last = lst[grp[c]]
#插入排序第n趟序列
n = range(1, c + 1)
#从右到左比较
n.reverse()
for f in n:
'''
由于n是针对分组的序列,所以实际值是lst[grp[f]]
'''
if lst[grp[f]] < lst[grp[f - 1]]:
lst[grp[f]] = lst[grp[f-1]]
lst[grp[f-1]] = last
print '第',i,'排序是',lst
分享到:
相关推荐
python 智能算法——简单例子蚁群算法.py
《数据结构与算法 Python语言描述》是裘宗燕编著的一本专著,它深入浅出地介绍了数据结构和算法的基础知识,特别是如何利用Python语言进行实现。这本书以高清且带有目录的形式,使得读者能够方便地查找和学习相关...
python 智能算法——粒子群算法简单例子
算法设计与分析课程——冒泡排序结果
《算法与数据结构课程设计——排序》 在计算机科学中,排序是处理数据的重要操作,尤其是在数据分析、数据库管理和算法效率优化等领域。本课程设计主要涵盖了五种常见的排序算法:冒泡排序、直接插入排序、简单选择...
希尔排序(Shell Sort)是一种基于插入排序的快速排序方法,由Donald Shell于1959年提出。它的主要思想是将待排序的数据按照一定的间隔进行分组,然后对每组进行插入排序,随着间隔逐渐缩小,最后进行一次全排列,...
数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法...
在Python环境中,这种算法通常与Jupyter Notebook结合使用,方便进行交互式编程和结果可视化。以下是对NSGA-II算法及其Python实现的详细说明。 **非支配排序遗传算法(NSGA-II)** NSGA-II是基于遗传算法(Genetic...
python 2048游戏核心算法(csdn)————程序
使用遗传算法实现 TSP 和 VRP 算法 TSP 和 VRP 的遗传算法 解决旅行商问题和车辆路线问题(TSP,VRP)的...修改上一步中开发的遗传算法的标准版本,仅选择以下选项之一: 具有不同种群大小的遗传算法 该想法是将
哈希(Hash)算法在密码学中扮演着至关重要的角色...在Python中,可以方便地利用`hashlib`库实现各种哈希算法,如MD5,SHA-1,SHA-256等,以满足不同安全需求。在选择哈希算法时,需要根据应用场景考虑其安全性和效率。
浙教版高中信息技术高一《算法与程序设计》——“选择排序”教学案例.pdf
python机器人编程——四轴UARM机械臂的运动控制(逆解)原理及python实现(下)对应源码
机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法。恰好遇见这本同样定位的...
在IT领域,排序算法是计算机科学的基础之一,尤其在编程语言如Python中,理解并能够实现这些算法对于提升代码效率和解决复杂问题至关重要。这里我们将深入探讨标题提及的七种排序算法的Python实现:冒泡排序、堆排序...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它基于分治策略,通常比其他O(n^2)时间复杂度的排序算法如冒泡排序、选择排序等更快。舍伍德在这个主题上进行的研究可能包括对快速排序...
在当前的计算机科学与技术及相关专业教学中,“算法分析”课程占据着核心的地位。它不仅仅是培养学生理论知识的基础,更是锻炼学生计算思维能力和问题解决能力的关键。然而,在教学实践中,教师和学生们普遍面临两大...
算法笔试题:(Python实现)—— 算法面试题汇总算法笔试题:(Python实现)—— 算法面试题汇总开始之前Python实现只出现一次的数字多数元素搜索二维矩阵 II合并两个有序数组鸡蛋掉落字符串Python实现验证回文串...
数据结构课程设计五——排序算法综合分析 该资源是一个数据结构课程设计的五个部分,主要讲解排序算法的综合分析。该资源涵盖了多种排序算法,包括直接插入排序、希尔排序、快速排序、冒泡排序、堆排序和归并法排序...
排序算法排序算法排序算法排序算法排序算法排序算法排序算法排序算法排序算法