2017-03-18 AnnatarHe
Array.prototype.sort 这个地方是实现不同而导致的问题,而且我认为这属于一个比较重大的坑。 表现上是:safari 和 chrome 两者的结果返回是不一致的。 // 在chrome中: [1, 10, 100].sort(x => 10 - x) // 继续阅读 »
2013-11-05 veryyoung
I have a class that needs to obtain a reference to it's application's AssetManager. This class does not extend any sort of android UI class, so it doesn't have a getContext() method, or anything similar. Is there some sort of static Context.getCurrentApplicationContext() type of method? To clarify: my class is inte 继续阅读 »
2016-03-30 craneyuan
位图排序简介 位图排序的直接思路是想通过有限位数(比如1位)去映射一个整数,从而节省存储空间,而间接带来的好处是给指定数据集合排序了。 实际案例介绍 本案例摘抄自《编程珠玑》一书。 输入: 所输入的是一个文件,至多包含n个正整数,每个正整数都要小于n,这里n=10^7。如果输入时某一个整数出现了两次,就会产生一个致命的错误。这些整数与其他任何数据都不关联。 输出: 以非递减形式输出经过排序的整数列表。 约束: 至多(大概)只要1MB的可用主存;但是可用磁盘空间非常充足。运行时间至多只允许几分钟;10分钟是最适宜的运行时间。 代码实现如下 more ``` java include include in 继续阅读 »
2016-05-07 YongHao Hu
C++
在C++03中, 标准容器提供了begin与end函数 vector v; int a[100]; sort(v.begin(), v.end()); sort(a, a+sizeof(a)/sizeof(a[0])); 为了统一数组跟容器的语法, C++11提供了begin()函数 继续阅读 »
2016-07-05 jude
这是一个基础算法系列,主题是:为什么知道原理还是写不出正确的程序呢? 第一篇已经写好,叫做我尝试去写快排,结果。。。。文章结构都差不多:原理、联想、用法、框架、分步实现、完整代码及测试用例。 原理 插入排序的原理是: - 将集合分为两个部分:已排好的部分和待排序的部分 - 每次从待排序部分抽一个元素跟已排好部分中的元素逐一比较,直到找到合适的位置,插入待排序元素 - 合适的位置可以是第一个比待排序元素小(大)的,也可能是已排好部分的下界 继续阅读 »
2016-07-07 jude
希尔排序不应该放在这个系列的,因为并不十分清楚它的原理,想要完整了解的朋友请看维基百科 下面是原理的简单解释: 继续阅读 »
2016-07-29 jude
原理 将待排序元素分为前后两部分,分别调用归并排序使它们有序 从头开始逐个比较前后两部分的元素,根据比较结果先后放进新数组,最终返回这个新数组 联想 归并排序用到了递归,递归终止的条件是待排序元素数量小于 2 归并排序比较之后不会交换元素,而是生成新的数组 继续阅读 »
2016-09-04 craneyuan
在了解堆排序之前,我们有必要清楚“什么是堆呢?”。 堆(英语:Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。 堆的逻辑定义: 堆的实现通过构造二叉堆(英语:binary heap),实为二叉树的一种;由于其应用的普遍性,当不加限定时,均指该数据结构的这种实现。这种数据结构具有以下性质。 任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。 堆总是一棵完全树。即 继续阅读 »
2013-03-07 刘太华
1,通常用到 perf sched record 收集系统相关的调度数据, 然后使用pert ached latency --sort max 来打印出收集到的信息,perf sched latency --sort max 展现的数据中各个column的含义如下: 继续阅读 »
2016-06-23 jude
《编程珠玑》第 32 页,提到:“尽管第一个二分查找程序于1946年就已经公布了,但是第一个没有 bug 的二分查找程序在 1962 年才出现。”还说参加课堂测试的专业程序员中, 90% 写的二分查找程序都有 bug 。 真的有那么难吗?我心血来潮,动手写起了快排(不要问为什么不是二分查找)。隐约记得快排的原理如下: 继续阅读 »