Perbezaan Antara BFS dan DFS Perbezaan Antara

Anonim

BFS vs DFS

Breadth First Search (juga dikenali sebagai BFS) adalah kaedah carian yang digunakan untuk meluaskan semua nod graf tertentu. Ia menyelesaikan tugas ini dengan mencari setiap penyelesaian tunggal untuk memeriksa dan mengembangkan nod ini (atau kombinasi urutan di dalamnya). Oleh itu, BFS tidak menggunakan algoritma heuristik (atau algoritma yang mencari penyelesaian melalui pelbagai senario). Selepas semua nod diperolehi, ia akan ditambahkan kepada giliran yang dikenali sebagai giliran First In, First Out. Mereka nod yang belum dieksplorasi 'disimpan' dalam bekas yang bertanda 'terbuka'; sekali dieksplorasi mereka diangkut ke sebuah bekas bertanda 'tertutup'.

- Pertama - Search First (juga dikenali sebagai DFS) adalah satu kaedah carian yang menyebarkan lebih jauh ke dalam nod kanak-kanak mencari sehingga matlamat dicapai (atau sehingga ada nod tanpa sebarang permutasi lain atau ' kanak-kanak '). Selepas satu matlamat dijumpai, backtrans carian ke nod sebelumnya yang telah dilakukan dengan penyelesaian, mengulangi proses sehingga semua nod telah berjaya dicari. Oleh itu, nod terus diketepikan untuk diterokai selanjutnya - ini dipanggil pelaksanaan bukan rekursif.

Ciri-ciri BFS adalah ruang dan kerumitan masa, kesempurnaan, bukti kesempurnaan, dan optimum. Kerumitan ruang merujuk kepada perkadaran bilangan nod pada tahap pencarian paling dalam. Kerumitan masa merujuk kepada jumlah sebenar 'masa' yang digunakan untuk mempertimbangkan setiap laluan nod yang akan diambil dalam pencarian. Kelengkapan adalah, pada asasnya, pencarian yang mencari penyelesaian dalam graf tanpa mengira jenis graf itu. Buktinya kesempurnaan adalah tahap paling cetek di mana matlamat ditemui dalam nod pada kedalaman yang pasti. Akhirnya, optimasi merujuk kepada BFS yang tidak berwajaran - iaitu graf yang digunakan untuk kos unit-langkah.

DFS adalah output yang paling semula jadi menggunakan sebilangan pokok - yang merupakan pokok yang terdiri daripada semua titik dan beberapa tepi dalam graf yang tidak diarahkan. Dalam pembentukan ini, graf dibahagikan kepada tiga kelas: Hadapan ke hadapan, menunjuk dari nod ke nod kanak-kanak; belakangnya, menunjuk dari nod ke nod terdahulu; dan tepi silang, yang tidak melakukan salah satu daripada ini.

Ringkasan:

1. BFS mencari setiap penyelesaian tunggal dalam grafik untuk mengembangkan nodnya; lubang DFS di dalam nod kanak-kanak sehingga matlamat dicapai.

2. Ciri-ciri BFS adalah ruang dan kerumitan masa, kesempurnaan, bukti kesempurnaan, dan optimum; output yang paling semula jadi untuk DFS adalah pokok yang merangkumi dengan tiga kelas: tepi depan, tepi belakang, dan tepi silang.