随笔分类 -  计算机知识点转载

KMP字符串模式匹配详解(转)
摘要:来自CSDN A_B_C_ABC网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一.简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/*若串S中从第pos(S的下标0≤posS[0]!= S[1],S[1] != S[2],所以S[1]!= T[0],S[2] != T[0].还是从理论上间接比较了。有人疑问又来了,你分析的是不是特殊轻况啊。假设S不变,在S中搜索T=“abaab 阅读全文

posted @ 2013-07-08 17:11 wickedboy237 阅读(246) 评论(0) 推荐(0)

vim配置vimrc详解(转)
摘要:vimrc的存放位置:系统vimrc文件:"$VIM/vimrc"用户vimrc文件:"$HOME/.vimrc"用户exrc文件:"$HOME/.exrc"系统gvimrc文件:"$VIM/gvimrc"用户gvimrc文件:"$HOME/.gvimrc"系统菜单文件:"$VIMRUNTIME/menu.vim"$VIM预设值:"/usr/share/vim"vimrc文件内容:"是否兼容VI,compatible为兼容,nocompatibl 阅读全文

posted @ 2013-07-05 10:54 wickedboy237 阅读(676) 评论(0) 推荐(0)

linux-grep【正则搜索文本】
摘要:http://man.chinaunix.net/newsoft/grep/open.htm1 grep简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包 括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也 阅读全文

posted @ 2013-05-23 18:46 wickedboy237 阅读(341) 评论(0) 推荐(0)

linux内存管理浅析
摘要:[地址映射](图:左中)linux内核使用页式内存管理,应用程序给出的内存地址是虚拟地址,它需要经过若干级页表一级一级的变换,才变成真正的物理地址。想一下,地址映射还是一件很恐怖的事情。当访问一个由虚拟地址表示的内存空间时,需要先经过若干次的内存访问,得到每一级页表中用于转换的页表项(页表是存放在内存里面的),才能完成映射。也就是说,要实现一次内存访问,实际上内存被访问了N+1次(N=页表级数),并且还需要做N次加法运算。所以,地址映射必须要有硬件支持,mmu(内存管理单元)就是这个硬件。并且需要有cache来保存页表,这个cache就是TLB(Translation lookaside bu 阅读全文

posted @ 2013-05-12 23:36 wickedboy237 阅读(237) 评论(0) 推荐(0)

linux解压 tar命令
摘要:tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 例如使用『 ta.. 阅读全文

posted @ 2013-05-09 19:09 wickedboy237 阅读(225) 评论(0) 推荐(0)

epoll函数知识点
摘要:epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这个数目,但这 阅读全文

posted @ 2013-04-18 13:43 wickedboy237 阅读(163) 评论(0) 推荐(0)

给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
摘要:问题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。解答:假设我们要等概率生成一个3位的10进制数(000-999),我们可以在随机生成整数0到9的函数基础上,随机生成3个数字组成三位数就得到了结果。这里类似,我们首先必须认识到:任何一个数都可以用5进制的数来表示,如12=5进制(22)=2*5+2。因此假设我们要随机生成[0,444]范围的数,我们只要随机生成3个5进制的数字组合就可以。这里的主要问题是:7不是5的幂次方。但是我们可以将某一个5的幂次方均分成7段(分别为0-6,等概率的落到每一段),利用5进制随机成一个数,看这个数在哪一个段,就代表我们要生成哪一个数字,这样 阅读全文

posted @ 2013-04-12 23:28 wickedboy237 阅读(356) 评论(0) 推荐(0)

导航