算法设计与分析 (1)

【实验题目】

生成两个随机的图,一个有向图一个无向图。有向图两千条边左右,无向图一千条边左右,边的数量是大概的。100个顶点。要求能算出每个顶点的度。要求每次图是随机生成的,并且有良好的结构。今后的实验都基于这个图结构。任意语言和环境。建议链表描述。

然后基于这个图实现一个广度优先搜索。

【参考文献】

C++中的几个常用结构:

set: http://blog.csdn.net/wangran51/article/details/8836160

vector: http://blog.csdn.net/hancunai0017/article/details/7032383

pair: http://blog.csdn.net/xywlpo/article/details/6458867

rand()和srand()的用法:http://blog.csdn.net/peixuan197/article/details/48084843 注意, rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。

产生一定范围的随机数:
通用公式:a + rand() % n ;其中的a是起始值,n是整数的范围
要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。
要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。

queue: http://www.cnblogs.com/hdk1993/p/5809180.html

【输出】

输出到一个txt文档中,内容包括点数、边数、各个边的两端点、每个顶点的出度和入度(对无向图来说就是顶点的度)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值