I had implement bubble and quick sort algorithms and now I have to measure their performances using the following code for a LinkedList and ArrayList.
Instant start = Instant.now();
Sort…
Instant stop = Instant.now();
Duration duration = Duration.between(start, stop);
System.out.println(duration);
Why do we get different times when using ArrayList vs LinkedList ?
答案 0 :(得分:0)
因为它们的结构不同。 例如,ArrayList的迭代速度更快,而LinkedList的插入和删除速度更快。
答案 1 :(得分:0)
ArrayList
和LinkedList
具有不同的实现方式。
用ArrayList
检索元素可以在O(1)中完成,因为您只需要知道元素的索引,就可以直接从存储它的数组中检索它。使用LinkedList
,您需要在获取请求的元素之前对列表中的元素进行迭代,因此可以在O(n)中完成。
这种差异可以传播到您的排序时间。