İlk önce şunu anlayacağız ikili ağaç Ve ikili arama ağacı ayrı ayrı inceleyeceğiz ve sonra ikili ağaç ile ikili arama ağacı arasındaki farklara bakacağız.
İkili ağaç nedir?
A İkili ağaç bir
İkili ağaç şu şekilde temsil edilebilir:
Yukarıdaki şekilde her düğümün en fazla 2 çocuk içerdiğini görebiliriz. Herhangi bir düğüm sol veya sağ çocuk içermiyorsa işaretçinin o çocuğa göre değeri NULL olacaktır.
İkili ağaçta kullanılan temel terminolojiler şunlardır:
İkili ağaçta, bir ağaç olarak bilinen bir ağaç vardır. mükemmel ikili ağaç . Bu bir tüm iç düğümlerin iki düğüm içermesi ve tüm yaprak düğümlerin aynı derinlikte olması gereken ağaç. Mükemmel bir ikili ağaç durumunda, ikili ağaçta bulunan toplam düğüm sayısı aşağıdaki denklem kullanılarak hesaplanabilir:
n = 2m+1-1
burada n düğüm sayısı, m ise düğümün derinliğidir.
İkili Arama ağacı nedir?
A İkili arama ağacı elemanları düzenlemek için belirli bir sırayı takip eden bir ağaçtır, oysa ikili ağaç herhangi bir sırayı takip etmez. İkili arama ağacında, sol düğümün değeri üst düğümden küçük olmalı ve sağ düğümün değeri üst düğümden büyük olmalıdır.
Örneklerle ikili arama ağacı kavramını anlayalım.
Yukarıdaki şekilde kök düğümün değerinin 15 olduğunu ve bu değerin sol alt ağaçtaki tüm düğümlerin değerinden daha büyük olduğunu görebiliyoruz. Kök düğümün değeri, sağ alt ağaçtaki tüm düğümlerin değerlerinden küçüktür. Şimdi kök düğümün sol çocuğuna geçiyoruz. 10, 8'den büyük ve 12'den küçüktür; aynı zamanda İkili arama ağacının özelliğini de karşılar. Şimdi kök düğümün sağ çocuğuna geçiyoruz; 20 değeri 17'den büyük ve 25'ten küçüktür; aynı zamanda ikili arama ağacının özelliğini de karşılar. Dolayısıyla yukarıda gösterilen ağacın ikili arama ağacı olduğunu söyleyebiliriz.
Şimdi yukarıdaki ikili ağaçta 12'nin değerini 16'ya değiştirirsek bunun hala bir ikili arama ağacı olup olmadığını bulmamız gerekir.
Kök düğümün değeri 15'tir, bu da 10'dan büyük ancak 16'dan küçüktür, dolayısıyla İkili arama ağacının özelliğini karşılamaz. Bu nedenle ikili arama ağacı değildir.
İkili arama ağacındaki işlemler
İkili arama ağacı üzerinde ekleme, silme ve arama işlemlerini gerçekleştirebiliriz. İkili aramada aramanın nasıl yapıldığını anlayalım. Arama işlemini gerçekleştirmemiz gereken ikili ağaç aşağıda gösterilmektedir:
Yukarıdaki ikili ağaçta 10'u aramamız gerektiğini varsayalım. İkili aramayı gerçekleştirmek için sıralanmış bir dizideki tüm tam sayıları dikkate alacağız. Öncelikle arama alanında tam bir liste oluşturuyoruz ve tüm sayılar arama alanında yer alacak. Arama alanı iki işaretçiyle (başlangıç ve bitiş) işaretlenir. Yukarıdaki ikili ağacın dizisi şu şekilde temsil edilebilir:
Öncelikle ortadaki elemanı hesaplayacağız ve ortadaki elemanı aranacak elemanla karşılaştıracağız. Ortadaki eleman n/2 kullanılarak hesaplanır. N'nin değeri 7'dir; dolayısıyla ortadaki eleman 15'tir. Ortadaki eleman aranan elemana yani 10'a eşit değildir.
Not: Aranan eleman ortadaki elemandan küçükse arama sol yarıda gerçekleştirilecektir; aksi takdirde arama sağ yarıda yapılacaktır. Eşitlik durumunda eleman bulunur.
Aranacak eleman orta elemandan küçük olduğundan arama sol dizide yapılacaktır. Şimdi aşağıda gösterildiği gibi arama yarıya indirildi:
Sol dizideki orta eleman 10'dur ve bu da aranan elemana eşittir.
Zaman karmaşıklığı
İkili aramada n öğe vardır. Ortadaki eleman aranan elemana eşit değilse arama uzayı n/2'ye düşürülür ve elemanı bulana kadar arama uzayını n/2 oranında azaltmaya devam edeceğiz. Tüm indirgemede, eğer n'den n/2'ye, oradan da n/4'e vb. gidersek, o zaman log alacaktır.2n adım.
İkili ağaç ile İkili arama ağacı arasındaki farklar
Karşılaştırmanın temeli | İkili ağaç | İkili arama ağacı |
---|---|---|
Tanım | İkili ağaç, bir düğümün en fazla iki çocuğa sahip olabileceği, yani bir düğümün 0, 1 veya maksimum iki çocuğa sahip olabileceği doğrusal olmayan bir veri yapısıdır. İkili arama ağacı, bir ağaçtaki düğümleri düzenlemek için belirli bir sıranın takip edildiği sıralı bir ikili ağaçtır. | |
Yapı | İkili ağacın yapısı, ilk düğümün veya en üstteki düğümün kök düğüm olarak bilinmesidir. İkili ağaçtaki her düğüm, sol işaretçiyi ve sağ işaretçiyi içerir. Sol işaretçi sol alt ağacın adresini içerirken sağ işaretçi sağ alt ağacın adresini içerir. | İkili arama ağacı, sol alt ağaçtaki tüm düğümlerin değeri kök düğümden küçük veya ona eşit olan ve sağ alt ağaçtaki tüm düğümlerin değeri kök düğümden büyük veya ona eşit olan ikili ağaç türlerinden biridir. kök düğümün değeri. |
Operasyonlar | İkili ağaçta uygulanabilecek işlemler ekleme, silme ve geçiştir. | İkili arama ağaçları hızlı ekleme, silme ve arama sağlayan sıralanmış ikili ağaçlardır. Aramalar esas olarak tüm anahtarlar sıralı düzende düzenlendiğinden ikili aramayı uygular. |
türleri | Dört tür ikili ağaç vardır: Tam İkili Ağaç, Tam İkili Ağaç, Mükemmel İkili Ağaç ve Genişletilmiş İkili Ağaç. | AVL ağaçları, Splay ağacı, Tango ağaçları vb. gibi farklı ikili arama ağacı türleri vardır. |