自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

搜索引擎排序怎么整合垂直搜索的资源 Federated search is an information retrieval technology that allows the simultaneous search of multiple searchable resources. A user makes a single query request which is distributed to the search engines, databases or other query engines participating in the federation.

2018-10-15

简单的c编译器源码,生成汇编代码

网上找一个很简单的编译器源码,便于学习,使用lex和bison作为parser,包括完整的符号表,代码生成代码

2008-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除