Мы должны объяснить, какой тип данных быстрее. По моему мнению, LinkedStack должен быть намного быстрее, но после того, как мы провели некоторое тестирование в Java, тесты не показали больших различий, если не наоборот. Мы не можем объяснить это вообще.
Так какой тип данных должен быть быстрее и почему?
ResizingArrayStack resizingArrayStack = new ResizingArrayStack();
Stopwatch stopwatch = new Stopwatch();
for (int i = 0; i < 10000; i++) {
resizingArrayStack.push("test");
}
StdOut.printf("(%.8f milliseconds in Array)\n", stopwatch.elapsedTime());
LinkedStack linkedStack = new LinkedStack();
Stopwatch stopwatch1 = new Stopwatch();
for (int i = 0; i < 10000; i++) {
linkedStack.push("test");
}
StdOut.printf("(%.8f milliseconds in Linked)\n", stopwatch1.elapsedTime());
дает такой вывод:
(1063.87700000 milliseconds in Array)
(1610.73700000 milliseconds in Linked)