怎样随机生成一个无向连通图,说出思路即可(C语言)
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/14 02:56:56
怎样随机生成一个无向连通图,说出思路即可(C语言)
有什么要求吗?
如果没有任何要求 那就很简单了
生成在[m,n]中的随机数会吧
随机生成总结点数n
i = 0;
loop i
生成第i个节点
如果i>1 对[0,i-1]每个节点 随机生成是否连通关系
i++
直到i==n时退出循环
ok了
再问: 那请问怎么保证按照这个方法生成的图是连通的呢?如果有一个节点没有跟任何其他节点相连,那不就不连通了吗?不过还是谢谢啦
再答: 生成之后做个遍历 如果有哪个点连通不上 再随机加一条就可以了 然后再遍历 直到所有点都可以连通为止 如果在生成算法中控制,那么生成的虽然可以保证绝对连通 但是就不是真正随机的了
如果没有任何要求 那就很简单了
生成在[m,n]中的随机数会吧
随机生成总结点数n
i = 0;
loop i
生成第i个节点
如果i>1 对[0,i-1]每个节点 随机生成是否连通关系
i++
直到i==n时退出循环
ok了
再问: 那请问怎么保证按照这个方法生成的图是连通的呢?如果有一个节点没有跟任何其他节点相连,那不就不连通了吗?不过还是谢谢啦
再答: 生成之后做个遍历 如果有哪个点连通不上 再随机加一条就可以了 然后再遍历 直到所有点都可以连通为止 如果在生成算法中控制,那么生成的虽然可以保证绝对连通 但是就不是真正随机的了
怎样随机生成一个无向连通图,说出思路即可(C语言)
无向连通图的连通分量!
C语言如何生成一个随机矩阵
C语言中怎样写一个生成随机数的函数?(不用系统自带的随机函数)
C语言,随机生成矩阵
C语言随机数序列编程:用C语言程序编写.生成随机数序列.范围:1-15要求生成1-15的随机序列,中间无重复
若G是一个具有36条边的非连通无向图(没有自回路和多重边),则G至少有____个顶点?
对于一个非连通无向图,共有28条边,则该图至少有多少个顶点?
设计一个算法,求无向图G(采用邻接表存储)的连通分量的个数
求数据结构c语言描述求无向网的最小生成树的代价.
C语言数据结构 克鲁斯卡尔算法求无向网的最小生成树.
G是一个具有n个结点的无向连通图,证明G至少有n-1条边,并证明具有n-1条边的无向连通图是一棵树