سلام
مگر نه اینکه:
برای پیاده سازی اول بهترین از صف اولویت استفاده می کنیم.ابتدا که فقط ریشه رو داریم.بعد ریشه رو به لیست نودهای مرده(یا close)می بریم و فرزندانش را به لیست نودهای زتده(یا open) و....
همینکه ساختار پیاده سازی به صورت صف هست یعنی ترتیب مشاهده نودها باید رعایت بشه.حالا چون صفمون اولویت هستش،نودی که اینجا fکمتری داره میاد اول صف،اما نودهای دیگه(با fمساوی) که ترتیبشون به هم نمی خوره. میخوره؟
من اگه بخوام حل کنم اینطوری می نویسم :
a4
b6,c4,d6 => c4,b6,d6
b6,d6,e5,f5,g6 => e5,f5,b6,d6,g6
f5,b6,d6,g6,h6,i7 =>مرتب هست
b6,d6,g6,h6,i7,j5,k7 => j5,b6,d6,,g6,h6,i7,k7
و...
اگه زمانی نیاز شد که یکی از fهای مساوی رو انتخاب کنم، رندوم انتخاب میکنم.