الگوریتمستان
برنامهنویسی، طراحی الگوریتم و حل مسئلههای الگوریتمی
الگوریتم پیمایش اول سطح یا جستجوی اول سطح (Breadth First Search - BFS) از جمله الگوریتمهای مشهور پیمایش و جستجوی گراف است که در حل مسائل الگوریتمی و هوش مصنوعی کاربرد دارد. این الگوریتم برای پیمایش و جستجوی گراف از یک صف برای نگهداری ترتیب جستجو استفاده میکند.
الگوریتم BFS با وارد کردن گره مبدأ به صف پردازش شروع شده و تا خالی نشدن این صف مراحل زیر را تکرار میشود:
1- عنصر جلوی صف را به عنوان گره جاری انتخاب و از صف حذف کن.
2- گره جاری را پردازش کن.
صف اولویتدار (یا صف اولویتی - Priority Queue) از جمله ساختمان دادههای بسیار پرکاربرد است. در صف عادی از تکنیک FIFO - مخفف First In First Out - استفاده میشود. در این تکنیک، مثل یک صف نانوایی، دادهها به ترتیب ورود پشت سر هم در صف قرار میگیرند. بنابراین اولین دادهی ورودی، اولین دادهی خروجی نیز خواهد بود. اما در صف اولویتدار برای هر داده، اولویتی - نه لزوما منحصربفرد - مشخص میشود. صف اولویت را میتوان به اورژانس یک بیمارستان تشبیه کرد که هر بیمار با شدت بیماری بیشتر اولویت بیشتری برای رسیدگی دارد. سیستم عامل کامپیوتر هم برای مدیریت پردازشها از صفهای اولویتدار استفاده میکند.