سه لابراتوار تعاملی برای الگوریتمهای گراف
خلاصهٔ کاملتر
کیروپا تو تازهترین پستش میگه الگوریتمهای گراف وقتی داری دربارشون میخونی کاملاً منطقی به نظر میرسن، ولی پیچیدگیهای ریزشون تازه موقع استفاده خودشون رو نشون میدن. برای همین دو محیط تعاملی ساخته که بشه تصمیمهای هر الگوریتم رو یکییکی تماشا کرد.
سؤال سادهست: تو یه گراف از A به F چطور میرسیم؟ DFS میگه تا جایی که میشه همین مسیر رو ادامه بدیم، BFS میگه اول همهی همسایههای نزدیک رو چک کنیم و دایکسترا میپرسه کدوم مسیر کمترین هزینهی کل رو داره. گراف یکیه، ولی مسیری که هرکدوم پیدا میکنن میتونه کاملاً فرق کنه.
لابراتوار DFS/BFS با همون گراف A تا H آموزشِ سایت شروع میشه و ازت میخواد مسیری از A به F پیدا کنی. میتونی بین DFS و BFS سوییچ کنی، جستوجو رو قدمبهقدم جلو ببری و ببینی لیست گرههای کشفشده تو یکی مثل استک و تو اونیکی مثل صف رفتار میکنه.
لابراتوار دایکسترا هم روی مثال گراف وزندارِ همون آموزش سوار شده: گراف تولید میکنی، گرهها و یالها رو دلخواه تغییر میدی و میبینی الگوریتم چطور بهترین فاصلههای شناختهشده رو بهروز میکنه تا ارزونترین مسیر از A به F بیرون بیاد.
به گفتهی نویسنده، نکتهی خوب این لابراتوارها اینه که چیزی پنهون نمیمونه؛ گره فعلی، گرههای در انتظار بررسی، مسیر نهایی و یادداشتهایی که دلیل هر حرکت رو توضیح میدن، همه دیده میشن. خودش اسمش رو میذاره یه کف شیشهای برای گراف: از نظر معماری کمی ترسناک، ولی برای یادگیری خیلی مفید.
نکات کلیدی:
- DFS تا ته یه مسیر میره، BFS اول همسایههای نزدیک رو میگرده و دایکسترا دنبال کمهزینهترین مسیره
- دو لابراتوار تازه اضافه شده: یکی برای DFS و BFS و یکی برای دایکسترا
- اجرای قدمبهقدم با نمایش گره فعلی، رفتار استک/صفِ کشفشدهها و مسیر نهایی
- تو لابراتوار دایکسترا میشه گراف وزندار ساخت و گرهها و یالها رو ویرایش کرد




