- 博客(9)
- 收藏
- 关注
原创 Rabin-Karp字符串匹配算法
Rabin-Karp是一个不错的字符串匹配算法。wiki Rabin-Karp 理解之后,发现这种算法不仅在解决一维问题时十分有效,而且二维时也很不错。 #include #include #define PRIME 999999 #define max_n 4005 #define max_len 205 int len1,len2,len[max_n]; //char
2012-05-31 13:47:47 1191
原创 kmp浅解
kmp的详细算法解析参见Matrix67的博文kmp详解 根据这个详解所写的kmp 的c语言实现: #include #include #define max_n 4005 #define max_len 205 int len1,len2; char str1[max_len],str2[max_len]; //str1为被匹配字符串,str2为pattern char str[ma
2012-05-31 12:05:03 574
原创 生成一个序列的全排列
之前写过全排列的程序,昨天做poj 1731的时候又遇到了。发现自己以前把各个方法基本都试过了 。 这里总结一下下面几种方法: 方法一:把全排列转换为树的遍历,可以使用深度优先遍历,也可以使用广度优先遍历(需要存储大量中间数据,内存要求大)。具体实现可以用递归,也可用非递归。 方法二:根据当前的排列,交换元素,生成下一个,然后再生成下一个。。。。。。 比如有个字符序列acdef,当前排
2012-05-26 07:39:31 1326 2
原创 标准I/O函数库的缓冲
标准I/O函数库执行以下三类缓冲: 1,完全缓冲意味着只在出现下列情况时才发生I/O缓冲:缓冲区满,进程显示调用fflush,或者进程调用exit终止/标准I/O缓冲区的通常大小为8192字节。 2,行缓冲意味着只是在出现下列情况时才发生I/O:碰到一个换行符,进程调用fflush,或者进程调用exit终止 3,不缓冲意味着每次调用标准I/O输出函数都发生I/O 标准I/O库函数的大多数u
2012-05-24 22:49:42 905
原创 poj 1159 动态规划
这是一道基本的动态规划题,可惜我连一个正确的dp方法都没想出来。惭愧。 一直认为DP是几种编程思想里最难掌握的,“状态转移式子”很难总结出来。DP真的应该多练一练。 这道题的两个思路: 思路1:设min[i][j]表示字符串str[i~j]转化为对称串所需添加的最小字符数,则 当str[i]==str[j]时,min[i][j]=min[i+1][j-1]; 否则,min[i][j]=1
2012-05-16 13:21:45 725
原创 Unix网络编程上卷--第5章
在三路握手中,客户接收到三路握手的第二个分节时,connect函数返回,而服务器要直到接收到三路握手的第三个分节accept函数才返回(即connect返回之后再过一半RTT返回)。 使用命令: %:ps -A -o pid,ppid,tty,stat,args,wchan 查看进程的各个属性。 网络编程中可能会遇到的问题: 1,用fork子进程时,必须捕获SIGCHLD信号。(否
2012-05-10 15:16:42 879
原创 Unix网络编程上卷--第二章
TCP连接的建立:3次握手。 TCP连接的终止:4次应答。 TCP连接的终止挺难理解的。关键是要理解如果其中的每一步的消息丢失了会出现什么情况,而最关键的是理解TIME_WAIT状态。 TIME_WAIT之前的所有应答,如果对方在规定时钟时间内没有“回信”,则重新发送消息。但是最后一次服务器给客户发送FIN后,客户收到FIN要进入TIME_WAIT状态,而不是关闭,这是为什么呢
2012-05-07 22:01:04 788
原创 Unix网络编程上卷读书笔记--源代码的使用和第一章
毋庸置疑,W.RICHARD STEVENS是个计算机领域极少数的天才!他的书,每一本都是经典。 读计算机的书,最好的方法是一个人呆在安静的房间,抱着电脑,一遍看书,一遍敲源代码,推敲源代码。 Unix网络编程上卷,源代码的下载出版社官网下载 下载完之后,发现代码很多,很乱。其实,代码的使用非常简单。 按照文件夹里README文件里的“配置”方法,配置完之后,就可以使用里面的代码了
2012-05-06 20:59:11 1364
原创 fread fwrite 的使用
下面是一个用fread,fwrite向结构体中写入结构体,读出结构体的代码: #include #include #include #include struct stu { char name[20]; char sex[20]; int age; }; int save() { struct stu mystu[3]; FILE *fp;
2012-05-01 22:03:42 913
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人