用warshell
用一个数据结构jtu
然后建一个图,按照要求,将图转化为01矩阵
用近似于floyed的来判断
只要有一对点不连接 return false;
BFS判断
用队列实现
先将0点放入队列
再依次将所有联通的点都放入队列(!visit[i])
判断入队的点的个数和总个数的大小关系
DFS判断
在搜索中能够访问到的点记录为visit[i]=true;
最后循环所有的点查找一次,只要有一个点!visit[],return false;
Kruskal判断(最小生成树)
将满足条件的边的起点与终点合并为一个集合
循环一次,如果发现有gefather(i)!=gefather(1) return false;
时间复杂度 O(mlogm)
prim判断(最小生成树)
按照最短边优先,逐一将优先点纳入树中,(边满足条件)。
用k作为记录优先点的变量,如果发现k不能更新,return false;