Đối với một biểu đồ được định hướng thay đổi, tôi muốn duy trì thông tin về các thành phần được kết nối mạnh mẽ. Các hoạt động đồ thị là gia tăng: chỉ bổ sung đỉnh và bổ sung cạnh. Những cấu trúc dữ liệu nào đạt được độ phức tạp khấu hao được biết đến nhiều nhất cho các hoạt động này?
Nếu đồ thị không bị ảnh hưởng, câu trả lời sẽ là cấu trúc tìm kết hợp. Và như các đồ thị vô hướng có thể được xem như là trường hợp đặc biệt của đồ thị có hướng, nên (siêu nhẹ) bao gồm các siêu giới hạn thấp hơn bao giờ hết.
Đối với giới hạn trên tuyến tính, các thành phần được kết nối mạnh có thể được tính từ đầu sau mỗi lần thêm cạnh, mà không cần tái chế bất kỳ dữ liệu nào. Tôi tự hỏi nếu có cách nào để làm tốt hơn.
Trong cài đặt nơi tôi cần điều này, bằng cách nào đó tôi mong đợi các SCC không tầm thường là ngoại lệ thay vì quy tắc. Và trong sự vắng mặt của các chu kỳ tôi có thể đạt được tổng thời gian tuyến tính (đó là thời gian không đổi được khấu hao cho mỗi hoạt động). [EDIT:] Hãy để tôi nói rõ ý của tôi. Tất nhiên, trong sự vắng mặt của các chu kỳ, tôi không cần phải theo dõi các SCC nào cả. Thời gian cố định được khấu hao là dành cho những gì tôi làm trong cài đặt của mình bên cạnh các SCC đáng lo ngại.
Vì vậy, tôi cũng sẽ quan tâm đến các cấu trúc dữ liệu, nói chung, không tốt hơn giới hạn trên nhưng sử dụng thời gian không đổi được khấu hao cho mỗi hoạt động miễn là đồ thị vẫn là DAG.