Example #1
0
 public void solYapraklar(Dugum dugum)
 {
     if (dugum != null)
     {
         solYapraklar(dugum.solDugum);
         setSolYaprakDugum(dugum.veri, solSayi);
         solSayi++;
     }
 }
Example #2
0
 public void sagYapraklar(Dugum dugum)
 {
     if (dugum != null)
     {
         sagYapraklar(dugum.sagDugum);
         setSagYaprakDugum(dugum.veri, sagSayi);
         sagSayi++;
     }
 }
Example #3
0
 public void preOrder(Dugum dugum)
 {
     if (dugum != null)
     {
         setDizi(dugum.veri, diziSayi);
         diziSayi++;
         preOrder(dugum.solDugum);
         preOrder(dugum.sagDugum);
     }
 }
Example #4
0
 public void postOrder(Dugum dugum)
 {
     if (dugum != null)
     {
         postOrder(dugum.solDugum);
         postOrder(dugum.sagDugum);
         setDizi(dugum.veri, diziSayi);
         diziSayi++;
     }
 }
Example #5
0
        private int enDusukDeger(Dugum dugum)
        {
            int minv = dugum.veri;

            while (dugum.solDugum != null)
            {
                minv  = dugum.solDugum.veri;
                dugum = dugum.solDugum;
            }

            return(minv);
        }
Example #6
0
        public bool ekle(int deger)
        {
            Dugum before = null, after = this.Root;

            while (after != null)
            {
                before = after;
                if (deger < after.veri)
                {
                    after = after.solDugum;
                }
                else if (deger > after.veri)
                {
                    after = after.sagDugum;
                }
                else
                {
                    return(false);
                }
            }

            Dugum newNode = new Dugum();

            newNode.veri = deger;

            if (this.Root == null)
            {
                this.Root = newNode;
            }
            else
            {
                if (deger < before.veri)
                {
                    before.solDugum = newNode;
                }
                else
                {
                    before.sagDugum = newNode;
                }
            }

            return(true);
        }
Example #7
0
        public int getDugumDerece(Dugum dugum, int veri, int derece)
        {
            if (dugum == null)
            {
                return(0);
            }

            if (dugum.veri == veri)
            {
                return(derece);
            }

            int downlevel = getDugumDerece(dugum.solDugum, veri, derece + 1);

            if (downlevel != 0)
            {
                return(downlevel);
            }

            downlevel = getDugumDerece(dugum.sagDugum, veri, derece + 1);
            return(downlevel);
        }
Example #8
0
        public void yapraklarBul(Dugum dugum)
        {
            if (dugum == null)
            {
                return;
            }

            if (dugum.solDugum == null && dugum.sagDugum == null)
            {
                setYaprakDizi(yaprakSayi, dugum.veri);
                yaprakSayi++;
            }
            if (dugum.solDugum != null)
            {
                yapraklarBul(dugum.solDugum);
            }

            if (dugum.sagDugum != null)
            {
                yapraklarBul(dugum.sagDugum);
            }
        }
Example #9
0
        private Dugum sil(Dugum dugum, int anahtar)
        {
            if (dugum == null)
            {
                return(dugum);
            }

            if (anahtar < dugum.veri)
            {
                dugum.solDugum = sil(dugum.solDugum, anahtar);
            }
            else if (anahtar > dugum.veri)
            {
                dugum.sagDugum = sil(dugum.sagDugum, anahtar);
            }


            else
            {
                if (dugum.solDugum == null)
                {
                    return(dugum.sagDugum);
                }
                else if (dugum.sagDugum == null)
                {
                    return(dugum.solDugum);
                }


                dugum.veri = enDusukDeger(dugum.sagDugum);


                dugum.sagDugum = sil(dugum.sagDugum, dugum.veri);
            }

            return(dugum);
        }
Example #10
0
 private int getAgacYukseklik(Dugum dugum)
 {
     return(dugum == null ? 0 : Math.Max(getAgacYukseklik(dugum.solDugum), getAgacYukseklik(dugum.sagDugum)) + 1);
 }
Example #11
0
 public int getRoot(Dugum dugum)
 {
     return(dugum == null ? 0 : dugum.veri);
 }
Example #12
0
 public void sil(int deger)
 {
     this.Root = sil(this.Root, deger);
 }
Example #13
0
 public int getDerece(Dugum dugum, int veri)
 {
     return(getDugumDerece(dugum, veri, 1));
 }