由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 算法--找一个unsorted array的largest and second largest 最
相关主题
问道算法题divide array into two, sum of difference is min in O(N)
问两道google题优步面试,哎。。。
跟人聊了一道题,怎么做最优。求教一个onsite面试题目
请教一个老算法题, k-th largest sum自己设计的一道面试题
周末上道题要去google onsite的同学们
平面上找离源点(0,0)最近的K个点除了K size Heap之外,有更高效的算法吗?算法题:两列找共同元素有O(n)的算法吗?
到底什么是priority queue啊?A家电面面经
问个面试题也来说道题
相关话题的讨论汇总
话题: largest话题: unsorted话题: second话题: compare话题: a2
进入JobHunting版参与讨论
1 (共1页)
i**9
发帖数: 351
1
大家都知道找最大值和最小值 的最佳比较次数 3n/2 (两两比较),找最大和次大的有
什么技巧吗?
u******e
发帖数: 758
2
merge sort?

【在 i**9 的大作中提到】
: 大家都知道找最大值和最小值 的最佳比较次数 3n/2 (两两比较),找最大和次大的有
: 什么技巧吗?

D***h
发帖数: 183
3
tournament tree

【在 i**9 的大作中提到】
: 大家都知道找最大值和最小值 的最佳比较次数 3n/2 (两两比较),找最大和次大的有
: 什么技巧吗?

g*****k
发帖数: 623
4
这个类似吧。
两两比较得到(a1, a2), (b1, b2),。。。
共比较n/2
比较a2和b2,
如果a2大,那么再比较a1和b2
如果b2大,那么再比较b1和a2
这一步比较2(n/2)次
一共比较3n/2

【在 i**9 的大作中提到】
: 大家都知道找最大值和最小值 的最佳比较次数 3n/2 (两两比较),找最大和次大的有
: 什么技巧吗?

c******a
发帖数: 789
5
build Heap
i**9
发帖数: 351
6
thanks, 总之,这个是要 extra memory, 这里有人提过不用extra memory ,我想了半
天也没想
出来,

【在 D***h 的大作中提到】
: tournament tree
x*****p
发帖数: 1707
7
It only need two extra-memory. Start with (a1,a2) with a1>a2. Then for each
a3, ..., an, compare at most twice to (a1,a2) and do corresponding
replacement. So the total comparison is at most 1 + 2(n-2) = 2n - 3 = O(n).
i**9
发帖数: 351
8
using tournament tree only n+ lgn -2 times of comparison are needed

each
O(n).

【在 x*****p 的大作中提到】
: It only need two extra-memory. Start with (a1,a2) with a1>a2. Then for each
: a3, ..., an, compare at most twice to (a1,a2) and do corresponding
: replacement. So the total comparison is at most 1 + 2(n-2) = 2n - 3 = O(n).

P********l
发帖数: 452
9
What is the memory requirement of your tournament?
If it is n, why not use heap? It just requires n times comparison.

【在 i**9 的大作中提到】
: using tournament tree only n+ lgn -2 times of comparison are needed
:
: each
: O(n).

g*********s
发帖数: 1782
10
2n -3 could be 33% slower than 1.5n solution, although both O(N).

each
O(n).

【在 x*****p 的大作中提到】
: It only need two extra-memory. Start with (a1,a2) with a1>a2. Then for each
: a3, ..., an, compare at most twice to (a1,a2) and do corresponding
: replacement. So the total comparison is at most 1 + 2(n-2) = 2n - 3 = O(n).

P********l
发帖数: 452
11
Compare one round for the largest, n-1.
Compare another round for the second largest, n-2.
1 (共1页)
进入JobHunting版参与讨论
相关主题
也来说道题周末上道题
昨天有人讲过的啥de啥的是怎么回事有人知道么平面上找离源点(0,0)最近的K个点除了K size Heap之外,有更高效的算法吗?
找最大、第二大元素问题到底什么是priority queue啊?
Google电面问个面试题
问道算法题divide array into two, sum of difference is min in O(N)
问两道google题优步面试,哎。。。
跟人聊了一道题,怎么做最优。求教一个onsite面试题目
请教一个老算法题, k-th largest sum自己设计的一道面试题
相关话题的讨论汇总
话题: largest话题: unsorted话题: second话题: compare话题: a2