- 博客(8)
- 资源 (8)
- 收藏
- 关注
原创 一个简单问题的并行算法
设一个数列S[N], 其中S[0] = 0; S[k] = S[k - 1] + k ( 1 对于这个问题的求解串行算法相当简单,O(N)时间复杂度,不再解释。 并行: 假设有 M 个线程, 其中 M S[K] = S[K - 1] + K = S[K - 2] + K - 1 + K = S[K - 3] + K - 2 + K - 1 + k ... = S[K
2012-01-30 16:48:19 1884 1
原创 读写锁算法
背景: 在多线程编程中经常面临这样一个问题,同一个数据可以被多个线程同时读取,但是同一时间只能有一个线程对共享变量进行写操作。 对该问题常用的解决方法时声明一个锁(互斥量)来对共享变量进行保护,这样每次只能有一个线程来对数据进行读写,会导致读取的效率低下。 读写锁: 读写锁算法主要实现对共享资源访问时,可以在多个线程间同时进行读操作,但是在同一时间内只能有一个线程对共享资源进行修改,并且在
2012-01-29 17:04:24 4126
原创 有序数组合并的并行算法(有一定限制)
如果A=(a1,a2,...,am)和B=(b1,b2,...,bn)是两个有序的升序数组,合并数组A和B就行形成一个新的升序数组包含A和B的有所有元素,假设A=(2,4,11,12,14,35,95,99),B=(6,7,9,25,26,31,42,85,87,102,105). 如果合并A和B的数组,串行算法会遍历两个数组,然后将数组元素存到数组C中,开始时设置两个指针,分别指向数组A和B的
2012-01-28 16:03:34 2937
转载 使用 /proc 文件系统来访问 Linux 内核的内容
这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 M. Tim Jones (mtj@mtjones.com), 资深首席软件工程师, Emulex 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段
2012-01-17 11:02:19 651
原创 判断少了哪一张牌
问题:有一副扑克牌(没有大小天王),随机从中抽出一张牌,问抽出的是哪一张牌(不管花色)? 请问,(1)如何设计一个算法能使得解决该问题的时间复杂度为O(N),空间复杂度为O(1)? (2)如果随机抽出两张不同的牌呢,如何确定? (1)提示:使用异或。 这个问题其实RAID3-6等4种方式使用的数据校验方式,可以恢复任意单个磁盘失效下的数据。
2012-01-07 21:02:28 2177
原创 一组字符串散列函数
unsigned int RSHash(const std::string& str) { unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; for(std::size_t i = 0; i { hash = hash * a +
2012-01-07 17:17:31 658
转载 [百度分享]频繁分配释放内存导致的性能问题的分析
现象 1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。 初步分析 majflt代表major fault,中文名叫大错误,minflt代表minor
2012-01-07 17:12:44 831 1
转载 win7 设置共享无线网络
适用范围: 1.WIN7平台电脑 2.笔记本或带有WIFI模块的台式电脑 3.搜索不到win7新建的临时网络的M9 生成wifi网络属性: 1.WLAN是802.11g标准 2.带宽为54Mbps 开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP) (再更新一个能使用的软件,不想麻烦的可以用软件哈~)
2012-01-03 00:00:44 12259 1
Real-Time-Rendering
2015-08-17
斐波那契堆
2011-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人