如何判断一个图是否是连着的?图论,算法
连着的(connected)就是从任意一个顶点vi到vj之间存在一条路线.表达不好请见谅.
求算法,我是学计算机的,目前这个作业要求写出一个算法判断一个图是否完整(连着),
人气:172 ℃ 时间:2020-03-27 04:05:59
解答
连通图的特点是图中任意两点都是连通的,也就是说只要从任意一点出发能够到达所有的点就能够证明是连通图,否则就是不连通图
因为不知道你准备采用什么,具体算法我就不写语言了,只是解释一下原理:
1 采用数组、链表或数组,先将所有顶点定义在数组POINT中.
2 采用二维数组,将所有边(线段)定义在二维数组LINE中,记录两遍,边的两个顶点分别作为第一项如(v0,v3)(v3,v0).
3 取出一个顶点v0加入到新数组CONPOINT中,并在顶点数组POINT中删除.
4 while循环,停止条件是CONPOINT中都标记着已读
{
从CONPOINT中取出一个有未读标记的顶点X,并作已读标记.
从二维数组LINE中查找第一项中包含X的边,将选出边的第二个顶点(1个或多个)取出,并加入到新数组CONPOINT中,并作未读标记(如果已有该点则不作插入)
将选出的边从二维数组LINE中删除.
}
比较CONPOINT和POINT数量,如果少了则不是连通图
推荐
猜你喜欢
- 小东看叔叔锯木头,锯一次木头要2分钟,叔叔把木头锯成5段,叔叔请小东算一算需要几分钟?
- 一辆汽车从A地开往B地,前3小时行了180千米,照这样的速度,还要1.5小时才能到达,AB两地相距多远?
- 你让我感到害怕,英语怎么说?
- 某同学做了一次较为精确的测定匀加速直线运动的加速度的实验,实验所得到的纸带如图所示,设0点是计数的起始点,两计数点之间的时间间隔为0.1s,则第一个计数点与0点的距离s1应为__________cm,物体的加速度________
- “我”上学了,还是不断收到姥姥寄来的剪纸,其中表达姥姥对‘我’的期待的一副剪纸是这样的
- 三七五折等于几成
- 小红计算两个数的加法时,把其中一个加数个位上的0漏掉了,结果算出的和是37,已知正确答案是91,那么这
- 如图所示的是闭合电路的一部分导体在两磁极间的运动情形.图中小圆圈代表导体的横截面,a、b、c、d表示运动中四个不同位置.图中箭头表示在那个位置上的运动方向.导体在_位置会产