Рассчитайте максимальный размер стека в дереве вызова функцииC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Рассчитайте максимальный размер стека в дереве вызова функции

Сообщение Anonymous »

Вот пример дерева функций < /p>
A
| B
| | C
| | | D
| | | | E
| | | | | B
| | | | | C
| | | | | | K
| F
| | C
| | | E
| | | | D
| | | | | B
| | | | | | C
| | | | B
| | | | | C
| | | | | C
| G
| | B
| | C
< /code>
Каждая функция имеет свой собственный индивидуальный размер
Общий размер функции - это сумма детей этой функции
Здесь индивидуальный размер каждой функции - < /p>
A: 1
B: 2
C: 3
D: 1
E: 1
D: 1
F: 1
G: 3
< /code>
Как вы можете видеть функцию «b», а «c» - это рекурсивная функция, моя логика - это когда рекурсивная функция, добавляйте индивидуальный размер функции к общему размеру и не перейдите к этой функции детей (эта программа справки не повторять бесконечность).
, например, < /p>
Branch A-B-C-D-E-B (B is recursive)
< /code>
Таким образом, размер этой ветви составляет 1+2+3+1+1+2 = 10
Мой вопрос:
Какой метод для расчета ветви, имеющей максимальный размер стека
Могу ли я повторно использовать размер функции B, когда я рассчитывал ее в филиале A для расчета размера функции C? Если не зачем?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... -call-tree
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»