【发布时间】:2020-09-11 17:08:34
【问题描述】:
一般来说,要在java中创建n个节点的邻接列表,我们需要创建一个额外的循环来用空列表填充列表,如下所示-
for(int i=0;i<n;i++)
adj.add(new ArrayList<>());
现在我们不得不添加元素,但是由于这个额外的循环,它浪费了时间。 有没有其他最好的方法来创建邻接表??????
【问题讨论】:
-
有时您必须创建列表。当你第一次需要它并添加一些东西时,你当然可以懒惰地这样做。可能不值得努力。我们在这里讨论的是哪些邻接列表大小?一百万×一百万?或者您为什么要在此处保存 10 纳秒?
-
不,这不是在浪费时间。仅创建
n数组列表不会花费太多时间,除非您谈论的是数百万的数量级。您处理图表的算法需要高效。