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-20:58 #52536
tadim17 yazdi
 
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?


ünlemin yerini düzelttim son şekliyle kopyala çalışır.





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






Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-21:09 #52537
Boyle yazınca calısır ancak istenilen sonucu vermiyor.
Senin yaptığın DLR çözümü oluyor.





my immortal ..
Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
15.11.2008-21:12 #52538
evet haklısın, yaprak düğümlerini listelemek için

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

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

} 






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






Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-21:19 #52539
naranja yazdi
 
evet haklısın, yaprak düğümlerini listelemek için

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

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

} 


tamam bu kod oldu ;)
eyvallh nrnja





my immortal ..
Yazar
tadim17


avatar

Kayıt: 29.10.2007
15.11.2008-22:23 #52542
void yapraklistele(NODEPTR p) 
{ 
if(p!=NULL){

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

} 
[/quote]

peki yaprak düğümlerini nasıl buluruz?

void yapraklistele(NODEPTR p)
{
NODEPTR toplam;
if(p!=NULL)
{
if(p->left==NULL && p->right==NULL)
{
toplam->info+=p->info;
printf("%4d",p->info);
}
yapraklistele(p->left);
yapraklistele(p->right);

}
printf("%d",toplam->info);
}

yine çakıldık burda :(





my immortal ..
Yazar
deadboy


avatar

Kayıt: 29.11.2007
16.11.2008-00:04 #52547
void dugumbilgisi(NODEPTR p){
	NODEPTR T;
	T=p;
	if(p!=NULL){
		if(p->left!=NULL && p->right!=NULL){
			printf("Dugum bilgisi:%d",p->info);
			p=p->left;
			dugumbilgisi(p);
			p=T;
			p=p->right;
			dugumbilgisi(p);	
		}
	}
}

Benim çözümüm bu oldu





Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
16.11.2008-11:38 #52551
int yapraklist(NODEPTR tree){
	if(tree!=NULL){
		yapraklist(tree->left);
		if(tree->left==NULL && tree->right==NULL){
			printf("%d--",tree->info);
			yaprak++;
		}
		yapraklist(tree->right);
	}
	return yaprak;
}

benim çözümüm de bu..yaprak düğümleri sıralıyo ve sayısını döndürüyo..





Yazar
intrusion


avatar

Kayıt: 01.08.2008
16.11.2008-13:11 #52552
Verileri(2-way) bir ikili agaca yerleştiriniz??demek düğümün 2 eleman içermesi anlamına mı gelio yoksa bir düğümden iki kol çıkacak anlamına mı?
eger düğüm 2 eleman içercekse dengelenmiş agaca göre yapıorum. diğerinde ise normal ikili agac yerleştirmesi yapıorum dolayısıyla sonuç farklı çıkıyord oh
2008-final sorusu









Yazar
angelme


avatar
istanbul
Kayıt: 21.10.2006
16.11.2008-14:02 #52553
2 way demek iki dal çıkıyor demek çünkü dersteki örneklerde dengelenmiş ağaçlarda 3 way dediğimizde 3 tane dal çıkarmışız düğümlerden





Yazar
cengineer


avatar

Kayıt: 27.10.2006
16.11.2008-16:51 #52554

Arkadaşlar 4. soruyu yapan varsa paylaşabilir mi, birisi daha sormuş ama cevap yok sanırım.
Genelleştirilmiş listeyle işlem yaparken iki ayrı node tipi mi belirlememiz gerekiyor : bir basit eleman saklayan , ikinci ise liste saklayan nasıl olacak bu yardımcı olabilirmisiniz d oh






" Her arayan bulamayabilir ancak bulanlar arayanlardir..! " Imam-i Rabbâni




Yazar
intrusion


avatar

Kayıt: 01.08.2008
16.11.2008-17:40 #52556
angelme yazdi
 
2 way demek iki dal çıkıyor demek çünkü dersteki örneklerde dengelenmiş ağaçlarda 3 way dediğimizde 3 tane dal çıkarmışız düğümlerden


teşekkür ederim










Yazar
angelme


avatar
istanbul
Kayıt: 21.10.2006
16.11.2008-18:38 #52559
cengineer yazdi
 

Arkadaşlar 4. soruyu yapan varsa paylaşabilir mi, birisi daha sormuş ama cevap yok sanırım.
Genelleştirilmiş listeyle işlem yaparken iki ayrı node tipi mi belirlememiz gerekiyor : bir basit eleman saklayan , ikinci ise liste saklayan nasıl olacak bu yardımcı olabilirmisiniz d oh


soruyu yapmadım henüz ama şöyle düşünüyorum : bir bağlı liste olacak(tek bir struct yapısı) onları birbirine bağlayacağız A->veri=a ya da A->sonraki=B şeklinde olabilir bu. Ancak bunları kullanıcıdan nasıl alacağımızı ben de bilmiyorum çünkü liste zaten verilmiş bu konuda anlayan birisi cevaplarsa daha iyi olur.

Bir de graphlarda iki node arası bütün yolları nasıl bulabiliriz ?





Yazar
fundagulkaya


avatar
istanbul
Kayıt: 07.11.2007
16.11.2008-21:17 #52563
herhangi bir ağacı ikili ağaca dönüştürme işleminde defterime aldıgım nota göre kök düğümü yazıldıktan sonra kök düğümünün sol tarafına çocuklarından en küçük olanı yazılır.kök düğümün diğer çocuklarından küçük olanı bu düğümün sağ çocugu olur ve digeride yazılanın sag çocugu...diğer tüm düğümler için bu şeklinde gider...bu doğru mudur?bilen varmı çelişkiye düştüm..

bi de şunu sormak istiyorum:2 way dengelenmiş ağaç ikili ağaç mı demek?





Yazar
crossfire


avatar
izmir
Kayıt: 20.07.2008
16.11.2008-21:59 #52566
fundagulkaya yazdi
 
herhangi bir ağacı ikili ağaca dönüştürme işleminde defterime aldıgım nota göre kök düğümü yazıldıktan sonra kök düğümünün sol tarafına çocuklarından en küçük olanı yazılır.kök düğümün diğer çocuklarından küçük olanı bu düğümün sağ çocugu olur ve digeride yazılanın sag çocugu...diğer tüm düğümler için bu şeklinde gider...bu doğru mudur?bilen varmı çelişkiye düştüm..

bi de şunu sormak istiyorum:2 way dengelenmiş ağaç ikili ağaç mı demek?

buradaki tarif yanlış hatırlamıyorsam dengelenmiş ikili ağaç yaratmak için. bir ikili ağaç dengeli olmak zorunda değil.

http://en.wikipedia.org/wiki/Binary_tree





robotum, robotsun, robot
Yazar
intrusion


avatar

Kayıt: 01.08.2008
16.11.2008-22:15 #52567
fundagulkaya yazdi
 
bi de şunu sormak istiyorum:2 way dengelenmiş ağaç ikili ağaç mı demek?


benm anladıgıma göre 2-way olması 2 dal çıkması için dengelenmiş agaç düzenlenmesinde ise bunu belirtmesi gerekio..yani soruda dengelenmiş mi yoksa ikili agaç mı belirtmesi lazım..
yanlış isem belirtinizconfused









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