本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。1、插入排序描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^..
分类:
编程语言 时间:
2017-09-16 11:54:22
阅读次数:
188
题目大意: 求多个字符串的LCS。 思路: 同SPOJ-LCS2,不过因为SPOJ上数据比较水,当时用错误的写法过掉了,这次用正确的写法重新过了一遍。 拓扑排序按照每个状态的len值,用计数排序实现。 每个状态往上更新时,应该对std::min(s[p].maxlen,s[q].len)取max(每 ...
分类:
其他好文 时间:
2017-09-14 13:31:21
阅读次数:
266
直接做洛谷上面的快拍模板。。用了个log的小优化,时间瞬间优化三分之一。。 ...
分类:
编程语言 时间:
2017-09-13 11:56:33
阅读次数:
131
import math def radixSort(list, radix = 10): ''' math.ceil 为x取整,结果是不小于x的最小整数. math.log(x, a) 返回 log 以 a 为底 x 的对数,若不给定 a 则底默认为 e ''' k = int(math.ceil(... ...
分类:
编程语言 时间:
2017-09-08 23:03:22
阅读次数:
238
本文节选自:http://python.jobbole.com/82270/ 本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序 ...
分类:
编程语言 时间:
2017-09-06 10:03:05
阅读次数:
226
1,桶排序是稳定的 2,桶排序是常见排序里最快的一种,比快排还要快…大多数情况下 3,桶排序非常快,但是同时也非常耗空间,基本上是最耗空间的一种排序算法 思路: 给个数组a,遍历数组a,取出最大的数,申请一个新数组(桶数组),长度为最大的数加1。 将带排序数组中的数,映射到每个桶数组中,桶中记录个数 ...
分类:
编程语言 时间:
2017-09-05 17:51:31
阅读次数:
121
分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 1、冒泡算法(bubble)- -属 ...
分类:
编程语言 时间:
2017-09-05 13:31:16
阅读次数:
210
参考博客:常用排序算法总结(二) 计数排序 counting sort 1.计数排序是一种非常快捷的稳定性强的排序方法,时间复杂度O(n+k),其中n为要排序的数的个数,k为要排序的数的组大值。计数排序对一定量的整数排序时候的速度非常快,一般快于其他排序算法。但计数排序局限性比较大,只限于对整数进行 ...
分类:
编程语言 时间:
2017-09-05 01:49:27
阅读次数:
283
[Data Structure][Sort] ...
分类:
编程语言 时间:
2017-09-04 00:57:37
阅读次数:
156
1/排序算法:冒泡排序bubble sort,插入排序 insertion sort,选择排序 selection sort,快速排序 quick sort,归并排序 merge sort;堆排序 heap sort 基于排序 桶排序bucket sort 一种特殊情况下的排序。 2/实现 1)冒泡 ...
分类:
其他好文 时间:
2017-09-03 10:11:26
阅读次数:
207