Saya mencoba mencari tahu seperti apa struktur data yang digunakan untuk memodelkan beberapa penggunaan jaringan hipotetis dan ideal.
Dalam skenario saya, sejumlah pengguna yang bermusuhan satu sama lain semua mencoba membentuk jaringan komputer di mana semua koneksi potensial diketahui. Komputer yang perlu disambungkan satu pengguna mungkin tidak sama dengan komputer yang harus disambungkan oleh pengguna lain; pengguna 1 mungkin perlu menghubungkan komputer A, B dan D sedangkan pengguna 2 mungkin perlu menghubungkan komputer B, C dan E.
Gambar dihasilkan dengan bantuan NCTM Graph Creator
Saya pikir inti dari ini akan menjadi grafik siklik tidak berarah, dengan node mewakili komputer dan tepi mewakili kabel Ethernet. Namun, karena sifat skenario, ada beberapa fitur yang tidak biasa yang mengesampingkan daftar adjacency dan matriks adjacency (setidaknya, tanpa modifikasi non-sepele):
- ujung-ujungnya bisa menjadi penggunaan terbatas; yaitu, jika satu pengguna memperoleh koneksi jaringan tertentu, tidak ada pengguna lain yang dapat menggunakan koneksi itu
- dalam contoh, pengguna hijau tidak dapat terhubung ke komputer A, tetapi pengguna merah telah terhubung B ke E meskipun tidak memiliki tautan langsung di antara mereka
- dalam beberapa kasus, sepasang node tertentu akan dihubungkan oleh lebih dari satu sisi
- dalam contoh, ada dua kabel independen yang berjalan dari D ke E, sehingga pengguna hijau dan biru sama-sama dapat menghubungkan mesin-mesin itu secara langsung; Namun, merah tidak bisa lagi membuat koneksi seperti itu
- jika dua komputer dihubungkan oleh lebih dari satu kabel, setiap pengguna dapat memiliki tidak lebih dari satu kabel itu
Saya perlu melakukan beberapa operasi pada grafik ini, seperti:
- menentukan apakah ada pasangan komputer tertentu yang terhubung untuk pengguna tertentu
- mengidentifikasi jalur optimal bagi pengguna tertentu untuk menghubungkan komputer target
- mengidentifikasi koneksi komputer dengan latensi tertinggi untuk pengguna tertentu (yaitu jalur terpanjang tanpa bercabang)
Pikiran pertama saya adalah membuat koleksi semua tepian, tapi itu mengerikan untuk pencarian. Hal terbaik yang dapat saya pikirkan untuk dilakukan sekarang adalah memodifikasi daftar adjacency sehingga setiap item dalam daftar tidak hanya berisi panjang tepi tetapi juga biaya dan pemilik saat ini. Apakah ini pendekatan yang masuk akal? Dengan asumsi ruang bukan masalah, apakah masuk akal untuk membuat beberapa salinan grafik (satu untuk setiap pengguna) daripada satu grafik?