Analisis yang lebih ketat terhadap algoritma Borůvka yang dimodifikasi


11

Algoritma Borvka adalah salah satu algoritma standar untuk menghitung pohon rentang minimum untuk grafik , dengan | V | = n , | E | = m .G=(V,E)|V|=n,|E|=m

Kode semu adalah:

MST T = empty tree
Begin with each vertex as a component
While number of components > 1
    For each component c
       let e = minimum edge out of component c
       if e is not in T
           add e to T  //merging the two components connected by e

Kami menyebut setiap iterasi loop luar satu putaran. Di setiap putaran, loop dalam memotong jumlah komponen setidaknya setengah. Oleh karena itu paling banyak ada putaran . Dalam setiap putaran, loop bagian dalam paling banyak melihat setiap sisi dua kali (satu kali dari setiap komponen). Oleh karena itu waktu menjalankan paling banyak O ( m log n ) .O(logn)O(mlogn)

Sekarang anggaplah setelah setiap putaran, kami menghapus semua tepi yang hanya menghubungkan simpul dalam komponen yang sama dan juga menghapus tepi duplikat antara komponen, sehingga loop dalam hanya melihat beberapa jumlah tepi m '<m yang merupakan tepi berat minimum yang hubungkan dua komponen yang sebelumnya terputus.

Bagaimana pengoptimalan ini memengaruhi waktu berjalan?

T(m)=T(m/2)+O(m)=O(m)

Namun, sementara optimasi akan secara dramatis mengurangi jumlah sisi yang diperiksa, (hanya 1 sisi pada putaran final, dan paling banyak # komponen memilih 2 secara umum), tidak jelas bagaimana / jika kita dapat menggunakan fakta ini untuk memperketat analisis dari run-time.


Dalam kasus terburuk (rantai) Anda akan menghapus tepat satu tepi per putaran, jadi Anda tidak dapat menggunakan fakta itu untuk meningkatkan batas untuk grafik umum. Anda dapat mempertimbangkan, misalnya, hanya grafik lengkap.
Xodarap

G

Perhatikan bahwa Anda dapat menggunakan salah satu struktur union-find yang sangat dioptimalkan untuk meningkatkan algoritma ini.
Raphael

Jawaban:


5

|E|3|V|6|E|=O(|V|)

Referensi:

  • Tesis master, Claude Anderson (di halaman 100, input kasus terburuk untuk algoritma Borůvka diuraikan). [tautan]

  • + Msgstr "Dua algoritma waktu linear untuk MST pada kelas grafik tertutup kecil". Archivum Mathematicum 40 (3): 315–320, 2004. [tautan]

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.