管道是unix ipc最古老的形式,所有unix系统都提供此通信机制。
管道的两种限制:
1 半双工,数据单方向流动。
2只能用于具有公共祖先的进程之间。需要双方通信时,需要建立起两个管道。
例外:流管道没有限制1,FIFO和命名管道没有限制2。
管道是一个文件,但它不属于某种文件系统,而是单独构成一种文件系统,并且只存在与内存中。
管道有pipe函数建立:
#i...
分类:
系统相关 时间:
2016-05-13 00:43:46
阅读次数:
271
/************************************************************************/
/*
非递归的方法
下面是一个简单的复杂度为 O(n) 的算法,解决LCA问题
1) 找到从根到n1的路径,并存储在一个向量或数组中。
2)找到从根到n2的路径,并存储在一个向量或数组中。
3) 遍历这两条路径,直到遇到一个不同的节点,则前面的...
分类:
其他好文 时间:
2016-05-12 14:44:23
阅读次数:
347
点击打开链接
题意:给一个图,然后依次加进去边,问每次加过边后还有几个桥,之前加入的会影响后面加入的
思路:先将图的桥全部找出来,然后将桥的点标记上,然后不需要缩点,直接进行裸的LCA,再找最近公共祖先的时候,遇到标记的点将结果减1,然后将标记取消,不知道为什么我写的跑的特别慢,别人写的都很快,有神犇知道求指教
#include
#include
#include
#includ...
分类:
其他好文 时间:
2016-05-12 12:09:56
阅读次数:
155
1、 概述 LCA(Least Common Ancestors),即最近公共祖先,是指这样一个问题:在有根树中,找出某两个结点u和v最近的公共祖先(另一种说法,离树根最远的公共祖先)。 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n ...
分类:
其他好文 时间:
2016-05-10 09:41:35
阅读次数:
246
创建二叉树,遍历二叉树.详细介绍了层次遍历和后序遍历的应用.
层次遍历:树的高度,树的宽度,每一层节点个数等
后序遍历:根节点到某节点的路径,两个节点的最近公共祖先等....
分类:
其他好文 时间:
2016-05-07 10:01:54
阅读次数:
173
题目描述
小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中,但这是为什么呢?
“为什么呢?”小Hi如是问道,在他的观察中小Ho已经沉迷这个网站一周之久了,甚至连他心爱的树玩具都弃置一边。
“嘿嘿,小Hi,你快过来看!”小Ho招呼道。
“你看,在这个对话框里输入我的名字,在另一个对话框里,输入你的名字,再点这个查询按钮,就可以查出来……什么!我们居然...
分类:
其他好文 时间:
2016-05-07 09:59:25
阅读次数:
156
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 ...
分类:
其他好文 时间:
2016-05-06 19:09:48
阅读次数:
164
题意:给一个有根树,一个查询节点(u,v)的最近公共祖先; 分析:最基础的LCA ...
分类:
其他好文 时间:
2016-05-02 15:29:56
阅读次数:
122
传送门:http://poj.org/problem?id=1330 题意:很裸的最近公共祖先,看题就知道…模板题。 代码: ...
分类:
其他好文 时间:
2016-05-01 13:32:35
阅读次数:
151
本章讨论经典的IPC:管道、FIFO、消息队列、信号量以及共享存储器1 管道管道是Unix系统IPC最古老的方式。管道有下列两种局限性:
(1) 历史上,它们是半双工的(即数据只能在一个方向上流动)。
(2) 它们只能在具有公共祖先的进程之间使用。通常,一个管道由一个进程创建,然后该进程调用fork,此后父子进程就可以应用该管道#include
int pipe(int f...
分类:
系统相关 时间:
2016-04-29 18:25:32
阅读次数:
218