这是一个C ++程序,其中我们为给定的边缘'e'生成无向随机图。该算法基本上在大型网络上实现,该算法的时间复杂度为O(log(n))。

算法Begin

Function GenerateRandomGraphs(), has ‘e’ as the number edges in the argument list.

Initialize i = 0

while(i

edge[i][0] = rand()%N+1

edge[i][1] = rand()%N+1

Increment I;

For i = 0 to N-1

Initialize count = 0

For j = 0 to e-1

if(edge[j][0] == i+1)

Print edge[j][1]

Increase count

else if(edge[j][1] == i+1)

Print edge[j][0]

Increase count

else if(j == e-1 && count == 0)

Print Isolated Vertex

End

示例#include

#include

#define N 10

using namespace std;

void GenerateRandomGraphs(int e) {

int i, j, edge[e][2], count;

i = 0;

//生成两个随机数之间的连接,对于//小样本,将顶点数限制为10。-

while(i

edge[i][0] = rand()%N+1;

edge[i][1] = rand()%N+1;

i++;

}

//打印每个顶点的所有连接,而与//方向无关。

cout<

for(i = 0; i

count = 0;

cout< { ";

for(j = 0; j

if(edge[j][0] == i+1) {

cout<

count++;

}

else if(edge[j][1] == i+1) {

cout<

count++;

}

//打印零度顶点的“隔离顶点”。

else if(j == e-1 && count == 0)

cout<

}

cout<

}

}

int main() {

int n, i ,e;

cout<

cin>>e;

GenerateRandomGraphs(e);

}

输出结果Enter the number of edges for the random graphs: 10

The generated random graph is:

1-> { 10 7 }

2-> { 10 }

3-> { 7 8 7 }

4-> { 7 6 7 }

5-> { 孤立的顶点! }

6-> { 8 4 }

7-> { 4 3 4 1 3 }

8-> { 6 3 }

9-> { 孤立的顶点! }

10-> { 2 1 }

用c语言实现随机无向图的生成,C ++程序为给定数量的边生成随机无向图相关推荐

  1. LabVIEW生成应用程序(exe)和安装程序(installer)

    目录 1.生成应用程序(exe) 2.生成安装程序(installer) 使用LabVIEW编写好的程序最后往往需要将程序拿到目标电脑上去运行,如何将程序从开发电脑上移植到目标电脑上呢?有两种方法: ...

  2. python生成多个列表_python生成多个只含0,1元素的随机数组或列表(代码)

    python生成多个只含0,1元素的随机数组或列表(代码) >>> import numpy as np >>> myarray= np.random.randin ...

  3. 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发

    PHP每15分钟自动更新网站地图(减少服务器消耗)_后端开发 sitemap.php为页面文件,sitemap.html为sitemap.php的克隆版,监控宝设置定时监控timeSitemap.ph ...

  4. python随机密码生成以整数17为随机数种子_简述pythonpytorch 随机种子的实现

    随机数广泛应用在科学研究, 但是计算机无法产生真正的随机数, 一般成为伪随机数. 它的产生过程: 给定一个随机种子(一个正整数), 根据随机算法和种子产生随机序列. 给定相同的随机种子, 计算机产生的 ...

  5. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 之间的随机整数(N \leq 100N≤100),对于其中重复的数字,只保留一个,把其余相

    自己用了非常朴素的方法将本题解了出来. 三个for循环和两个sort,哈哈哈,xswl. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 ...

  6. C++ 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  7. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  8. python如何生成excel文件_[原创] 如何用python3自动随机生成Excel文件内容

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先来看效果图 文件命名 文件内容 代码说明如下 import xlrd import xlwt from my_framework.log import ...

  9. python随机生成一组数据_使用Python random模块生成随机数据实例

    在本节中,我们将学习如何使用random模块(random)在Python中生成随机数和数据.该模块为各种分布(包括整数,浮点数(实数))实现了伪随机数生成器. 本文的目标: 以下是我们将在本文中介绍 ...

最新文章

  1. python序列化模块json和pickle
  2. sift分类java_使用SIFT / SURF进行特征匹配是否可以用于类似对象的分类?
  3. Spring Boot——获取上传文件的MD5值解决方案
  4. 数据结构中的树 --- 红黑树
  5. 缓存中间件-Memcache命令介绍
  6. 微课|中学生可以这样学Python(例6.2):列表循环左移位
  7. linux缓存机制buffer/cache/swap
  8. 如何让Low Poly好看
  9. java cximage_CxImage的几种应用举例
  10. Linux优秀软件整理 - 摘自Linux 开源中国
  11. 我的世界java正版可以改名字嘛_我的世界Java版帐号将迁移至微软帐号和相关注意事项FQA...
  12. 阿里云部署k8s集群
  13. 超融合解决方案已成新黑马 市场排名初见端倪
  14. 苹果用什么蓝牙耳机好?适合苹果的音乐蓝牙耳机推荐
  15. 什么是行星际文件系统 (IPFS) 以及如何使用它?
  16. python中的lambda函数
  17. 译书《物联网实战指南》出版 | 新成就:翻译自己的英文简介
  18. 实现一个 Spring Boot Starter 原来如此简单,读 Starter 源码也不在话下
  19. R语言之文本分析:主题建模LDA
  20. graphics.h 的下载及安装

热门文章

  1. 编程技巧:使用异或操作符(XOR)交换两数值
  2. 40 个顶级 jQuery 图片、内容滑块和幻灯片
  3. nullnullanimate用法
  4. Web移动应用调试工具——Weinre
  5. 英文名字大全(男篇)
  6. 移动端页面适配解决方案
  7. IDEA将Maven项目中src源代码下的xml配置文件编译进classes
  8. USART_GetITStatus和USART_GetFlagStatus的区别
  9. 201521123054《Java程序设计》第1周学习总结
  10. Spring 框架 详解 (四)------IOC装配Bean(注解方式)