对于一个连通图,如果删除了结点v以及相关联的边之后,图被分割成了两个或以上的连通分量,则称v是该图的一个关节点(articulation point),也叫割点。
如果一个图中不存在关节点(割点),则该图为重连通图(biconnected graph)。显然重连通图是很稳定的,例如一个航空网络是重连通的,则当某调航线因为外部条件被破坏,那么旅客总可以从别的航线绕道到达目的地。
如果在连通图上至少要删除k个顶点才能破坏图的连通性,则称此图的连通度为k。
对于如下的连通图G:[......]
对于一个连通图,如果删除了结点v以及相关联的边之后,图被分割成了两个或以上的连通分量,则称v是该图的一个关节点(articulation point),也叫割点。
如果一个图中不存在关节点(割点),则该图为重连通图(biconnected graph)。显然重连通图是很稳定的,例如一个航空网络是重连通的,则当某调航线因为外部条件被破坏,那么旅客总可以从别的航线绕道到达目的地。
如果在连通图上至少要删除k个顶点才能破坏图的连通性,则称此图的连通度为k。
对于如下的连通图G:[......]
前面实现的邻接矩阵面临一个巨大的问题:对于稀疏矩阵,将耗费巨大的资源,而大部分都是0。
现实中,绝大多数矩阵都是稀疏的!
我们可以采用如下的邻接表方法存储。
首先定义每个弧如下:
ivex是在顶点在数组中的下标。
next是一条链表,即某个顶点i的所有邻接结点的弧组成。
// Arc
struct Arc
{
int ivex; // The vex position in vexs array
struct Arc* next;
};
然后对于每[......]
对MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。
但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。
以下内容翻译自:http://docs.mongodb.org/manual/tutorial/remove-shards-from-cluster/
1、执行RemoveShard命令
db.runCommand( { removeshard: "y[......]
可以用两个数组分别存储数据元素(顶点)、数据元素之间的关系(边或弧度)。
顶点数组不说了,表示弧的数组称为“邻接矩阵”AdjMatrix。
对于有向图:AdjMatrix[i][j]为0表示顶点i和顶点j之间无弧,1为i和j间有弧。
对于无向图:AdjMatrix[i][j]同样是1表示有弧,0无弧。单AdjMatrix[i][j]为1则一定有AdjMatrix[j][i]为1,因为弧是无方向对称的。
对于网(弧带权):AdjMatrix[i][j]上是w或者无穷大,w表[......]
用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的(条件是y个球中y-1个重量相等,其他一个轻),
使用x 次天平,最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。
其实,这是一个“三分查找问题”。
当y=3时,x=1(一次称重即可):
3个球中任选两个放到天平两端,若相等,则没称的那个是轻球。
若有一个轻,则轻的就是。
递归可以分析出来x = log3(y)。
[......]