Her köşe için DAG'da ulaşılabilir köşe noktası sayısı


11

Let üzerinden derece herhangi bir tepe arasında olduğu şekilde, bir asiklik yönlendirilmiş çizge O ( giriş | V | ) . G'nin her tepe noktası için, yalnızca her tepe noktasından dfs çalıştırarak ulaşılabilir köşe sayısını sayabiliriz ve bu O ( | V | | E | ) zamanını alır. Bu sorunu çözmenin daha iyi bir yolu var mı?G(V,E)O(log|V|)GO(|V||E|)



1
@Radu bu düz bir kopya mı? gibi geliyor
Suresh Venkat

@Suresh, sorumla karşılaştırıldığında, bu köşe derecesi üzerinde bir üst sınırı var ve daha düşük sınırlar istemiyor. Bunlar benim görüşüme göre küçük farklılıklar, bu yüzden bunu bir kopya olarak görüyorum, ama bu konuda güçlü hissetmiyorum.
Radu GRIGDaha

1
Tamam, olduğu gibi bırakacağız.
Suresh Venkat

4
virgi'nin soruma cevabı, bunun için bir algoritması anlamına geliyor . O(|V|2)
Radu GRIGDaha

Yanıtlar:



-1

Burada uzman değilim, deneyeceğim.

1) DAG olduğu için, bir lavabo tepe noktasına, yani gecikme 0'a sahip bir tepe noktasına sahip olmalıdır. X adlı bir lavabo tepe noktası bulun ve Komşu'ya (x) ulaşılabilir tepe noktası olarak {x} ekleyin. x'i kaldırın ve grafik boşalana kadar işlemi tekrarlayın


Yana dışarı derecelik sınırlanan, bir kaynak ile başlamak daha yararlı olacak gibi görünüyor?
András Salamon

@ andras-salamon: hayır, çünkü bir kaynaktan kaç düğümün erişilebilir olduğunu bilmiyorsunuz. Bir lavabo için bunu (sıfır) yapmazsın.
Martin

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

-2

(Prabu'nun çözümüne benzer ... ancak daha ayrıntılı)

N(v)vreach(v)

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

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.