由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 有人了解并行算法么
相关主题
leetcode出新题啦[Algo] 检查一个树是另一个的子树
leetcode 运行结果和eclipse不一样???LA码农工资咋样?带点面经
发个Palantir的电面,并求g家onsite的blessYour mind must be fxxx up!
两个有点难度很有意思的题现在这些公司的面试机制很有问题
这个Binary Tree的题来看看微软面试的一道题
如何判断一个tree是另外一个tree的subtree?~~~~~~~~问个G家的题~~~~~~~~~~~
哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sortjunior level的工作对算法要求有多高?
判断一个树是不是另一个树的子树?买书给点意见
相关话题的讨论汇总
话题: sum话题: threads话题: 并行话题: thread话题: node
进入JobHunting版参与讨论
1 (共1页)
d********w
发帖数: 363
1
我记得linkedin有道题问
给个tree,让你把每个结点的值更新为自己子树的sum,
写个多线程版本,改怎么做么?
是不是还有并行的quicksort, mergesort
s******n
发帖数: 3946
2
假设K个线程,先BFS,得到K个子树后分别加,主程序等线程结束再累加。
排序的话就是先k个线程排序,再k-way merge吧。
d********w
发帖数: 363
3
先BFS,得到K个子树后分别加?还是不明白呢,能写过框架看看么

【在 s******n 的大作中提到】
: 假设K个线程,先BFS,得到K个子树后分别加,主程序等线程结束再累加。
: 排序的话就是先k个线程排序,再k-way merge吧。

s******n
发帖数: 3946
4
int sum = 0;
queue.add(root)
while (queue.size < K) {
node = queue.pop()
sum += node.value
queue.add(node.children)
}
create "queue.size" threads to sum each subtree
wait threads to finish....
for (int i=0; i P.S.没看见要求每个node都要标sum,这样的话最后一步复杂点

【在 d********w 的大作中提到】
: 先BFS,得到K个子树后分别加?还是不明白呢,能写过框架看看么
r**********g
发帖数: 22734
5
merge sort并行性能很好,quicksort 不是那么好并行滴

【在 d********w 的大作中提到】
: 我记得linkedin有道题问
: 给个tree,让你把每个结点的值更新为自己子树的sum,
: 写个多线程版本,改怎么做么?
: 是不是还有并行的quicksort, mergesort

d********w
发帖数: 363
6
我记得linkedin有道题问
给个tree,让你把每个结点的值更新为自己子树的sum,
写个多线程版本,改怎么做么?
是不是还有并行的quicksort, mergesort
s******n
发帖数: 3946
7
假设K个线程,先BFS,得到K个子树后分别加,主程序等线程结束再累加。
排序的话就是先k个线程排序,再k-way merge吧。
d********w
发帖数: 363
8
先BFS,得到K个子树后分别加?还是不明白呢,能写过框架看看么

【在 s******n 的大作中提到】
: 假设K个线程,先BFS,得到K个子树后分别加,主程序等线程结束再累加。
: 排序的话就是先k个线程排序,再k-way merge吧。

s******n
发帖数: 3946
9
int sum = 0;
queue.add(root)
while (queue.size < K) {
node = queue.pop()
sum += node.value
queue.add(node.children)
}
create "queue.size" threads to sum each subtree
wait threads to finish....
for (int i=0; i P.S.没看见要求每个node都要标sum,这样的话最后一步复杂点

【在 d********w 的大作中提到】
: 先BFS,得到K个子树后分别加?还是不明白呢,能写过框架看看么
r**********g
发帖数: 22734
10
merge sort并行性能很好,quicksort 不是那么好并行滴

【在 d********w 的大作中提到】
: 我记得linkedin有道题问
: 给个tree,让你把每个结点的值更新为自己子树的sum,
: 写个多线程版本,改怎么做么?
: 是不是还有并行的quicksort, mergesort

g*****e
发帖数: 282
11
这个准确的说是thread safe tree。可以建一个lock array,对应各个nodes,计算一
个subtree时,把subtree root和其他node都lock。

【在 d********w 的大作中提到】
: 我记得linkedin有道题问
: 给个tree,让你把每个结点的值更新为自己子树的sum,
: 写个多线程版本,改怎么做么?
: 是不是还有并行的quicksort, mergesort

e***s
发帖数: 799
12
大牛能不能详细讲解一下. 能递归下去的时候新建出线程来吗?
比如 root.Value = getSum(root.Left) + getSum(root.Right);
改成 root.Value = new Thread(getSum(root.Left)).Start() + new Thread(getSume
(root.Right)).Start();
g*****e
发帖数: 282
13
一楼的multi thread不是这么理解的把?我的理解是k个thread要update这个tree,不
受tree控制

getSume

【在 e***s 的大作中提到】
: 大牛能不能详细讲解一下. 能递归下去的时候新建出线程来吗?
: 比如 root.Value = getSum(root.Left) + getSum(root.Right);
: 改成 root.Value = new Thread(getSum(root.Left)).Start() + new Thread(getSume
: (root.Right)).Start();

1 (共1页)
进入JobHunting版参与讨论
相关主题
买书给点意见这个Binary Tree的题来看看
分享一道面试题如何判断一个tree是另外一个tree的subtree?
Uni_value subtree problem哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sort
问一个排序的问题判断一个树是不是另一个树的子树?
leetcode出新题啦[Algo] 检查一个树是另一个的子树
leetcode 运行结果和eclipse不一样???LA码农工资咋样?带点面经
发个Palantir的电面,并求g家onsite的blessYour mind must be fxxx up!
两个有点难度很有意思的题现在这些公司的面试机制很有问题
相关话题的讨论汇总
话题: sum话题: threads话题: 并行话题: thread话题: node