Что вы пытаетесь сделать, так это найти все подключенные подграфы в ваших графиках всех узлов. Вы можете решить его, сначала построив график, а затем пройдя через все узлы, которые ищут подключенные подграфы.
Чтобы построить свой «большой» график, каждый узел является буквой, а две буквы связаны друг с другом, если они принадлежат к одному набору.
Затем перейдите по каждой букве, попробуйте перейти по графику, начиная с этого письма, и устранить каждую букву, которую вы видите. Время перезапуска вашего алгоритма поиска - это количество установленных вами параметров.
Учитывая сложность, построение графика зависит от количества установленных вами наборов, а также от количества разных букв. Для поиска по графику он линейный с вашим количеством букв и соединений. Конечно, в зависимости от того, как заданы ваши настройки и используемой структуры данных, вы можете сделать некоторую оптимизацию.
Дополнительная информация о wikipedia.
«* или какой-либо простой метод в HIVE *» - Означает ли это, что вы используете Hive? –
Фактически предполагается использовать Netezza. Но если в улье или какой-то новый подход к данным имеет решение, я переключусь на это. – Anoop
Все современные СУБД имеют поддержку рекурсивных запросов. Стандарт SQL определяет «рекурсивные общие выражения таблицы» для этого. Я не знаю Netezza, может быть, это тоже помогает. –