Дерево: Сравнение производительности между реализацией стека и рекурсивным вызовом Traversal в BST - PullRequest
0 голосов
/ 05 мая 2018

хорошо, я сейчас изучаю структуру данных и алгоритм. Я получил два метода обхода в бинарном дереве поиска. (1) -стопная реализация
(2) -рекурсивный метод вызова

какая из них лучше?

1 Ответ

0 голосов
/ 05 мая 2018

Пока алгоритм остается прежним, производительность также должна быть одинаковой. В вашем случае: производительность остается неизменной, потому что в обоих случаях используются стеки.

In, реализация стека программист, явно поддерживающий стек для обхода. А в методе рекурсивного вызова для обхода используется внутренний стек вызовов программ.

EDIT:

а как насчет сложности во время выполнения ??

Сложность времени выполнения была бы одинаковой для обоих случаев. Но время выполнения может отличаться в зависимости от реализации. Поскольку код / ​​реализация не предусмотрены, «в общем смысле рекурсия может занять гораздо больше времени, поскольку

рекурсия (реализована наивно) включает в себя вставку кадра стека, прыгать, возвращаться и возвращаться из стека.

Для получения дополнительной информации вы можете проверить следующие ссылки:

  1. Является ли рекурсия быстрее циклов
  2. Зацикливание по сравнению с рекурсией для повышения производительности приложений
...