波波老师,您好。请教您关于稠密图的构造函数问题

来源:7-2 图的表示

慕运维6075306

2021-09-06

图片描述
图片描述
我看到您课程中和github中使用了这两种初始化g的方法。
那这种表示正确吗?

for(int i=0;i<n;i++)
g[i]=vector<bool>(n,false);

完整代码如下:


#ifndef DENSEGRAPH_H
#define DENAGRAPH_H

#include<iostream>
#include<cassert>
#include<vector>

using namespace std;
class DenseGraph {
private:
	int n, m;
	bool directed;
	vector<vector<bool>> g;

public:
	DenseGraph(int n, bool directed) {
		this->n = n;
		this->m = 0;
		this->directed = directed;
	
		for (int i = 0; i < n;i++)
			g[i] = vector<bool>(n, false);
	}


写回答

1回答

liuyubobobo

2021-09-07

如果你声明好了 g 是 vector<vector<bool>> 且第一个维度的 n 个空间已经开好了的话,这样是正确的。


继续加油!:)

0
6
慕运维6075306
回复
liuyubobobo
非常感谢bobo老师的耐心解答,我理解了!
2021-09-09
共6条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程