SORU
20 Temmuz 2010, Salı


Bellek, avantaj ve dezavantajları üç yolu bir grafik saklamak için

Bellekte bir grafik saklamak için üç yolu vardır:

  1. İşaretçiler, nesneleri ve kenarları gibi düğümler
  2. Bir matris numaralı düğüm arasındaki kenar ağırlıkları x ve y içeren düğüm
  3. Numaralandırılmış düğümler arasındaki kenarlar listesi

Her üç yazmak için nasıl biliyorum, ama her avantajları ve dezavantajları tüm düşündüm emin değilim.

Bellekte bir grafik depolama bu yollardan her birinin avantaj ve dezavantajları nelerdir?

CEVAP
20 Temmuz 2010, Salı


Bu analiz için bir yolu, bellek ve zaman karmaşıklığı grafik erişmek istediğiniz nasıl bağlıdır) açısından.

Bir başka işaretçisi ile nesneler olarak saklanması düğümler

  • Bu yaklaşım, bellek karmaşıklığı düğüm gibi çok sayıda nesne var çünkü O(n) ' dir. İşaretçiler (düğüm) sayısı gerekli her düğüm nesne n düğümler için işaretçileri içerebilir olarak O(n^2).
  • Bu veri yapısı için zaman karmaşıklığı(n) herhangi bir düğüm erişmek için O.

Kenar ağırlıkları matris depolama

  • Bu matris için O(n^2) bellek karmaşıklığı olacaktır.
  • Bu veri yapısı ile avantajı herhangi bir düğüm erişmek için zaman karmaşıklığı O(1) ' dir.

Kaç tane grafik üzerinde çalıştırmak ve ne bağlı olarak, uygun bir temsili seçim yapmak zorunda kalacaksın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012
  • The10HourMan

    The10HourMan

    28 EYLÜL 2012
  • Ty Moss

    Ty Moss

    20 Kasım 2007