İkili Arama Ağaçları
-
Merhabalar arkadaşlar;
Küçük bi program yazmam gerekn bir ödevim var yardımcı olabilirseniz sevinirim.
Soru: Verilen bir tamsayı dizisi içindeki değerler sıra ile okunarak bu değerler doğrultusunda
bir ikili arama ağacı oluşturulacak. Bu ağacın düğümmlerini tutacak olan struct ve ilgili
fonksiyonlar aşağıdaki gibi:
struct node t
{
int data ;
int weight ; /*denge faktoru . */struct node_t *l; /*solcocuk . */
struct node_t *r; /*sag cocuk . */
};
struct node_t *node_add ( int data ) ;
Bu ozellikler dogrultusunda ikili arama ağacını oluşturan ve bu ağaçta yer alan düğümlerin
denge faktoru alanlarına uygun degerleri yerlestiren bir program yazınız. -
Yani diyorsun k, "arkadaşlar ben binary search tree ile uğraşıyorum ve AVL Tree yapamadım. Benim için yapar mısınız?"
Sana şuradan bir "Hadi len!" çekeyim affına sığınarak.
Akabinde de şunu söyleyeyim, "Göz var, nizam var, bir de Cormen var." Cormen'in Introductions to Algorithms adlı güzel bir kitabı da var. Orada da AVL Tree pseude code'u var.
Git ara gülüm, bizi uğraştırma :)
Ha bu arada, yarın da red-black tree için gelmeye kalkma, olur mu?
Burası ödev sitesi değil kardeşim, emek verip öğrenmen gerekiyor.
İstersen sana 5 dakikada bir binary search tree kodu yazayım java'da. Ama AVL'yi bekleme :)
-
ben kod yazılmasını istemedim zaten sadece biraz yardım istedim. Genel bi fikir olması açısından. kaynak göstermişin saolasın.
-
Soruyu ve bitiş cümlesini okuyunca cevapta ifade ettiğin anlam çıkmıyor.
Aradığın şey dediğim gibi AVL tree'dir. Pseude code olmaksızın yazımı gerçekten çok zordur. Bir oturuşta kafasından yazacak adam bilmiyorum :)
Self balanced tree'ler çatısı altında yer alır.
Epeyce kaynak ve kod bulabilirsin google'da. http://www.google.com/codesearch adresini de kullanabilirsin.
