Python排序选择排序、插入排序和希尔排序不是很理解,python希尔,我在书上看到的说明是:一
Python排序选择排序、插入排序和希尔排序不是很理解,python希尔,我在书上看到的说明是:一
我在书上看到的说明是:一般情况下选择排序慢于插入排序慢于希尔排序,可是我自己用Python测试了下,竟然是选择排序是最快的,希尔排序比插入排序稍微快一点。。
我自己分析原因可能是插入排序和希尔排序有太多交换元素的操作了,所以效率低,但书上说的是希尔排序会是最快的,请各位大神指点?
我的测试代码在这里:http://paste.ubuntu.com/8385144
从理论上讲理 选择排序<插入排序<希尔排序 但是实际耗时取决于样本和具体实现。
插入排序的的if语句应该写在内循环条件里面,你的插入排序时间复杂度和选择排序时间复杂度一样,所以慢
Java
/**
* Insertion sort based on exchange
* @param array, Array of Comparable to be Sorted
*/
public static void sort( Comparable[] array ){
for (int i = 1; i < array.length; i++) {
for(int j=i;j>0&&less(array[j],array[j-1]);j--){
exch(array, j, j-1);
}
}
}
说快慢是在基于时间复杂度、空间复杂度等等的条件,你不能说写个程序一侧看谁快,会有偶然性的,请从算法的性能因素方面来考虑
搞1w个用例测一下
编橙之家文章,
相关内容
- Python模块循环引用规范是怎么样的,python模块引用规范
- Sublime Text 2运行python报WindowsError错误原因是什么,pyth
- 问python文本内除空格方法,问python文本空格,比如:I[空
- Python判断用户IP安全合法性的方法是?,pythonip,如题,
- Discuz scrapy模拟登录Python源码如何写,scrapypython,向 Dis
- Python爬取百度指数数据思路,python爬指数思路,百度指数
- Python程序Sublime Text 3快捷键定义问题,pythonsublime,因为之
- 关于在android平台使用Python代码的小问题,androidpython,
- Python2版本列表推导二维数组问题求助,python2二维数组
- 如何调试Flask全其性能达到最佳,调试flask性能,有个需
评论关闭