История изменений
Исправление KennyMinigun, (текущая версия) :
2) по запросу: для данных двух файлов просто сверяешь их массивы на предмет общего элемента
Это надо делать рекурсивно. Каждый раз. Потому не эффективно.
К примеру ситуация:
bar.h # цикл | foo.h \ bar.h baz.h \ / baz.cpp f(foo.h, baz.h) == true
Я сейчас пытаюсь выровнять граф до леса деревьев по 1 уровню:
bar.h foo.h baz.h bar.h foo.h \ | / | / baz.cpp foo.h
С такой структурой проверка f(x,y) будет О(1) (не считая поиска нужного дерева)
Исходная версия KennyMinigun, :
2) по запросу: для данных двух файлов просто сверяешь их массивы на предмет общего элемента
Это надо делать рекурсивно. Каждый раз. Потому не эффективно.
К примеру ситуация:
bar.h # цикл | foo.h \ bar.h baz.h \ / baz.cpp f(foo.h, baz.h) == true
Я сейчас пытаюсь выровнять граф до леса деревьев по 1 уровню:
bar.h foo.h baz.h bar.h foo.h \ | / | / baz.cpp foo.h
С такой структурой проверка f(x,y) будет О(1)