Balance Tree

Son Teslim Tarihi: 18 Kasım 2018 00:20
Bütçe: ~100 TL
Bilgisayar Bilgisayar Yazılım Data Structures Code C Code Eclipse C Programming
iterative preorder fonksiyonundaki stack mantığını kullanarak recursive balance fonksiyonunu iterative hale getireceksin.
Recursive balance fonksiyonunu tamamladıktan sonra recursive mantığın nasıl çalıştığını anlaman gerekecek. Çünkü recursive fonksiyonlar aslında sizin görmediğiniz şekilde stack kullanarak çalışır. Sen bu durumu kendi stack fonksiyonlarınla yazacaksın.
Stack in recursive i iteratif e çevirmek için kullanımını anlamak için aşağıda belirttiğim tanımdaki iteratif preorder ı da kullanabilirsin.

preorder(node)
stack = empty stack
while (!isEmpty(stack) or (node != null))
if (node != null)
visit(node)
if (node->right != null) push(stack, node->right)
node = node->left
else
node = pop(stack)

Elimde çalışan kod var fakat balance yapmıyor. Bu kod üzerinden devam edilmesi gerekiyor. Inorder fonksiyonunu ağacı balance etmeden önce sıralı şekilde array e almak için kullanman gerekiyor.
Eklenen dosyaları görmek için giriş yapınız !

Bu Görev Yayında Değil