排序算法有很多种,下面列举几种:1.冒泡排序2.选择排序3.插入排序4.希尔排序5.快速排序6.归并排序1.冒泡排序#-*-coding:utf-8-*-defbubble_sort(alist):"""冒泡排序"""forjinrange(len(alist)-1):foriinrange(0,len(alist)-1-j):ifalist[i]>alist[i+1]:alist[i],a
分类:
编程语言 时间:
2019-05-15 14:26:22
阅读次数:
130
最近看了看基本的排序算法,简单的实现一个希尔排序动画,本人技术有限,哪里有问题欢迎指正 ...
分类:
编程语言 时间:
2019-05-14 09:49:15
阅读次数:
159
shell(希尔)排序是插入排序的一种,是直接插入排序算法的一种更高效的改进版本, 其思想是使数组中任意间隔h的元素都是有序的,其目的是为了减少元素的移动距离. array_0 = [12, 23, 54, 32, 11, 76, 5, 73,2, 89, 76,554,65,234, 42]she ...
分类:
编程语言 时间:
2019-05-10 20:38:32
阅读次数:
218
希尔排序(1)希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一 ...
分类:
编程语言 时间:
2019-04-26 18:21:18
阅读次数:
226
由于没考虑到一些情况,对以上一些算法做了改进和对比!以及昨晚把希尔排序写错而误以为其效率高过快速排序的糗事,今天一一做了更正和说明,如果你绝得本随笔不是很妥可以尝试看看这http://www.cnblogs.com/maxiaofang/p/3382927.html,有错误或不妥欢迎指正!!共同学习 ...
分类:
编程语言 时间:
2019-04-11 14:51:43
阅读次数:
167
排序算法可以说是一项基本功,解决实际问题中经常遇到,针对实际数据的特点选择合适的排序算法可以使程序获得更高的效率,有时候排序的稳定性还是实际问题中必须考虑的,这篇博客对常见的排序算法进行整理,包括:插入排序、选择排序、冒泡排序、快速排序、堆排序、归并排序、希尔排序、二叉树排序、计数排序、桶排序、基数 ...
分类:
编程语言 时间:
2019-04-06 17:10:00
阅读次数:
146
一.几种排序思想 1.交换排序:冒泡排序与快速排序 冒泡排序: 思想:比较相邻元素,违反排序顺序则交换,每次冒出一个最大值,直到所有相对的最大值冒出,完成排序。 最基本的排序,不必多说。 复杂度:最坏:O(n*n);最好:O(n);O(n*n)。 快速排序: 思想: 通过一趟排序将要排序的数据分割成 ...
分类:
编程语言 时间:
2019-04-05 00:45:33
阅读次数:
211
算法4 1.排序 选择排序: 每次获取最大的数,交换位置 插入排序: 把数字插入有序数组中 希尔排序: 有间隔并且间隔递减的 归并排序: 归并: 两个有序数组的合并成新的有序数组 ... ...
分类:
编程语言 时间:
2019-04-01 10:25:48
阅读次数:
135