提供了假设的边缘关系
edges[][] = [[1,0],[2,0],[3,1],[3,2]]
尝试创建节点关系时,例如
List[] list = new ArrayList[10];
for (int i = 0; i < edges.length; i++) {
list [edges[i][1]].add(edges[i][0]);
}
edge [i] [1]和edges [i] [0]在这里是什么意思? 感谢
答案 0 :(得分:2)
edges [i] [1] - 表示每个第i个元素在edge数组中得到第2个项目; edges [i] [0] - 表示每个第i个元素获得edge数组中的第1个项目;
答案 1 :(得分:1)
当你把它变成变量时会更容易理解,比如:
List[] list = new ArrayList[10];
for (int i = 0; i < edges.length; i++) {
int i1 = edges[i][1];
int i0 = edges[i][0];
list[i1].add(i0);
}
好吧让我们一行一行:
List[] list = new ArrayList[10];
- 创建大小为10的新列表
for (int i = 0; i < edges.length; i++)
- 执行edges.length
次
int i1 = edges[i][1];
- 创建int
引用edges[i][1]
(i
的第二个值ᵗʰ边缘成员)
int i0 = edges[i][0];
- 创建int
引用edges[i][0]
(i
的第一个值ᵗʰ边缘成员)
list[i1].add(i0);
- 添加{{1}的 i
ᵗʰ成员的第一个值 } edges
i1
中的地方list
(这是一个满口的,请仔细阅读)。
}
- 结束循环
答案 2 :(得分:1)
请在下面找到逻辑
的表示Row No. | Column No 1 | 2
1 | 1,list of edges{} <-------| list of edges(row 1 column 1) & data 0 |
2 | 2,list of edges{} <-------| list of edges(row 2 column 1) & data 0 |
3 | 3,list of edges{} <-------| list of edges(row 3 column 1) & data 1 |
4 | 3,list of edges{} <-------| list of edges(row 4 column 1) & data 2 |