Каталонские числа представляют собой последовательность натуральных чисел, которая встречается во многих интересных проблемах подсчета, таких как следующие.
1) Подсчитайте количество выражений, содержащих n пар скобок, которые правильно сопоставлены. Для n = 3 возможными выражениями являются ((())), () (()), () () (), (()) (), (() ()).
2) Подсчитайте количество возможных деревьев бинарного поиска с n ключами (см. Это )
Смотрите это для других приложений.
Первые несколько каталонских чисел для n = 0, 1, 2, 3,… являются 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862,…
|
Выход:
1 1 2 5 14 42 132 429 1430 4862
Решение для динамического программирования
Мы можем заметить, что вышеописанная рекурсивная реализация выполняет много повторяющихся операций (мы можем сделать то же самое, рисуя дерево рекурсии). Поскольку существуют перекрывающиеся подзадачи, мы можем использовать для этого динамическое программирование. Ниже приводится реализация, основанная на динамическом программировании на C ++.
Пожалуйста, обратитесь к полной статье о программе для n-го каталонского номера для более подробной информации!
Рекомендуемые посты:
- Java-программа, чтобы найти число, происходящее нечетное количество раз
- Программа Java для Как проверить, является ли данное число числом Фибоначчи?
- Java программа для факториала числа
- Java-программа для суммирования цифр заданного числа
- Java-программа для проверки, является ли число простым или нет
- Java-программа для нахождения суммы четных множителей числа
- Java-программа для номера треугольной спички
- Java-программа для проверки номера Армстронга
- Программа Java, чтобы проверить, все ли цифры числа разделяют ее
- Java-программа для количества элементов с нечетными коэффициентами в заданном диапазоне
- Java-программа для печати номеров серии без использования цикла
- Java-программа для поиска минимальной суммы факторов числа
- Программа Java для минимального количества прыжков, чтобы достичь конца
- Java-программа для n-го кратного числа в рядах Фибоначчи
- Java-программа для наименьшего числа K цифр, делимых на X
0.00 (0%) 0 votes