
算法
文章平均质量分 72
egraldloi
DBOSps:是博客更是笔记欢迎纠错
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多个线程barrier操作--条件变量
在多个线程协同工作时,有一种应用为,当多个线程都完成工作之后,才进行下一阶段的工作,最典型的为hashjoin算法中的build阶段并行化。在build阶段,多个线程同时读取一个relation建立hash表,在此我们不考虑线程之间写hash表冲突造成的性能降低。N个线程读relation然后build hash表,N个线程都完成工作之后,才能开始下一步的probe阶段,否则probe阶段“见原创 2014-03-26 22:54:59 · 1368 阅读 · 0 评论 -
归并排序C++版
归并排序首先找中间节点。如果是链表,利用快慢指针寻找中间节点,如果是数组,直接使用(start+end)/2找到中间节点位置,链表版本中,需要O(1)的空闲复杂度去存一个头节点,而数组版本,需要O(N)的空间复杂度需要构造一个缓存数组存下所有节点。两种版本的实现时间复杂度都是O(N*logN)。下面看代码原创 2014-07-15 09:19:40 · 821 阅读 · 0 评论 -
合并两个排序数组
这是leetcode中的合并两个排序数组的题目,题目为:A和B两个数组已经排序,A可以容纳A和B的数组,我的思路为:将A往后移,因为移动之后就不用再移动了,然后合并就不需要总是去赋值。原创 2014-07-31 13:58:25 · 971 阅读 · 0 评论