- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 矩阵转置算法,当不能把矩阵一次全部装入内存时
当不能把矩阵全部装入内存时,怎样求矩阵的转置呢?第一种方法:对元素Ai,j 计算j * col + i,并根据该值对矩阵元素进行排序,因此问题就转换为外排序,可得解。第二种方法:采用归并排序的思路,将第一行和第二行进行归并,A11A12A13A21A22A23归并后为A11A21A12A22A13A23同时将第3,4行进行归并....最后将第一趟的归并结果再次进行归并采用这种方法,只需对数据
2008-03-30 10:36:00 787
原创 对非负数排序n编码为p(n),编码要求如下:对于n,m ,n < m当且仅当p(n) 按字典顺序小于p(m),并且p(n)不能是p(m)的前缀
对非负数排序n编码为p(n),编码要求如下:对于n,m ,n 一个构造方法如下:p(0) = 0;p(1a) = 1p(|a|)a其中1a是正整数的通常的表示。这种构造方法通过在前面加1来实现非前缀的目的,证明如下:对于正整数a,b如果a和b没有上面的构造关系,即a != 1b,那么,p(a),p(b)不可能有前缀关系,由构造公式明显可得。对于a = 1b的,p(a) = 1p(b)b,唯一的
2008-03-30 10:31:00 972
原创 确定堆栈的增长方向
这个题在面试的时候被面过,当时给出的答案是比较两个本地变量的地址,面试官没有给出正确还是错误的答案,当时还以为答对了,今天突然看了一篇文章,发现错了,晕倒,错了大半年。一:为什么会错?编译器有各种各样的理由来乱排本地变量的顺序,按照使用频率等等,同时还要考虑段的问题,如果一个堆栈跨段时怎么办?等等二:可能的解决方案:比较函数的参数和本地变量,代码如下:void func(char* ptr1){
2008-03-23 15:00:00 2133
原创 解析(value=pair;)+的策略
第一,一般来说最后的那个分号是没有的第二,一般来说分割符也是不固定的,今天是=和;明天有可能就变成了=和:第三,代码要简洁下面说说我做这件事情的过程1.最早的时候时直接将分隔符嵌在代码里,并且采用了一个while循环后面加上处理最后一个对的方法,代码如下:char *begin = line,*end;while((end = strchr(line,:)) != NULL){ char
2008-03-18 00:06:00 535
原创 call exit and _exit in pthread
在pthread里call这两个函数,行为很怪异,下面慢慢道来 今天出了一个core,gdb一看这个core是由exit调用引起的,该exit是在一个pthread中调用的,于是查了一些资料,写了一些测试例子,但还是不能很圆满地解释,因此发帖询问。 问题描述:在线程中,先调用了printf打印一个字符串,由于异常情况,传入的指针在合法的范围内没有0,因此printf可能访问越界了, printf之
2008-03-14 13:29:00 757
原创 采用pthread实现线程库以及性能提升
最近工作需要,写了一个线程库,由于之前从没有真正写过,因此本次线程库的经历如下:1.用最简单的master(){lock();while(full(queue)) pthread_cond_wait();enqueue();unlock();pthread_cond_broadcast();}worker(){lock();while(empty(queue)) pthre
2008-03-13 23:55:00 1383
原创 pthread_cond_wait pthread_cond_broadcast pthread_mutex_lock
wait的时候会释放锁,从wait返回的时候会再次要求锁,如果不能得到锁,线程就不回被wake up,所以broadcast时的处理逻辑如下:1.所有线程被唤醒(或者是一个随机的线程),但只有一个线程能获取到锁,该线程醒来处理事务,或者再次wait或者处理完后unlock2.上个线程unlock或者wait后,锁被释放,另外的一个线程获取到锁,开始同样的操作3.这里注意的是任何一个线程醒来要么wa
2008-03-06 14:17:00 1177
原创 diif
对于给定的两个字符串,diff就是找出这两个字符串的最小差别,即最短的编辑距离,例如: S1: a b c d a S2: a c d a S1与S2的diff就是S2缺少一个b,最短的编辑距离也就是在S2插入一个b 这个问题与字符串的最长公共字串是等价的,假设S1与S2的公共字串为{(Xi1,Yj1),...,(Xin,Yjn)},i1 编辑距离为删除从S1中删除Xik与Xik+1中的字符并
2008-03-01 23:22:00 7228
Aggregated Search
2018-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人