В моей программе у меня есть следующий класс:
private static class Node
{
// True if '1', false otherwise (i.e. '0')
public final boolean isDigitOne;
// The number represented in the tree modulo the input number
public final int val;
// The parent node in the tree
public final Node parent;
public Node(boolean isDigitOne, int val, Node parent)
{
this.isDigitOne = isDigitOne;
this.val = val;
this.parent = parent;
}
}
Я заменил этот класс двумя массивами следующего внутри метода другого класса.
boolean[] product0 = new boolean[num];
int[] product1 = new int[num];
Остальные Программа очень похожа, реализация класса создает объект, когда это необходимо, когда реализация массива выделяет максимально необходимую память в начале выполнения.
Я измеряю время выполнения в обоих случаях.
Я заметил, что для меньших значений num
время выполнения почти такое же. Но для большего значения реализация массива выполняется намного быстрее.
Вот сравнение:
Мой вопрос Почему реализация массива выполняется быстрее?
Реализация класса доступна по следующей ссылке как «Ответ 3» Как найти наименьшее число с 0 и 1, которое делится на данное число