Depth First Search معمولاً زمانی استفاده می شود که باید کل درخت را جستجو کنید. پیادهسازی آن (با استفاده از بازگشت) نسبت به BFS آسانتر است و به حالت کمتری نیاز دارد: در حالی که BFS از شما میخواهد کل «مرز» را ذخیره کنید، DFS فقط به شما نیاز دارد که لیست گرههای والد عنصر فعلی را ذخیره کنید.
چه زمانی DFS بهتر از BFS است؟
BFS برای جستجوی راس هایی که به منبع داده شده نزدیکتر هستند مناسب تر است. زمانی که راهحلهایی دور از منبع وجود دارد، DFS مناسبتر است. 4. BFS ابتدا همه همسایگان را در نظر می گیرد و بنابراین برای درختان تصمیم گیری که در بازی ها یا پازل ها استفاده می شوند مناسب نیستند.
DFS برای چه چیزی می تواند استفاده شود؟
برنامه ها. جستجوی عمقی در مرتبسازی توپولوژیک ، مسائل زمانبندی، تشخیص چرخه در نمودارهایو حل پازلها تنها با یک راهحل، مانند پیچ و خم یا پازل سودوکو، استفاده میشود. سایر برنامهها شامل تجزیه و تحلیل شبکهها میشوند، برای مثال، آزمایش دوبخشی بودن یک نمودار.
مزایا و معایب DFS چیست؟
اگر از مسیر درست عبور کند در مدت زمان کمتری نسبت به BFS به گره هدف می رسد. ممکن است بدون بررسی زیاد جستجو راه حلی را بیابد زیرا ممکن است در همان ابتدا به راه حل مورد نظر دست پیدا کنیم. معایب: احتمال دارد که حالت ها دوباره تکرار شوند.
مزیت DFS نسبت به BFS چیست؟
اساساً مسیر اول را ادامه می دهد و هرگز عنصر را پیدا نمی کند. BFS در نهایت آن را پیدا می کندعنصر. اگر اندازه نمودار متناهی باشد، DFS احتمالاً عنصر پرت (فاصله بزرگتر بین ریشه و هدف) را سریعتر پیدا می کند که در آن BFS عنصر نزدیکتر را سریعتر می یابد.