Saya mencoba untuk mengetahui bagaimana Path Graph menurut Algoritma Eppstein dalam makalah ini bekerja dan bagaimana saya dapat merekonstruksi jalur terpendek dari ke dengan konstruksi tumpukan yang sesuai .
Sejauh ini:
berisi semua tepi meninggalkan simpul dalam grafik yang bukan bagian dari jalur terpendek di . Mereka tumpukan-dipesan oleh "buang-buang waktu" yang disebut saat menggunakan tepi ini bukan yang di jalur yang terpendek. Dengan menerapkan Dijkstra saya menemukan jalur terpendek ke setiap titik dari .
Saya dapat menghitung ini dengan mengambil panjang dari tepi + (nilai dari puncak kepala (di mana ujung diarahkan ke) - nilai dari puncak ekor (di mana tepi diarahkan mulai) .Jika ini adalah itu tidak berada di jalur terpendek, jika berada di jalur terpendek.
Sekarang saya membangun 2-Min-Heap dengan heapifying set tepi sesuai dengan untuk setiap , di mana root hanya memiliki satu anak (= subtree).
Untuk membangun saya memasukkan di mulai dari terminal titik . Setiap kali sebuah titik entah bagaimana disentuh saat memasukkan itu ditandai dengan .
Sekarang saya dapat membuat dengan memasukkan sisa di . Setiap simpul dalam berisi 2 anak dari H_T (v) dan 1 dari H_ {out} (w) atau 0 dari yang pertama dan 2 dari yang kedua dan merupakan tumpukan 3.
Dengan saya dapat membangun DAG yang disebut berisi titik untuk setiap titik bertanda dari H_T (v) dan untuk setiap titik non-root dari .
Akar dalam disebut dan mereka terhubung ke simpul yang mereka miliki sesuai dengan oleh "pemetaan".
Sejauh ini baik.
Makalah mengatakan saya bisa membuat dengan memasukkan root dan menghubungkan ini ke dengan tepi inital dengan . Simpul adalah sama dalam tetapi tidak tertimbang. Tepinya memiliki panjang. Kemudian untuk setiap tepi terarah tepi yang sesuai di dibuat dan ditimbang oleh . Mereka disebut Heap Edges. Kemudian untuk setiap simpul , yang mewakili sebuah tepi bukan di jalur terpendek yang menghubungkan sepasang simpul dan , "tepi silang" dibuat dari ke dalam memiliki panjang . Setiap dhuwur dalam hanya memiliki tingkat keluar maks.
jalur 's mulai dari seharusnya menjadi satu-ke-satu panjang korespondensi antara - -paths di .
Pada akhirnya tumpukan baru memerintahkan 4-Heap dibangun. Setiap dhuwur berkorespondensi dengan lintasan dalam berakar pada . Induk dari simpul mana pun memiliki satu tepi lebih sedikit. Berat vertex adalah panjang dari jalur yang sesuai.
Untuk menemukan jalur terpendek saya menggunakan BFS ke dan "menerjemahkan" hasil pencarian ke jalur dengan menggunakan .
Sayangnya, saya tidak mengerti bagaimana saya bisa "membaca" dan kemudian "menerjemahkannya" melalui untuk menerima jalur terpendek .