![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
和风雨
这个作者很懒,什么都没留下…
展开
-
优先队列
很多情况下我们会收集一些元素,处理当前键值最大的元素,然后再收集更多的元素,再处理当前键值最大的元素,如此这般。在这种情况下,一个合适的数据结构应该支持如下操作:删除最大元素和插入元素。这种数据类型叫做优先队列。 优先队列基于有序数组和无序数组的实现都比较简单,我们主要介绍优先队列基于堆的实现。翻译 2016-09-24 19:28:41 · 614 阅读 · 0 评论 -
选择排序
原理:从序列中先找到最小(大)的,然后放到第一个位置。之后再看剩余元素中最小(大)的,放到第二个位置……以此类推,就可以完成整个的排序工作了。 public class Selection{ public static void sort(int[] a) { int len = a.length; for (int i = 0; i < len;原创 2016-09-24 19:16:04 · 298 阅读 · 0 评论 -
堆排序
堆的排序分为两个阶段。在堆的构造阶段中,我们将原始数组重新组织排进一个堆中;然后在下沉排序阶段,我们从堆中取出所有的元素并得到排序结果。翻译 2016-09-26 21:42:10 · 306 阅读 · 0 评论 -
快速排序
快速排序可能是应用最广泛的排序算法了。快速排序流行的原因是它适用于各种不同的输入数据并且在一般应用中比其他排序算法要快得多。快速排序引人注目的特点包括:它是原地排序(只需要一个很小的辅助栈),并且将长度为N的数组排序所需的时间和NlgN成正比。它的缺点在于非常脆弱,在实现时要非常小心才能避免低劣的性能。快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立地排序。快速排序将数组排序原创 2016-09-23 22:19:29 · 391 阅读 · 0 评论 -
SPOJ 02 Prime Generator
Peter wants to generate some prime numbers for his cryptosystem. Help him!Your task is to generate all prime numbers between two given numbers! Input The input begins with the number t of test cases原创 2016-11-19 18:38:24 · 388 阅读 · 0 评论 -
51Nod 1019 逆序数
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。 Input 第1行:N,N为序列的长度(n <= 50000) 第2 - N + 1行:序列中的元素(0 Output 输出逆序数原创 2016-11-20 16:30:05 · 265 阅读 · 0 评论