如下C++代码实现了无向图的邻接表存储结构,关于该代码的描述正确的是?

yd817719 单选题 共 个子题

以下代码实现了一个无向图的邻接表存储结构,关于该代码的说法正确的是:

#include <vector>
#include <stdexcept>
using namespace std;

class UndirectedGraph {
private:
    int vertexCount;
    vector<vector<int>> adjList;
public:
    UndirectedGraph(int n) : vertexCount(n), adjList(n) {}

    void addEdge(int u, int v) {
        if (u < 0 || u >= vertexCount || v <0 || v >= vertexCount) {
            throw out_of_range("顶点编号越界");
        }
        adjList[u].push_back(v);
        adjList[v].push_back(u);
    }

    int getDegree(int u) {
        return adjList[u].size();
    }
};
A

该代码无法正确实现无向图的邻接表,因为缺少对头节点的处理

B

addEdge函数中的越界检查是多余的,vector会自动处理越界访问

C

getDegree函数可以正确返回指定顶点的度数,实现正确

D

该代码中的adjList存储的是顶点的信息,而非邻接顶点,实现错误

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧