Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Поиск в глубину


Автор: lagab 11.5.2009, 21:44
Задали реализовать поиск в глубину в дереве, построенном на указателях, сколько не читал методички/статьи/etc не могу найти отличий, между поиском в глубину и проходом по дереву.
Разумеется, если бы дерево было построено с помощью массива, то различия были бы. Но в своей ситуации, не вижу их абсолютно.
Скажите, так ли это?
Если я ошибаюсь - приведите пример алгоритма поиска в глубину для дерева на указателях.
Очень надеюсь на вашу помощь.

Например этот алгоритм на Си, будет ли являться поиском в глубину?
Код

Tree * DepthSearch(Tree *Top, int tmp)
{
    if (Top != NULL)
    {
        printf("%d", Top->Data);
        if (Top->Data == tmp)
            return Top;
        else
        {
            printf("-->");        
            if (tmp < Top->Data)
                return DepthSearch(Top->left, tmp);
            else
                return DepthSearch(Top->right, tmp);
        };
    }
    else
        return 0;


Автор: maxim1000 12.5.2009, 22:42
обходить дерево можно как угодно
а обход в глубину - один из способов обойти дерево

Добавлено через 1 минуту и 19 секунд
Цитата(lagab @  11.5.2009,  21:44 Найти цитируемый пост)
Например этот алгоритм на Си, будет ли являться поиском в глубину?

да

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)