Мне нравится решать проблемы с алгоритмом на сайте TopCoder. Я могу реализовать большинство основных рекурсивных задач, таких как backtracking, dfs... Однако всякий раз, когда я сталкиваюсь с сложной рекурсией, это часто требует меня часов и часов. И когда я проверяю решение других кодеров, мне так стыдно. Я программировал почти 5 лет. Я вижу значительное улучшение в других методах программирования, таких как манипулирование строкой, графикой, графическим интерфейсом... но не рекурсией? Может ли кто-нибудь поделиться опытом, как подойти к рекурсивным проблемам? Спасибо!
Обновление
Я знаком с методологией Unit-Test. Еще до того, как я знал Unit Test, я часто пишу некоторые небольшие тестовые функции, чтобы увидеть, является ли результат тем, что я хочу. Когда вы сталкиваетесь с рекурсивными проблемами, я естественным образом потерял эту способность. Я могу вставить несколько инструкций "cout", чтобы увидеть текущий результат, но когда вызов вложен глубоко, я больше не могу его отслеживать. Поэтому большую часть времени я либо решил это с помощью карандаша и бумаги, либо я сделал (не могу использовать обычный метод, например, разбивать его на более мелкие части). Я чувствую, что рекурсия должна работать в целом.
С уважением,
Chan