遍历一个点的邻居代价多大
用邻接表遍历某个顶点的全部邻居,代价和【0】成正比。
邻接表占多少地方(C++)
邻接表占用的空间,和【0】成正比。
阿泰的邻居有几个
运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names
把邻接表建出来
补全 build_adj:每个人一个数组,一条边要在两个人的数组里各记一次。建好之后输出阿泰有几个邻居。 (本题用 g++ -std=c++17 -O0 编译。)
把某个人的朋友都列出来
同一个 build_adj。把阿岚的邻居按建表顺序拼起来输出(用 / 隔开)。 (本题用 g++ -std=c++17 -O0 编译。)
从邻接表数出几条边
补全 edge_count:把每个人的邻居数加起来,再除以 2。 (本题用 g++ -std=c++17 -O0 编译。)
head[u] 里存的是什么
第 1 步:只看 0 号点的边怎么串 第 2 步:head 全是 -1:还没有边 第 3 步:第 0 条边 0→1,head[0]=0 第 4 步:1 号边 0→2,nxt 指回 0 第 5 步:顺着 nxt 走:先 2 后 1 0 1 2
静态数组存无向图要开多大
用静态数组存一张 m 条边的无向图,边数组要开【0】。
两种写法的取舍
vector<vector<int>> 和静态数组的链式前向星相比,【0】。
前向星的邻居顺序
用链式前向星存图,从 head[0] 顺着 nxt 把阿岚(0 号)的邻居依次打印出来(用 / 隔开): #include <iostream> #include <string> #include <util