Saya mencari solusi untuk masalah berikut dan bertanya-tanya apakah ada yang bisa mengarahkan saya ke beberapa penelitian yang ada tentang topik ini. Saya datang dari aplikasi grafik dunia nyata jadi bersabarlah jika terminologi saya tidak tepat.
Saya memiliki sistem basis data di mana pengguna dapat menambah / menghapus / memindahkan objek dengan membuat / menghapus dan mengubah hubungan. Dengan demikian, saya dapat melihat objek sebagai simpul dalam grafik dan hubungan telah tepi dan tepi dapat ditimbang tergantung pada jenis hubungan (baik komposisi, asosiasi, atau agregasi).
Dari sudut pandang pengguna, menambahkan elemen baru dapat menjadi satu klik dan di bawah kap, program membuat grafik objek yang dihubungkan oleh hubungan. Grafik ini, kemudian ditambahkan ke grafik utama yang mendefinisikan seluruh database. Menghapus sebuah elemen, akan menjadi kebalikan dari tautan / tepian yang terputus dan grafik menjadi dua grafik terpisah di mana 1 adalah basis data, dan yang lainnya terdiri dari simpul yang dibentuk oleh elemen dan sub elemennya.
Saya perlu cara yang sangat cepat untuk menentukan kapan saya memiliki grafik disjoint dan kapan 2 grafik disjoint menjadi 1 lagi. Saya sempat melihat Holm, de Lichtenberg, dan Thorup ( 2001 ; pdf ). Sepertinya cara untuk pergi, tetapi penulis memang menyebutkan mereka hanya mempertimbangkan grafik dengan jumlah simpul tetap. Hanya bertanya-tanya apakah algoritma biasanya memperluas diri untuk menambah / menghapus simpul dengan hanya melakukan penambahan tepi secara bertahap? Atau apakah ada karya yang dirancang khusus untuk skenario seperti itu?
sumber