算法技巧
文章平均质量分 50
wustdatamining
这个作者很懒,什么都没留下…
展开
-
多核计算中多线程的退出算法
多核基本意味着多线程,那么在多线程处理中有一个比较棘手的问题:当存在一些常驻的线程访问的共享数据时,退出时必须先结束这些常驻线程才能对共享资料进行释放操作。否则,先释放这些共享资源,后面的常驻线程访问这些已经释放了的共享数据时,导致程序异常。比如下面的情况: 分析上述例子可以发现,问题出在当释放掉链表后,访问链表的线程依然存在,怎样才能在释放链表前让其转载 2012-04-28 09:34:44 · 576 阅读 · 0 评论 -
算法技巧总结
1.排序对算法性能的影响 大家都知道排序算法,这个应该不是很难了吧,技巧在于很多时候可以利用排序算法来提供性能,比如: 例1:给定一个数组a[n],求数组中是否存在两个数的和等于给定值sum并输出? 这个问题很常见,解决方法有很多种,这里我就不赘述。这里采用双指针遍历法的。数组不一定有序,我们这里先不假定排序(即里边的数据不是有序的),这时按照常规想法,原创 2012-04-29 09:12:44 · 442 阅读 · 0 评论 -
算法解析之大数乘法
我们知道,计算机存储的数值是有位宽限制的,比如char占一个字节,int占四个字节(先不考虑平台限制了)。总之一个数值总是有长度限制的。可我们在科学数值计算中,就会出现问题,比如一个位数为128位的数*一个位数为128位的数,先不说乘法的结果放在什么样的类型中长度是合适的。但就操作数本身而言,就没有数据结构来存。我们的思想是:利用字符串来存,每个操作数中一个数占一个字符。源码如下:int转载 2012-05-27 12:22:05 · 960 阅读 · 0 评论