Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Üç farklı taramayla verilen ağacın çizilmesi
Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-16:17 #52513
DLR = ABCDIJEFGH
LDR = CIDJBAEGFH
LRD = IJDCBGHFEA

arkadaşlar, bu taramalarla verilen ağacı çizerken hangi harfin nereye geleceğini nasıl buluyoruz?





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
mrflz


avatar
Luleburgaz
admin
Kayıt: 15.06.2006
15.11.2008-16:22 #52514
--- soruyu tam acık yazmamıssın. nerede agac cizlecek ?!





I see the ghosts of navigators but they are lost







Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-16:33 #52515
cevabı kod olarak değil de grafik olarak isteniyor, yani bir ağaç var ve yukarıdaki algoritmalar uygulanınca sonuçları sağındaki gibi oluyr, biz bu sonuçlara bakarak ağacın şeklini çizmek istiyoruz, yani mesela başlangıç olarak A sonra A nın solunda B vs vs gibi ama bu algoritmaya bakarak hangisi A nın solunda hangisi A nın sağında bunu nasıl buluyoruz?
veriyapıları vize 2004-2005 1. soru.





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
marakana


avatar

Kayıt: 08.03.2007
15.11.2008-16:55 #52516
DLR taramasında önce düğüm yazılır.burada DLR taramasına göre ilk eleman A olduğuna göre kök düğüm
A olmalıdır.kok düğümü LRD taramasındanda görebilirsin ondada en son düğüm yazılır ve en son elemanı A'dır
kökü bulduktan sonra her 3 taramaya bakarak yapabilirsin şöyle tersten anlatayım.
herhangi bir ağaçtaki düğümleri bu 3 taramayla sıralamayı biliyorsan,, bu sıralamadakileri de
ağaca yerleştirirsin.Burada suna dikkat etmelisin.
A
B C
D E F G

Mesela LDR taramasında yukarıdaki agaca göre önce lefte bakıyorsun left i B.B yi yazmıyorsun.sadece senin yeni düğümün artık B oluyor.
SOnra yeni düğümün B nin left ine bakıyorsun ve yeni düğümün D oluyor.D düğümünün lefti olmadığına göre ilk left imizi yazıp geriye doğru gidiyoruz bu sefer.D nin bir gerisi B dir.düğümün B şimdi.B nin left ini yazdın
şimdi B yi yazıyorsun yani düğümü. sonrada B nin right(E) ını yazıyorsun.
sonra bi önceki düğüme gidiyorsun A'ya. A'nın left ini yazdın şimdi A yı yaz ve sonra right ına git(C).....
bu şekilde devam eder

----DBEAFCG----







Yazar
marakana


avatar

Kayıt: 08.03.2007
15.11.2008-17:03 #52518
ya ağacın sağı solu belli olacak şekilde yazıyorum ama burda cıkmıyorangry
A->left=B
A->right=C
B->left=D
B->right=E
C->left=F
c->right=G







Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-17:14 #52519
marakana yazdi
 
SOnra yeni düğümün B nin left ine bakıyorsun ve yeni düğümün D oluyor.


peki B nin leftine bakarken hangi taramaya bakıyoruz, LDR? ve leftinde D olduğunu nasıl anlıyoruz?





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
marakana


avatar

Kayıt: 08.03.2007
15.11.2008-17:17 #52520
 
peki B nin leftine bakarken hangi taramaya bakıyoruz, LDR? ve leftinde D olduğunu nasıl anlıyoruz?

özür dilerim yanlış yazmışım LDR değil DLR yazacaktım .

not:doğru yazmışım aslında şimdi farkettim.LDR tarama







Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-17:27 #52522
teşekkürler marakana, doğru anladıysam sonuç aşağıdaki gibi çıkıyor galiba.







Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
marakana


avatar

Kayıt: 08.03.2007
15.11.2008-17:32 #52523
evet ağaç böylepeacerica ederim







Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-18:17 #52527
4-ekrandan girilecek A=(a,b,c) ,B=(A,d,e),C=(B,A,()) seklindeki verileri sizin oluş.genelleştirilmş liste içine yerleştiren program.

bu sorunun cevabını yapan biri atabilir mi acaba?





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-20:27 #52529
naranja yazdi
 
DLR = ABCDIJEFGH
LDR = CIDJBAEGFH
LRD = IJDCBGHFEA



burada LDR ve LRD ikisi de left le başlıyor ancak birinin ilk harfi C diğerinin I bu nasıl oluyor anlamadım?





my immortal ..
Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-20:39 #52532
tadim17 yazdi
 
naranja yazdi
 
DLR = ABCDIJEFGH
LDR = CIDJBAEGFH
LRD = IJDCBGHFEA



burada LDR ve LRD ikisi de left le başlıyor ancak birinin ilk harfi C diğerinin I bu nasıl oluyor anlamadım?


LDR aramasında left bitince D ile değeri yazdırıyor,
LRD aramasında ise left bittikten sonra right a dallanıyor ondan sonra değer yazıyor, o nedenle farklı.





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-20:44 #52533
eyvallah naranja..
bi sorum daha olacak

void yapraklistele(NODEPTR p)
{
if(p==NULL)

printf("%4d",p->info);
yapraklistele(p->left);
yapraklistele(p->right);

}

program printf kısmında çakılıyor.Sorun ne olabilir acaba?





my immortal ..
Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-20:50 #52534
tadim17 yazdi
 
eyvallah naranja..
bi sorum daha olacak

void yapraklistele(NODEPTR p)
{
if(p!=NULL){

printf("%4d",p->info);
yapraklistele(p->left);
yapraklistele(p->right);
}

}

program printf kısmında çakılıyor.Sorun ne olabilir acaba?

bu şekide çalışması lazım.

not: ünlemin yerini düzelttim.





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-20:54 #52535
Yok abi o şekilde de çakılıyor.Ben sorumu biraz daha açıyım..
Verilen bir ağacın yaprak düğümlerini nasıl listeleyebilirim?
benm yazdığım programdaki hata nedir?





my immortal ..
1 2 3
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb