Số lượng đỉnh có thể tiếp cận trong DAG cho mỗi đỉnh


11

Đặt là một đồ thị có hướng xoay vòng, sao cho mức độ của bất kỳ đỉnh nào là O ( log | V | ) . Đối với mỗi đỉnh của G, chúng ta có thể đếm số lượng đỉnh có thể tiếp cận, chỉ bằng cách chạy dfs từ mọi đỉnh và điều này sẽ mất thời gian O ( | V | | E | ) . Có cách nào tốt hơn để giải quyết vấn đề này?G(V,E)O(log|V|)GO(|V||E|)



1
@Radu đây có phải là một bản sao thẳng không? nghe có vẻ như vậy
Suresh Venkat

@Suresh, so với câu hỏi của tôi, câu hỏi này có giới hạn trên về mức độ đỉnh và không yêu cầu giới hạn dưới. Đây là những khác biệt nhỏ trong quan điểm của tôi, vì vậy tôi coi đó là một bản sao, nhưng tôi không cảm thấy mạnh mẽ về nó.
Radu GRIGore

1
ok vì vậy chúng tôi sẽ để nó như vậy.
Suresh Venkat

4
Câu trả lời của virgi cho câu hỏi của tôi ngụ ý thuật toán cho câu hỏi này. O(|V|2)
Radu GRIGore

Câu trả lời:


5

Thuật toán chính xác tốt nhất sẽ chạy trong thời gian O (min {mn, n ^ 2.38}) bằng cách sử dụng phép nhân ma trận nhị phân nhanh. Tuy nhiên, có một thuật toán ngẫu nhiên, chạy trong thời gian O (m + n) và ước tính số lượng nút có thể tiếp cận từ mỗi nút có một lỗi tương đối nhỏ, vui lòng tham khảo bài viết " Khung ước tính kích thước với các ứng dụng để đóng và chuyển tiếp "Của Edith Cohen.


-1

Tôi không phải là một chuyên gia ở đây tôi sẽ thử.

1) Vì là DAG, nên nó có một đỉnh chìm tức là đỉnh có outdegree 0. Tìm một đỉnh chìm nói x và thêm {x} là đỉnh có thể tiếp cận với Neighbor (x). xóa x và lặp lại quá trình cho đến khi đồ thị trở nên trống rỗng


mức độ bị giới hạn, có vẻ sẽ hữu ích hơn khi bắt đầu với một nguồn?
András Salamon

@ andras-salamon: không, vì bạn không biết có bao nhiêu nút có thể truy cập được từ một nguồn. Bạn không làm điều đó (không) cho một chìm mặc dù.
Martin B.

O(|V||E|)xO(|V|)O(|V|)O(|V|)O(|V||E|)

-2

(Tương tự như giải pháp của Bohu ... nhưng chi tiết hơn)

N(v)vreach(v)

  1. O(|V|+|E|)
  2. vreach(v)=nN(v)reach(n)

|E|O(|V|+|E|)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.