Implementasi ADT Disjoint Set


 Dalam ilmu komputer , struktur data himpunan terputus-putus , juga disebut struktur data union – find atau himpunan merge – find , adalah struktur data yang menyimpan kumpulan himpunan yang tidak saling tumpang tindih (tidak tumpang tindih). Secara ekivalen, ia menyimpan partisi dari himpunan menjadi himpunan bagian yang saling lepas. Ini menyediakan operasi untuk menambahkan set baru, menggabungkan set (menggantinya dengan serikat mereka ), dan menemukan anggota perwakilan dari satu set. Operasi terakhir memungkinkan untuk mengetahui secara efisien jika ada dua elemen dalam set yang sama atau berbeda.


Disjoint-set / Union-find Forest

Tipe

pohon multiway

Diciptakan

1964

Diciptakan oleh

Bernard A. Galler dan Michael J. Fischer

Kompleksitas waktu dalam notasi O besar

Algoritma

Rata-rata

Kasus terburuk

Ruang

O ( n ) [1]

O ( n ) [1]

Cari

O ( α ( n )) [1]

O ( α ( n )) [1]

Menggabungkan

O ( α ( n )) [1]

O ( α ( n )) [1]


MakeSet menciptakan 8 lajang.


Setelah beberapa operasi Union , beberapa set dikelompokkan bersama.

Meskipun ada beberapa cara untuk mengimplementasikan struktur data set terputus-putus, dalam praktiknya mereka sering diidentifikasikan dengan implementasi tertentu yang disebut hutan rangkaian terputus-putus . Ini adalah jenis hutan khusus yang melakukan penyatuan dan menemukan dalam waktu diamortisasi yang hampir konstan. Untuk melakukan urutan m penjumlahan, penyatuan, atau menemukan operasi pada hutan yang tidak terikat dengan n node membutuhkan waktu total O ( m α ( n )) , di mana α ( n ) adalah fungsi Ackermann terbalik yang tumbuh sangat lambat. Hutan yang ditetapkan secara terpisah tidak menjamin kinerja ini untuk setiap operasi. Penyatuan individu dan operasi pencarian dapat memakan waktu lebih lama dari waktu α ( n ) waktu yang konstan , tetapi setiap operasi menyebabkan hutan yang terputus-putus menyesuaikan dirinya sendiri sehingga operasi yang berurutan lebih cepat. Hutan yang terpisah-pisah sama-sama optimal secara asimtotik dan efisien secara praktis.


Struktur data set terputus-putus memainkan peran kunci dalam algoritma Kruskal untuk menemukan pohon rentang minimum dari sebuah grafik. Pentingnya pohon rentang minimum berarti bahwa struktur data set terputus-putus mendasari berbagai macam algoritme. Selain itu, struktur data himpunan terpisah juga memiliki aplikasi untuk komputasi simbolik, juga pada kompiler, terutama untuk masalah alokasi register .


sumber : https://translate.google.com/

Artikel Selanjutnya Artikel Sebelumnya
Post Terkait :
Struktur Data