介绍 当我们想在一个数组中查找一个元素的时候,最简单的方法莫过于顺序查找了,不过顺序查找有一个致命的缺点,就是它的性能太低了,比如说在 N 个数...
介绍 桶排序可以说得上是最简单的排序算法了,但是它的使用范围非常狭窄,不过不可否认的是在其适用范围内,它的性能要比快速排序还要快上很多倍。 没错...
介绍 比较型排序和非比较型排序 首先,比较型排序和非比较型排序有何不同呢?很简单,如果在排序过程中,需要比较数组中的元素大小,然后将元素放置在最...
1. 介绍 优先队列就是在我们插入一个元素的同时,赋予它一个优先级。相比于普通的队列,优先队列在有更广泛的用途。 比如在系统资源调度上,主程序就...
快速排序算的上目前使用最广泛的算法了,之所以它这么受欢迎,是因为它是原地排序,而且将长度为 N 的数组排序所需的时间和 NLogN 成正比。快速...
归并排序最吸引人的性质就是能够保证将任意长度为 N 的数组排序所需时间和 NLogN 成正比,它的主要缺点是所需的额外空间和 N 成正比。 其实...
准备 在实现排序算法之前,先介绍将用到的几个函数。比如说为了将数组中数字的顺序打乱,我们可能需要一个洗牌函数,为了记录代码运行的时间,我们需要一...
个人认为,算法是程序员的内功,不管你是能把 Java 或是 C # 玩出花来,也是需要注意提升一下内在修炼的。毕竟,只有深厚的内功才能把招式发挥...
最近在看 《程序员面试金典》,感觉书中的一些算法非常的精妙,所以本人对书中的每一个题目都着手实现了一遍,为了以后能够方便的重温这个知识,也为了能...
文集作者