Нахождение временной сложности рекурсивных программ - PullRequest
0 голосов
/ 12 февраля 2020
public static void ways(int money, int quarters, int dimes, int nickels, int pennies) {
    if (money == 0) {
        String comboStr = comboString(quarters, dimes, nickels, pennies);
        if (!out.contains(comboStr)) {
            out += "    " + count + ") " + comboStr + "\n";
            count++;
        }
    } else {
        if (money >= 25) {
            ways(money - 25, quarters + 1, dimes, nickels, pennies);
        }
        if (money >= 10) {
            ways(money - 10, quarters, dimes + 1, nickels, pennies);
        }
        if (money >= 5) {
            ways(money - 5, quarters, dimes, nickels + 1, pennies);
        }
        ways(money - 1, quarters, dimes, nickels, pennies + 1);
    }
}

Я хочу найти сложность времени моего кода здесь. Я думаю, что это O (n), потому что рекурсивные шаги не делятся или умножаются, но я не уверен. Как мне go найти временные сложности программ с несколькими рекурсивными шагами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...