Ön Sipariş geçişi Derinlik İlk Arama ile aynı mıdır?


13

Bana öyle geliyor ki ön sipariş geçişi ve DFS, her iki durumda da kökten sol ve arkaya ve daha sonra da tekrar sağa doğru ilerliyoruz. Yanılıyorsam lütfen beni düzeltebilir misiniz?

Şimdiden teşekkürler!

Yanıtlar:


10

ön sipariş geçişi bir geçiştir, ikili ağaçtaki her düğümü ziyaret eder

Derinlik İlk Arama bir aramadır, belirli bir düğümü arayan keyfi bir grafik etrafında döner (döngüsel olmayan bir grafikte (ağaç olarak da bilinir) en iyi şekilde çalışır)

bu tek başına onlara fark isimleri diyebilecek kadar büyük bir farktır


1
+1, ancak sipariş öncesi ve sipariş sonrası geçişlerin yalnızca daha genel DFS stratejisinin özel durumları olduğunu eklemek istiyorum.
Frank

1
Geçiş ön siparişi sadece düğümleri çocuklarından önce işlemek anlamına gelmez mi? Düğümlerin bir ikili ağaç, hatta bir ağaç oluşturduğunu nerede söylüyor?
Kilian Foth

@KilianFoth Çocuklara sahip bir düğümün (komşuların aksine) bir düğüm hiyerarşisi önerdiği için bir ağaç yapısı ima etmesini beklerdim. Hiyerarşinin üst kısmı ağacın köküdür. Ancak ikili olmayanlar bile herhangi bir ağaçta ön sipariş geçişi ve sipariş sonrası geçişi mantıklı düşünebilirim.
YoungJohn

1

Evet, ama tam tersi olmalı: DFSbuna benzer PreOrder.
Terim ikili ağaçlar ve ayrıştırıcılar PreOrderiçin daha önemlidir . Bir ikili ağacın diğer kastetmek emirleri ile karşılaştırmak için kullanılır: , ve . Topolojik Sıralama, Sipariş Sırası geçişine benzer (tüm bitişik düğümleri ziyaret ettikten sonra düğümü yığına doğru itin).
InOrderPostOrderPreOrder


Düşüncelerim bu cevaba benzer. Daha spesifik olarak, bir ön sipariş, DFS'nin ana kategorisinin özel bir uygulamasıdır. Ön sipariş çocuk geçişi katı bir şekilde sola sonra sağa bırakılır; genel (ana) DFS için çocukların geçiş sırası tanımlanmamıştır ve herhangi bir düzen olabilir.
Jerred S.10

-1

Preorder'da bir ikili ağacın üzerinden geçmek için aşağıdaki işlemler yapılır

  1. Kökü ziyaret edin
  2. Sol alt ağacı geç
  3. Doğru alt ağacı geçin

Aşağıdaki görüntüde ön sipariş geçişi, 1,2,3,6,4,5,7,8,9,10,11,12 olacaktır.

Aynı resimde DFS için 1,2,3,4,5,6,7,8,9,10,11,12

DFS Kaynağı: http://datastructuresnotes.blogspot.in/2009/02/binary-tree-traversal-preorder-inorder.html

Ön Sipariş Kaynağı: Wiki

DFS


9
Bu bir ikili ağaç değil. Bu bir ağaç, ama ikili değil.
Manoj R

"6" nın alt düğümleri olduğunda ne olur?
Marjan Venema

DFS mi yoksa ön sipariş mi istiyorsunuz?
Zedaiq

@ManojR Yukarıda belirtilen kaynaktan aldım.
Zedaiq

Bu grafikte ön sipariş aynı cevabı veriyor
Charles Chow
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.