Bilgilendirme : İçerik adresleri değişmiştir. Lütfen, aradığınız içeriği arama kutucuğundan arayınız =)

Aramak istediğiniz sözcüğü giriniz...

Java
Programlama
  • Java
  • Python
  • C++
  • C#
  • MATLAB
  • MIPS Assembly
  • PIC Assembly
Web Prog.
  • HTML
  • CSS
  • PHP
  • Javascript
Veritabanı Prog.
  • SQL
Arama Yap
İstediğin programlama dilinde sınıf, fonksiyon yada bir terimi arama alanına yaz.
Çıkan seçeneklere göz at
Seçenekler arasından senin işine yaradığı seçeneği seç.
İçeriğe göz at
Seçtiğin seçenekte yer alan örneğe bakarak bilgi edin ya da kullan.
MEHMET ERIM
2018-10-08

Açıklama

  • İkili arama ağacı ( Binary Search Tree ) veri yapısının uygulaması yapılmıştır.
  • Bu uygulamada ağaça ekleme, silme ve listeleme yapılabilir.

 

Görsel olarak gösterim

Java binary search tree

 

Kod

public class agac {

	Dugum kok;
	
	agac(){
		kok=null;
	}
	
	void listele(Dugum d) {
		if(d.sol!=null) {
			listele(d.sol);
		}
		System.out.print(d.icerik+" ");
		if(d.sag!=null) {
			listele(d.sag);
		}
		
	}
	
	void ekle(Dugum yeni) {
		Dugum tmp=kok,once=null;
		
		while(tmp!=null) {
			once=tmp;
			if(yeni.icerik>tmp.icerik)
				tmp=tmp.sag;
			else
				tmp=tmp.sol;
		}
		
		if(once==null) {
			kok=yeni;
		}else {
			if(yeni.icerik>once.icerik)
				once.sag=yeni;
			else
				once.sol=yeni;
		}

	}
	
	void sil(int anahtar) {
		
		Dugum tmp=kok,once=null;
		boolean solmu =true;
		
		while(tmp.icerik!=anahtar){
			once=tmp;
			
			if(anahtar>tmp.icerik) {
				solmu=false;
				tmp=tmp.sag;
				
			}else {
				solmu = true;
				tmp=tmp.sol;
			}
			if(tmp==null)
				return;
		}
		
		if(tmp.sol==null && tmp.sag==null) {
			if(tmp==kok) kok=null;
			else if(solmu) once.sol=null;
			else once.sag=null;
			
		}
	}	
}

class Dugum{
	Dugum sag,sol;
	
	int icerik;
	
	public Dugum(int icerik) {
		this.icerik=icerik;
		sag=null;
		sol=null;
	}
}
İçeriği Paylaş
Facebook
Twitter
Google+
Linkedin
Yorumlar
Biz Kimiz ?
Java, Python, C++, C#, PHP, HTML, CSS, SQL ve MATLAB programlama dillerine ait sınıf ve fonksiyonların tanım ve açıklamalarını içeren bir websitesiyiz.
Günden güne içeriklerimizi yenileyip, arttırıyoruz.