Biraz araştırma yaptım ve bu algoritmanın küçük bir parçasını kaçırıyor gibiyim. Bir Genişlik İlk Aramanın nasıl çalıştığını anlıyorum, ancak her bir düğümün nereye gidebileceğini söylemek yerine, beni belirli bir yola tam olarak nasıl götüreceğini anlamıyorum. Sanırım kafa karışıklığımı açıklamanın en kolay yolu bir örnek sağlamaktır:
Örneğin, şöyle bir grafiğim olduğunu varsayalım:
Ve amacım A'dan E'ye gitmek (tüm kenarlar ağırlıksız).
A'dan başlıyorum çünkü bu benim kökenim. A'yı sıraya koyuyorum, ardından hemen A'yı sıradan çıkarıp araştırıyorum. Bu, B ve D'yi verir, çünkü A, B ve D'ye bağlıdır. Böylece hem B hem de D'yi sıraya koyarım.
B'yi çıkarıp araştırıyorum ve bunun A'ya (zaten keşfedilmiş) ve C'ye götürdüğünü buluyorum, bu yüzden C'yi sıraya koyuyorum. Sonra D'nin sırasını çıkarıyorum ve onun E'ye götürdüğünü buluyorum, amacım. Daha sonra C'yi sıralıyorum ve bunun da hedefim olan E'ye götürdüğünü buluyorum.
Mantıksal olarak en hızlı yolun A-> D-> E olduğunu biliyorum, ancak en geniş aramanın tam olarak nasıl yardımcı olduğundan emin değilim - bitirdiğimde sonuçları analiz edip görebileceğim şekilde yolları nasıl kaydetmeliyim? en kısa yolun A-> D-> E olduğunu?
Ayrıca, aslında bir ağaç kullanmadığımı, dolayısıyla "ebeveyn" düğümlerinin olmadığını, yalnızca alt düğümlerin olduğunu unutmayın.