由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教关于build heap BIG-O的问题
相关主题
twittier的onsite挂了,来问个常见题问两道google题
careercup书上那个maintain median value的题问一个面试经常问的ood,维护前k名的list的问题
发个evernote的code challenge请教一道题 median ii
上午偷闲把TopKFrequentWords写出来了An interview question of finding the median in a moving window.
也上一道算法题了(俺的版权了:))刚面的,发一个google新题
G家电面题目问道indeed面试算法题
Facebook Interview Questions问道面试题
再上到题发个amazon online test 的题
相关话题的讨论汇总
话题: parentmax话题: int话题: heapsize
进入JobHunting版参与讨论
1 (共1页)
d********i
发帖数: 582
1
小弟请大哥们指教,谢谢。
以下两种build heap的方法。
第一种用PriorityQueue建的heap,请问是O(n)还是O(nlogn)?
第二种不用PriorityQueue,请问是是O(n)还是O(nlogn)。
第一种:
PriorityQueue minHeap = new PriorityQueue();
for (int i : a) {
minHeap.add(i);
}
第二种:
public static void buildMaxHeap(int[] a) {
int i = (a.length - 1) >> 1;
while (i >= 0) {
maintainMaxHeap(a, a.length, i);
i--;
}
}
public static void maintainMaxHeap(int[] a, int heapSize, int i) {
int l = (i << 1) + 1;
int r = (i << 1) + 2;
int parentMax = i;
if (l < heapSize && a[l] > a[parentMax]) {
parentMax = l;
}
if (r < heapSize && a[r] > a[parentMax]) {
parentMax = r;
}
if (parentMax != i) {
swap(a, parentMax, i);
maintainMaxHeap(a, heapSize, parentMax);
}
}
J***o
发帖数: 553
2
第一种O(nlogn), 第二种O(n)
1 (共1页)
进入JobHunting版参与讨论
相关主题
发个amazon online test 的题也上一道算法题了(俺的版权了:))
问大家一个cpp中function pointer的问题G家电面题目
Two-Sigma面经Facebook Interview Questions
Amazon电面面经再上到题
twittier的onsite挂了,来问个常见题问两道google题
careercup书上那个maintain median value的题问一个面试经常问的ood,维护前k名的list的问题
发个evernote的code challenge请教一道题 median ii
上午偷闲把TopKFrequentWords写出来了An interview question of finding the median in a moving window.
相关话题的讨论汇总
话题: parentmax话题: int话题: heapsize