输入一个长度为n的整数数列,从小到大输出前m小的数。 输入格式 第一行包含整数n和m。 第二行包含n个整数,表示整数数列。 输出格式 共一行,包含m个整数,表示整数数列中前m小的数。 数据范围 1≤m≤n≤1051≤m≤n≤105,1≤数列中元素≤1091≤数列中元素≤109 输入样例: 5 3 4 ...
分类:
编程语言 时间:
2020-01-22 13:13:20
阅读次数:
61
排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序 :所有排序操作都在内存中完成; 外排序 :由于数据太大,因此 ...
分类:
编程语言 时间:
2020-01-22 13:11:28
阅读次数:
89
堆排序的实现如下,用法与qsort相似: static void swap(void* a, void* b, int size) { char t; do { t = *(char*)a; *(char*)a++ = *(char*)b; *(char*)b++ = t; } while (--s ...
分类:
编程语言 时间:
2020-01-22 12:42:56
阅读次数:
80
numpy.sort()函数 该函数提供了多种排序功能,支持归并排序,堆排序,快速排序等多种排序算法 使用numpy.sort()方法的格式为: + a:要排序的数组 + axis:沿着排序的轴,axis=0按照列排序,axis=1按照行排序。 + kind:排序所用的算法,默认使用快速排序。常用的 ...
分类:
编程语言 时间:
2020-01-21 13:16:03
阅读次数:
77
本题要求实现一个函数,求N个集合元素A[]的中位数,即序列中第?大的元素。其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Median( ElementType A[], int N ); 其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函 ...
分类:
其他好文 时间:
2020-01-19 15:17:35
阅读次数:
110
Heap.h 1 #include <algorithm> 2 #include <cassert> 3 4 using namespace std; 5 6 template<typename Item> 7 class MaxHeap{ 8 private: 9 Item *data; 10 i ...
分类:
编程语言 时间:
2020-01-19 09:51:43
阅读次数:
103
目录 堆的概念要点算法分析 堆排序算法的总体情况 时间复杂度 算法稳定性完整参考代码 JAVA版本参考资料相关阅读 说明 堆的概念 在介绍堆排序之前,首先需要说明一下,堆是个什么玩意儿。 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结 ...
分类:
编程语言 时间:
2020-01-16 10:30:47
阅读次数:
70
一说到排序算法,大部分人都会说出著名的万金油-快速排序、大数据分而治之-归并排序、大数据排名-堆排序。这些排序无论在面试还是实际项目中,都是经常用到的一些排序算法,其平均时间复杂度都在 O(N ? log2N),那今天我们就来介绍几种 O(N)的排序算法。 1,计数排序,输入 n 个范围在 0-k ...
分类:
编程语言 时间:
2020-01-15 19:31:52
阅读次数:
90
importjava.util.Arrays;publicclassTest{privatestaticvoidswap(int[]arr,inta,intb){inttmp=arr[a];arr[a]=arr[b];arr[b]=tmp;}privatestaticintparent(inti){return(i-1)>>1;}privatestaticintleft(inti){r
分类:
编程语言 时间:
2020-01-15 09:21:14
阅读次数:
88
题目描述 给定一组数据,使用堆排序完成数据的降序排序。(建小顶堆)。 输入 数据个数n,n个整数数据 输出 初始创建的小顶堆序列 每趟交换、筛选后的数据序列,输出格式见样例 样例输入 8 34 23 677 2 1 453 3 7 样例输出 8 1 2 3 7 23 453 677 34 8 2 7 ...
分类:
编程语言 时间:
2020-01-12 17:52:32
阅读次数:
70