posted @ 2011-10-24 16:39 天地玄黄 阅读(4503) 评论(0) 推荐(0)
摘要:
数组a[N]1、使用i,j作为下标一次对比数组中的两个数。2、用最简单的方法找出数组中的最大最小数,时间为O(n)。然后建立一个binary array,用0代表某个数没有在数组a中,1代表在数组a中。这样就可以找到两个相同的数。时间为O(n)3、对数组排序,然后依次查看每个两个相邻的数即可。排序时间复杂度最小为O(nlogn)。总共时间为o(nlogn+n)。 阅读全文
摘要:
算法 BreadthFirstSearch(v) // 以序号为v的顶点出发,广度优先遍历图BFS1 [创建一个辅助队列] CREATE(Q). BFS2 [开始节点入队] Q <= v. BFS3 [创建辅助数组,记录哪些节点已经被访问] visited[]. BFS4 [初始化辅助数组] FOR i FROM 0 TO graphsize DO ... 阅读全文
posted @ 2011-10-12 17:09 天地玄黄 阅读(343) 评论(0) 推荐(0)
摘要:
算法 DepthFirstSearch(v, visited[]) // 以序号为v的顶点出发,深度优先遍历图 // visited[] 是一个辅助数组,用来记录哪些节点已经被访问DFS1 [打印当前节点] PRINT(v). visited[v] <- 1. DFS2 [获取当前节点的第一个相邻节点] w <- GetFirstNeighbor(v). ... 阅读全文
posted @ 2011-10-12 17:07 天地玄黄 阅读(272) 评论(0) 推荐(0)
摘要:
复制的代码有时候格式混乱。使用Ctrl+A把代码全选后,再按Alt + F8就可以调整到标准格式。 阅读全文
posted @ 2011-10-11 22:15 天地玄黄 阅读(16542) 评论(0) 推荐(0)
摘要:
一个数组,查找这个数组中最大的一个连续子数组。比如{1, 2, 3, –11},这个数组中最大子数组为{1, 2, 3}。 算法复杂度: O(nlgn) 伪代码: C代码: #include <stdio.h>typedef struct index { int left; int right; int sum;} index_t;index_t find_max_cros... 阅读全文
posted @ 2011-09-02 11:27 天地玄黄 阅读(2323) 评论(0) 推荐(1)
摘要:
ifconfig eth0 promisc 设置eth0为混杂模式。ifconfig eth0 -promisc 取消它的混杂模式可能需要加sudo 阅读全文
posted @ 2011-08-01 19:06 天地玄黄 阅读(2450) 评论(0) 推荐(0)
摘要:
这里用到的数据结构是pcap_dumper_t,这也是一个相当于文件描述符的东西,我们在用的时候先指定pcap_dumper_t *dumpfp; 使用两个函数来存储网络数据,一个是pcap_dump_open(),另一个是pcap_dump()。先用前一个函数打开一个文件,然后用后一个函数把网络数据写到这个文件中。最后用pcap_dump_close()这个函数把这个文件关闭。 函数原型如下:... 阅读全文
posted @ 2011-07-25 15:55 天地玄黄 阅读(8678) 评论(0) 推荐(0)
摘要:
设置过滤器要用到两个函数,一个是pcap_compile(),另一个是pcao_setfilter()。他们的函数原型如下所示: int pcap_compile (pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask) 1、p是一个打开的网络设备的描述符。 2、fp是一个指针,用来存储一个... 阅读全文
posted @ 2011-07-23 16:27 天地玄黄 阅读(7104) 评论(0) 推荐(0)
摘要:
这里需要特别强调的一个数据结构是pcap_t,它相当于一个文件描述符,代表一个已经打开的设备。我们对这个设备进行操作,就是对这个文件描述符进行操作。 首先是打开一个已知的设备,使用pcap_open()这个函数,其原型如下: pcap_t * pcap_open (const char *source, int snaplen, int flags, int read_timeout, stru... 阅读全文
posted @ 2011-07-23 10:54 天地玄黄 阅读(3090) 评论(0) 推荐(0)
摘要:
假设我们定义一个数组char a[16]; 那么a与&a分别代表什么呢?它们完全一样吗? a其实代表的是数组中首元素的地址,即a[0]的地址,&a代表的是整个数组的起始地址。我们做个测试就可以很容易知道。 我们分别测试a a+1 &a &a+1这四个值,它们分别为: a 0x0012fcc8 a+1 0x0012fcc9 &a 0x0012fcc8 &a+1 0x0012fcd8 a和&a的值虽... 阅读全文
posted @ 2011-07-23 10:19 天地玄黄 阅读(1118) 评论(1) 推荐(2)
浙公网安备 33010602011771号