Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element. For exam ...
分类:
其他好文 时间:
2016-11-22 12:39:38
阅读次数:
160
using System;using System.Collections;namespace Sort{ public class HeapSorter { public ...
分类:
编程语言 时间:
2016-11-19 10:11:57
阅读次数:
213
最近在看《算法笔记》,如果单从算法来说,这本书真正做到了短小精悍,首先以排序入题,那么我们今天也来说说排序。排序将一堆杂乱无章的元素按照某种规则有序排列的过程就叫“排序”.排序是一种非常基础的算法,有...
分类:
编程语言 时间:
2016-11-18 18:58:47
阅读次数:
269
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。 堆排序有点类似选择排序,都是每次选出最大的数或最小的数。 对于堆,由于其根节点为堆中最大的节点,因此每次只需取出其根节点,然后重新建堆,再重复前面操作 故按如下步骤: 首先可以看到堆建好之后堆中第0个数据是堆中最大 ...
分类:
编程语言 时间:
2016-11-17 01:02:28
阅读次数:
323
## 2016年11月15日### 傲世堂 电话面试- 第一个问题是前15%输出多少,20%输出多少,问你平均数多少。第一题愣是没懂啥意思,结果面试官说,那好跳过这一题。- 后面问了图的存储结构有哪些?- 堆排序和快排序的时间复杂度分别是多少?- map和set中哪一个可以由另一个得到?- 四个随机 ...
分类:
编程语言 时间:
2016-11-15 20:05:11
阅读次数:
224
选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++ 陌陌说:选择排序(包含shaker排序/堆排序)和冒泡排序都属于交换排序的一种 ...
分类:
编程语言 时间:
2016-11-15 14:32:33
阅读次数:
174
高精度 a.加法 b.减法 c.乘法(应该只会有高精乘单精) d.高精度除单精 (后面c,d考的可能性较小,应该只考a,b) 排序算法 a.选择排序 b.插入排序 c.hash排序 d.归并排序(单纯的排序可能用不到,有快排就行了,但是归并排序的思想很重要) e.堆排序 f.快排 字符串匹配算法 a ...
分类:
其他好文 时间:
2016-11-12 16:39:42
阅读次数:
271
与归并排序一样,但不同于插入排序,堆排序的时间复杂度为O(nlgn)。与插入排序一样,但不同于归并排序,堆排序具有空间原始性,即排序过程中只需要常数个额外的元素空间来存储临时数据。 1、堆是一个数组,它可以看成一个近似的完全二叉树,树上的每个节点对应着数组中的每个元素。对于一个给定下标为 i 的元素 ...
分类:
编程语言 时间:
2016-11-09 20:08:08
阅读次数:
316
输出结果: Original array:40 44 11 43 25 0 7 14 34 14 build_max_heap: 44 43 11 40 25 0 7 14 34 14 Sorted array: 0 7 11 14 14 25 34 40 43 44 ...
分类:
编程语言 时间:
2016-11-09 20:00:35
阅读次数:
185
基本思想 堆排序是一种树形选择排序,是对直接选择排序的改进。 首先,我们来看看什么是堆(heap): (1)堆中某个节点的值总是不大于或不小于其父节点的值; (2)堆总是一棵完全二叉树(Complete Binary Tree)。 完全二叉树是由满二叉树(Full Binary Tree)而引出来的 ...
分类:
编程语言 时间:
2016-11-09 12:45:38
阅读次数:
344