算法说明

图书馆排序是插入排序的变种,典型的以空间换时间的一种方法。我个人感觉这种思路可以学习借鉴,但直接使用的场景应该不大。

我们知道,真正的插入排序通常往前边插入元素后,我们要把后边所有的元素后移。而图书馆排序的思路就是将每个元素后边都预留N个空间(例如预留10个元素空间),这样往某个元素前插入时,在预留空间足够的前题下,只会移动少少几个的元素。

代码

因为4月要考试,所以代码暂不写,以后有时间时补上

参考

http://www.cnblogs.com/kkun/archive/2011/12/05/2276411.html

Hark的数据结构与算法练习之图书馆排序相关推荐

  1. Hark的数据结构与算法练习之锦标赛排序

    算法说明 锦标赛排序是选择排序的一种. 实际上堆排序是锦标赛排序的优化版本,它们时间复杂度都是O(nlog2n),不同之处是堆排序的空间复杂度(O(1))远远低于锦标赛的空间复杂度(O(2n-1)) ...

  2. Hark的数据结构与算法练习之圈排序

    算法说明 圈排序是选择排序的一种.其实感觉和快排有一点点像,但根本不同之处就是丫的移动的是当前数字,而不像快排一样移动的是其它数字.根据比较移动到不需要移动时,就代表一圈结束.最终要进行n-1圈的比较 ...

  3. Hark的数据结构与算法练习之珠排序

    ---恢复内容开始--- 算法说明 珠排序是分布排序的一种. 说实在的,这个排序看起来特别的巧妙,同时也特别好理解,不过不太容易写成代码,哈哈. 这里其实分析的特别好了,我就不画蛇添足啦.  大家看一 ...

  4. Hark的数据结构与算法练习之希尔排序

    算法说明 希尔排序是插入排序的优化版. 插入排序的最坏时间复杂度是O(n2),但如果要排序的数组是一个几乎有序的数列,那么会降低有效的减低时间复杂度. 希尔排序的目的就是通过一个increment(增 ...

  5. Hark的数据结构与算法练习之计数排序

    算法说明 计数排序属于线性排序,它的时间复杂度远远大于常用的比较排序.(计数是O(n),而比较排序不会超过O(nlog2nJ)). 其实计数排序大部分很好理解的,唯一理解起来很蛋疼的是为了保证算法稳定 ...

  6. Hark的数据结构与算法练习之桶排序

    算法说明 桶排序的逻辑其实特别好理解,它是一种纯粹的分而治之的排序方法. 举个例子简单说一下大家就知道精髓了. 假如对11,4,2,13,22,24,20 进行排序. 那么,我们将4和2放在一起,将1 ...

  7. Hark的数据结构与算法练习之耐心排序

    算法说明 耐心排序是插入排序的一种,至少wikipedia是这么分的. 话说我明白这个算法的实现思路了,但是不明白这么做的意义何在? 如果明白的朋友帮忙留个言说一下,以后如果我明白的话,我会来修改这个 ...

  8. python程序结构有哪几种_Python数据结构与算法(几种排序)小结

    Python数据结构与算法(几种排序) 数据结构与算法(Python) 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺 ...

  9. 数据结构与算法:十大排序算法之归并排序

    数据结构与算法:十大排序算法之归并排序 package TopTenSortingAlgorithms;/*** 归并排序:Java** @author skywang* @date 2014/03/ ...

最新文章

  1. CAS、原子操作类的应用与浅析及Java8对其的优化
  2. shell usage file
  3. 谷歌浏览器查询缓存视频图片
  4. 作为 IT 行业的过来人,你有什么话想对后辈说的?2
  5. GridView 的EmptyDataText 及 EmptyDataTemplate
  6. powershell 安装mvn_Maven 安装好之后,命令行执行 `mvn -v` 提示“'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”...
  7. Oracle活动会话历史(ASH)及报告解读
  8. Matlab中的数据预处理-归一化(mapminmax)
  9. python之Django框架将sqliteman数据库数据显示在页面上
  10. PS 抠图如何使用通道法处理头发
  11. #web前端技术使用总结
  12. matlab修改证件照背景颜色
  13. Python文件名繁体转简体
  14. 什么是聚合页面?网站优化做聚合页面的好处
  15. 中棉所建议国家扶持棉花产业
  16. java中的守护线的应用_JVM中的守护线程示例详解
  17. Nand2Tetris - Week 1
  18. android端向后台传图片,Android前台从后台下载一张图片 以及 Android前台上传一张图片到后台...
  19. Poemscape|Beta阶段事后诸葛亮
  20. 计算机考研专用邮件模板!复试/调剂联系导师邮件怎么写?

热门文章

  1. 在有赞工作两年半的感受
  2. WPF整理-使用逻辑资源
  3. 【转】PYTHON open/文件操作
  4. 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
  5. java基础学习总结——对象转型
  6. 【转】python 和 cx_Oracle 的使用
  7. 百度痞哥:百度贴吧的回帖为什么没做点赞功能?
  8. 咖友推荐|我是窝窝酱,我来了,你在哪儿?
  9. 如何避免开发一款失败的产品?
  10. ROS学习笔记(一)