Временная сложность подсчета изменений

У меня есть аналогичная проблема со ссылкой: алгоритм смены монет в scala с использованием рекурсии

Код является рекурсивным и выглядит так:

def countChange(money: Int, coins: List[Int]): Int = {
    def count(capacity: Int, changes: List[Int]): Int = {
            if(capacity == 0) 1
            else if(capacity < 0) 0
            else if(changes.isEmpty && capacity >=1 )0
            else count(capacity, changes.tail) + count(capacity - changes.head, changes)
    }
count(money, coins)
}

Мои вопросы: как проанализировать временную сложность этого алгоритма? Спасибо!


person JASON    schedule 28.09.2013    source источник


Ответы (1)