Próbuję zaimplementować algorytm dijkstra z kolejką priorytetową, ale nie mogę zrozumieć, jak to działa. Czytam wiele przewodników w Internecie, ale w ogóle nie rozumiem tego algorytmu.Algorytm Dijkstry z kolejką o priorytecie min
Moje pytanie brzmi: jaki jest priorytet każdego węzła? Myślę, że jest to ciężar przychodzącej krawędzi z minimalną wartością, ale nie jestem pewien. Czy to prawda?
Drugie pytanie, kiedy wyodrębniam źródło kolejki, jak działa, jeśli ten węzeł nie jest przyległy do żadnego z odwiedzanych węzłów?
Jeśli myślisz jak Dijkstry "Szerokość pierwszego poszukiwaniu ważonych wykresów," staje się dość łatwo Rozumiesz. Aby odpowiedzieć na twoje pytania: 1. Niezupełnie - to minimum krawędzi ** przemierzonych daleko **. 2. Podobnie jak w przypadku BFS, jeśli nie sąsiaduje z odwiedzanym węzłem, nie można go jeszcze odwiedzić. Jeśli nie jest * osiągalne * z odwiedzonego węzła, nigdy nie zostanie odwiedzone. –