深入理解 timsort 算法(1):自适应归并排序

如何找出Timsort算法和玉兔月球车中的Bug?

Java TimSort算法 源码 笔记

Timsort

https://en.wikipedia.org/wiki/Timsort

Timsort原理介绍

下面需要正确上网

timsort算是比较复杂的排序算法了(看懂了就不复杂了),但用处很广的一种排序算法。以下介绍一些学习timsort的资料(按我个人的学习顺序)1,https://vimeo.com/146478455 概要的讲解timsort的实现以及timsort的bugs,因为是视频,所以相比论文我觉得更快看得懂,没字幕,听不懂怎么办,没事,演讲者有一个文章重新梳理视频内容Proving that Android’s, Java’s and Python’s sorting algorithm is broken (and showing how to fix it)2,Tim peters自己写的论文 https://svn.python.org/projects/python/trunk/Objects/listsort.txt3,如果看得懂Java,可以看下java.util.Timsort这个类的源码那就更好了ps: timsort即使到了jdk1.8还是 Envisage 提出的bug还是没有修复

TimSort学习资料的更多相关文章

  1. webapi的学习资料

    猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...

  2. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  3. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  4. 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)

    其他网站开发相关资料            超强HTML和xhtml,CSS精品学习资料下载汇总                                               最新htm ...

  5. VC++/MFC(VC6)开发技术精品学习资料下载汇总

    工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...

  6. C/C++编程语言学习资料尽收眼底 电子书+视频教程

    Visual C++(VC/MFC)学习电子书及开发工具下载请看这里 史无前例的网络最全最强C/C++资料索引: C/C++编程语言学习资料尽收眼底 电子书+视频教程 VC++/MFC(VC6)开发技 ...

  7. yaf学习资料

    yaf学习资料 文档 鸟哥的官方文档 Yaf框架结合PHPUnit的集成测试 php yaf框架扩展实践六--单元测试.计划任务.第三方库等 php yaf框架扩展实践一--配置篇 yaf实战例子 y ...

  8. [整理]FPGA学习资料汇总

    01.特权同学倾情奉献海量FPGA学习资料 http://pan.baidu.com/s/1pJIb32F

  9. Python学习资料下载地址(转)

    [转]Python学习资料和教程pdf 开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingwa ...

随机推荐

  1. Tomcat 报错 记录

    Resource is out of sync with the file system: 该错误为替换了image中的图片而没有进行更新,造成找不到该资源,进而保存,解决只要eclipse刷新一下F ...

  2. Goldengate升级之目标端(replicat端)升级

    转自红黑联盟Goldengate升级之目标端(replicat端升级 要升级replicat端的原因为:目标端OGG软件版本与源端OGG软件版本不同,在实际生产应用中,经常发现replicat端事务丢 ...

  3. 参数转对象 类似 ?camera=1&travel=0&faceScore=1

    parseQueryString(url) { var obj = {}; var keyvalue = []; var key = "", value = "" ...

  4. 如何上传SNAPSHOT类型的JAR文件到nexus中

    在要上传的文件的目录中执行以下命令即可: mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.5.4 ...

  5. C++文本操作.Vs.Python

    C++利用文件流: (1):读取一个字符 std::string TestTxt(argv[3]); // freopen(TestTxt.c_str(),"r",stdin);/ ...

  6. 优动漫PAINT(clip studio paint)怎么画一幅水墨竹子图

    今天小编分享使用优动漫PAINT绘制一个水墨竹子教程,绘画的过程中我只用到了两个笔刷,即钢笔模式下的“美术字”和“效果线专用”,并且全程鼠标绘制哦,所以生疏的笔触效果大家见谅,没有数位板的小伙伴不妨试 ...

  7. IOS开发:使用lipo合并armv7,i386,armv7s库文件

    假设多个版本的lib分别是 libxxx.armv7.a , libxxx.armv7s.a, libxxx.i386.a我们的目标是 把他们合并成超级通用版的libxxx.a  打开命令行 Term ...

  8. WSDL详解(一)

    WSDL文档使用web服务描述语言来定义服务. 文档包括逻辑(抽象)部分和具体部分. 抽象部分用于定义独立于实现的数据类型和消息,具体部分定义一个endpoint如何实现一个可以与外界进行交互的服务. ...

  9. vue 动态添加路由 require.context()

    之前的写法 'use strict' import Vue from 'vue' import MessageBroadcast from 'page/MessageBroadcast' import ...

  10. maven 依赖的传递性

    1.如图我们有三个项目,项目Age,项目Bge,项目Cge 2.我们使Age项目依赖到Bge项目,Bge项目依赖到Cge项目 Age项目和Bge项目分别执行命令:mvn install  打包*.ja ...