摘要:字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计、排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。其优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。根节点不包含字符,除根节点外每一个节点都只包含一个字符,每个节点的所有子节点包含的字符都不相同。从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。利用字典树查找字符串的过程,是从根节点开始,在根结点的子节点中寻找字符串的第一个字符,若找到节点,则从此节点开始进行字符串第二个字符的查找,这是一个反复、字符串逐
阅读全文
06 2012 档案
摘要:简单说一下popen()函数函数定义#include <stdio.h>FILE * popen(const char *command , const char *type );int pclose(FILE *stream);函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止状态。如果shell不能被执行,则pclose()返回的终止状态与shell已执行exi
阅读全文
摘要:原文链接:http://www.cnblogs.com/skyme/archive/2011/01/04/1925227.html如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.$ free -m total used free shared buffers cachedMem: 1002 769 232 0 62 421-/+ buffers/cache: 286 7...
阅读全文
摘要:一般,在开发测试阶段用debug版本,而上线发布用release版本。使用Makefile定制编译不同版本,避免修改程序和Makefile文件,将会十分方便。读了一些资料,找到一个解决方法,Makefile预定义宏与条件判断,结合make预定义变量,进行条件编译。比如,有一个test.cpp,包含这段代码#ifdef debug//your code#endif你希望在debug版本要执行它,在release版本不执行。我们可以写这样的一个Makefile: 1 ver = debug 2 3 ifeq ($(ver), debug) 4 ALL: test_d 5 CXXFLAGS = -.
阅读全文
摘要:原文链接:http://jakielong.iteye.com/blog/7716631. 用户态和内核态的概念区别究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子C代码voidtestfork(){if(0==fork()){printf(“createnewprocesssuccess!\n”);}printf(“testforkok\n”);}这段代码很简单,从功能的角度来看,就是实际执行了一个fork(),生成一个新的进程,从逻辑的角度
阅读全文