class Tower {
public void moveDisks(int n, Tower Destination, Tower Buffer) {
if (n > 0) {
moveDisks(n-1, Buffer, Destination);
moveTopto(Destination);
Buffer.moveDisks(n-1, Destination, this);
}
}
}
Вот код к методу, о котором я говорил выше. Это часть алгоритма, который решает классическую проблему Hanoi Tower. Я просто не могу окутать голову во временную сложность для этого, так как он имеет довольно рекурсию.Какова временная сложность этого конкретного метода?
Это метод в классе Tower
. moveTopto
- O(1)
, поэтому не должно влиять на время выполнения.
что это за оператор 'buffer, moveDisks (n-1, destination, this);'? – rajuGT
Сложность времени также зависит от 'moveTopto'. Включите его для лучшего ответа. – CydrickT
Не могли бы вы вставить здесь полный код, чтобы мы могли лучше понять его? – kenshinji