İkili Ağac üçün BFS və DFS

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Amazon Infosys MAQ TCS
Genişlik İlk Axtarış Dərinlik İlk Axtarış nəzəriyyə AğacBaxılıb 28

Genişlik İlk Axtarış (BFS)

Onsuz da bilirikmi? əslində BFS nədir? yoxsa onda özünüzü pis hiss etməyinizə ehtiyac yoxdur, məqaləni tam oxuyun və əvvəlki məqaləmizi ziyarət edin Genişlik İlk Axtarış daha yaxşı başa düşmək üçün. BFS hər səviyyədə soldan sağa ikili ağacın düyünlərini ziyarət etdiyimiz bir səviyyə sifarişidir.

İstifadə edərək Sıra məlumat strukturu, səviyyə sifarişinin keçidini tapırıq. Kökdən başlayırıq, sonra BFS-yə kök əlavə edirik və həmin düyünün bütün qonşularını növbəyə əlavə edirik. Bundan sonra düyünü növbədən çıxarın və ziyarət edilmədiyi təqdirdə BFS-yə əlavə edin və hamısını qonşu (dəvət olunmamış) növbəyə əlavə edin. Növbənin ölçüsü null-a bərabər olmayanadək təkrarlayın.

Dərinlik İlk Axtarış (DFS)

DFS-nin əslində nə olduğunu da bilirikmi? Haqqında əvvəlki məqaləmizi ziyarət edə bilərsiniz Dərinlik İlk Axtarış. BT-nin DFS-si üç növ keçiddir:

  1. Əvvəlcədən Traversal
  2. Daxili keçid
  3. Poçt Sifarişi

Əvvəlcədən Traversal

Algorithm:
Preorder(root):
Step:1 Print the data of the Node.
Step:2 Move to the left side of the node(traverse left-subtree).
Step:3 Move to the right side of the node(traverse right-subtree).

Daxili keçid

Algorithm: 
Inorder(root): 
Step:1 Move to the left side of the node(traverse left-subtree).
Step:2 Print the data of the Node.  
Step:3 Move to the right side of the node(traverse right-subtree).

Poçt Sifarişi

Algorithm: 
Postorder(root):  
Step:1 Move to the left side of the node(traverse left-subtree). 
Step:2 Move to the right side of the node(traverse right-subtree).
Step:3 Print the data of the Node.

Diflas ikili ağacın BFS və DFS arasında

İstifadə olunan məlumat strukturunun növü

BFS-də a queue tip məlumat quruluşu və DFS-də istifadə edirik qalaq məlumat quruluşunu yazın.

Kosmik Mürəkkəblik

BFS-də səviyyə elementlərini saxlamaq üçün növbə istifadə edirik ki, BFS-də istifadə olunan maksimum yer olsun O (w) burada w bir səviyyədə maksimum elementdir. DFS-də yığını istifadə edirik və dərinlik konsepsiyasına əməl edirik. Beləliklə, ağacın maksimum hündürlüyü qiymətləndirmək üçün maksimum yer alır. Yəni DFS-nin kosmik mürəkkəbliyi O (H) burada H ağacın hündürlüyüdür.

Zamanın mürəkkəbliyi

vaxt hər iki halın da mürəkkəbliyi O (N + E) olacaqdır, burada N BT-də ümumi qovşaqları, E də BT-də ümumi kənarları göstərir.

Kök düyünə ən yaxın bir qovşaq axtarırıq

Ən yaxşı nəticə əldə etmək üçün BFS-dən istifadə edərək kök qovşağına ən yaxın olan bu tip qovşaqları axtarırıq, çünki səviyyə düzəlişini izləyir.

Kök qovşağından bir qovşaq axtarırıq

Ən yaxşı nəticə əldə etmək üçün bu halda DFS istifadə edirik, çünki dərinlik konsepsiyasına uyğundur.

Məna

BFS genişlik ilk axtarış mənasını verir və DFS dərinlik ilk axtarış mənasını verir.

İstifadə olunan məlumat strukturunun növü

BFS Queue tipli məlumat quruluşundan və DFS Stack tipli məlumat quruluşundan istifadə etdi.

Əsas

BFS vertex əsaslı bir alqoritmdir və DFS kənar əsaslı bir alqoritmdir.

Sürətləndirmək

BFS DFS-dən daha yavaşdır.

arayış

Müsahibə Suallar

Translate »