Для спрямованого ациклічного графіка чи існує структура даних, яка дозволяє здійснювати запити про доступність, не вимагаючи квадратичного простору або лінійного часу? В ідеалі я шукаю алгоритм, використовуючи лише O (log n) простір на вершину та логарифмічний час, де.
Інтуїтивно мені здалося очевидним, що така структура даних повинна існувати на основі деякого узагальнення стандартних алгоритмів сортування. Але я був здивований, що не зміг знайти жодного. Все, на що я стикався, або робив припущення про графік (наприклад, планарність), або вирішував складнішу задачу в квадратичному часі / просторі (наприклад, запити, переплетені з модифікаціями графіка).
Сторінка Вікіпедії про доступність охоплює лише один загальний алгоритм (Floyd-Warshall); на решті сторінки розглядаються особливі випадки, пов’язані з припущеннями, такими як графік планарний (це не так).
Папір, що найчастіше цитується в цьому просторі, виглядає як амортизована ефективність структури даних про пошук шляху , але ця та всі статті, які вона цитує, передбачають або O (n ^ 2) простір, або інший час O (n ^ 2), щоб дозволити оновлення графіка, переплетеного із запитами (тобто попередня обробка).
На це запитання не було дано відповідей, але воно стосується більш важкої проблеми дозволу вставлення країв, переплетених із запитами.
Це питання вимагає стійкої (чисто функціональної) структури даних, яка тут не потрібна. Паперу "Постійні набори" потрібен простір але він досягає запитів на час ; Я шукаю алгоритм гіршого та кращого простору.
Переважно шукають тут опори в літературі. Якщо є опитувальний документ про доступність графіків, який не витрачає 99% свого часу на випадок площинного графіка, це допоможе.