У меня есть электронная таблица с формулами.Я ищу лучший алгоритм для обнаружения циклических ссылок среди формул.Текущий подход, который я использую, является медленным и использует слишком много памяти, когда в формулах используются длинные цепочки вычислений.Это включает в себя сохранение наборов всех иждивенцев для каждой формулы.Таким образом, если в каждом первом столбце ячеек есть формула со ссылкой на ячейку перед ним, набор первой ячейки будет пустым.Набор 2-й ячейки будет содержать только первую ячейку, набор 3-й ячейки будет содержать ячейки 1 и 2, ..., набор 1000-й ячейки будет содержать до 999 ячеек.Когда была введена новая формула, создается ее набор зависимостей, и если набор содержит новую формулу, существует циклическая ссылка.Но очевидно, что для этого сценария необходимое время и память растут в геометрической прогрессии.