private void button1_Click(object sender, EventArgs e)
        {
            Kisi ListPost = new Kisi();

            dataGridView1.ColumnCount = 16;
            string[] colon = { "Ad", "Soyad", "Telefon Numarasi", "Eposta", "Ehliyet", "Dogum Tarihi", "Yabanci Dil", "Okul Adı", "Bölüm Adı", "Baslngıç Tarihi", "Bitiş Tarihi", "Not Ortalaması", "İş Yeri adı", "İş Yeri Adres", "İş Pozisyonu", "İş Deneyim Süresi" };
            for (int i = 0; i < 16; i++)
            {
                dataGridView1.Columns[i].Name = colon[i];
            }
            İkiliAramaAgacDugumu agacDugum = new İkiliAramaAgacDugumu();

            agacDugum = Form1.ikiliagac.Ara(textBox1.Text);
            if (agacDugum != null)
            {
                dataGridView1.Rows.Clear();

                ListPost = Form1.ikiliagac.Ara(textBox1.Text).veri;
                dataGridView1.Rows.Add(ListPost.Ad, ListPost.Soyad, ListPost.TelNo, ListPost.Eposta, ListPost.Ehliyet, ListPost.DogumTarihi, ListPost.YabanciDil, ListPost.egitimDurumu.ElementAt(0)[0], ListPost.egitimDurumu.ElementAt(0)[1], ListPost.egitimDurumu.ElementAt(0)[2], ListPost.egitimDurumu.ElementAt(0)[3], ListPost.egitimDurumu.ElementAt(0)[4], ListPost.isDeneyimi.ElementAt(0)[0], ListPost.isDeneyimi.ElementAt(0)[1], ListPost.isDeneyimi.ElementAt(0)[2], ListPost.isDeneyimi.ElementAt(0)[3]);
            }
            else
            {
                MessageBox.Show("aranan kisi mevcut degil");
            }
        }
 public void TumKisi(İkiliAramaAgacDugumu dugum)
 {
     if (dugum != null)
     {
         TumKisiListe.Add(dugum.veri);
         TumKisi(dugum.sol);
         TumKisi(dugum.sag);
     }
 }
 private void PostOrderInt(İkiliAramaAgacDugumu dugum)
 {
     if (dugum == null)
     {
         return;
     }
     PostOrderInt(dugum.sol);
     PostOrderInt(dugum.sag);
     ZiyaretPostOrder(dugum);
 }
 private void InOrderInt(İkiliAramaAgacDugumu dugum)
 {
     if (dugum == null)
     {
         return;
     }
     InOrderInt(dugum.sol);
     ZiyaretInOrder(dugum);
     InOrderInt(dugum.sag);
 }
        public İkiliAramaAgacDugumu MaksDeger()
        {
            İkiliAramaAgacDugumu tempSag = kok;

            while (tempSag.sag != null)
            {
                tempSag = tempSag.sag;
            }
            return(tempSag);
        }
        public İkiliAramaAgacDugumu MinDeger()
        {
            İkiliAramaAgacDugumu tempSol = kok;

            while (tempSol.sol != null)
            {
                tempSol = tempSol.sol;
            }
            return(tempSol);
        }
 private void BuyukKucukInt(İkiliAramaAgacDugumu dugum)
 {
     if (dugum == null)
     {
         return;
     }
     BuyukKucukInt(dugum.sag);
     Ziyaret(dugum);
     BuyukKucukInt(dugum.sol);
 }
        public int DugumSayisi(İkiliAramaAgacDugumu dugum)
        {
            int count = 0;

            if (dugum != null)
            {
                count  = 1;
                count += DugumSayisi(dugum.sol);
                count += DugumSayisi(dugum.sag);
            }
            return(count);
        }
        private void btnKisiGetir_Click(object sender, EventArgs e)
        {
            Kisi arananKisi = new Kisi();
            LinkedList <List <string> > egitimDurumu    = new LinkedList <List <string> >();
            LinkedList <List <string> > isDeneyimLinked = new LinkedList <List <string> >();
            List <string> egtm   = new List <string>();
            List <string> isdnym = new List <string>();

            İkiliAramaAgacDugumu agacDugum = new İkiliAramaAgacDugumu();

            agacDugum = Form1.ikiliagac.Ara(txtArananKisi.Text);
            if (agacDugum != null)
            {
                arananKisi = Form1.ikiliagac.Ara(txtArananKisi.Text).veri;
            }
            else
            {
                arananKisi = null;
            }


            if (arananKisi == null)
            {
                MessageBox.Show("Kişi Bulunamadı");
            }
            else
            {
                egitimDurumu    = arananKisi.egitimDurumu;
                egtm            = egitimDurumu.ElementAt(0);
                isDeneyimLinked = arananKisi.isDeneyimi;
                isdnym          = isDeneyimLinked.ElementAt(0);


                goradtxt.Text         = arananKisi.Ad;
                gorsoyadtxt.Text      = arananKisi.Soyad;
                gorteltxt.Text        = arananKisi.TelNo;
                gorpostatxt.Text      = arananKisi.Eposta;
                goryabancidiltxt.Text = arananKisi.YabanciDil;
                gorehliyettxt.Text    = arananKisi.Ehliyet;
                dateTimePicker1.Value = arananKisi.DogumTarihi;
                goradrestxt.Text      = arananKisi.Adres;
                gorokuladtxt.Text     = egtm[0];
                gorbolumtxt.Text      = egtm[1];
                gorbastxt.Text        = egtm[2];
                gorbitistxt.Text      = egtm[3];
                gornotorttxt.Text     = egtm[4];
                gorisyeritxt.Text     = isdnym[0];
                gorisadrestxt.Text    = isdnym[1];
                gorispoztxt.Text      = isdnym[2];
                gorsuretxt.Text       = isdnym[3];
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Kisi arananKisi = new Kisi();
            LinkedList <List <string> > egitimDurumu    = new LinkedList <List <string> >();
            LinkedList <List <string> > isDeneyimLinked = new LinkedList <List <string> >();
            List <string> egtm   = new List <string>();
            List <string> isdnym = new List <string>();


            İkiliAramaAgacDugumu agacDugum = new İkiliAramaAgacDugumu();

            agacDugum = Form1.ikiliagac.Ara(gncgetirtxt.Text);
            if (agacDugum != null)
            {
                arananKisi = Form1.ikiliagac.Ara(gncgetirtxt.Text).veri;
            }
            else
            {
                arananKisi = null;
            }

            if (arananKisi == null)
            {
                MessageBox.Show("Kişi Bulunamadı");
            }
            else
            {
                güncellenenKisiAd = arananKisi.Ad;
                egitimDurumu      = arananKisi.egitimDurumu;
                egtm            = egitimDurumu.ElementAt(0);
                isDeneyimLinked = arananKisi.isDeneyimi;
                isdnym          = isDeneyimLinked.ElementAt(0);

                gncladtxt.Text        = arananKisi.Ad;
                gnclsoyadtxt.Text     = arananKisi.Soyad;
                gnclteltxt.Text       = arananKisi.TelNo;
                gnclpostatxt.Text     = arananKisi.Eposta;
                gnclyabdiltxt.Text    = arananKisi.YabanciDil;
                gnclehliyettxt.Text   = arananKisi.Ehliyet;
                dateTimePicker6.Value = arananKisi.DogumTarihi;
                gncladrestxt.Text     = arananKisi.Adres;
                gnclokuladtxt.Text    = egtm[0];
                gnclbolumtxt.Text     = egtm[1];
                gnclbastarihtxt.Text  = egtm[2];
                gnclbitistxt.Text     = egtm[3];
                gnclnotorttx.Text     = egtm[4];
                gnclisadtxt.Text      = isdnym[0];
                gnclisadrestxt.Text   = isdnym[1];
                gnclispoztxt.Text     = isdnym[2];
                gnclissuretxt.Text    = isdnym[3];
            }
        }
        public int DugumYaz(İkiliAramaAgacDugumu dugum)
        {
            int  count   = 0;
            Kisi kisiyaz = new Kisi();


            if (dugum != null)
            {
                kisiyaz = dugum.veri;
                JsonReadWrite.TreeToJson(kisiyaz);
                count  = 1;
                count += DugumYaz(dugum.sol);
                count += DugumYaz(dugum.sag);
            }
            return(count);
        }
        public void ehliyetbul(İkiliAramaAgacDugumu dugum, string anahtar)
        {
            Kisi kisiyaz = new Kisi();

            if (dugum != null)
            {
                if (string.Compare((string)dugum.veri.Ehliyet, anahtar) == 0)
                {
                    ehliyetshb.Add(dugum.veri);
                }


                ehliyetbul(dugum.sol, anahtar);
                ehliyetbul(dugum.sag, anahtar);
            }
        }
        public int YaprakSayisi(İkiliAramaAgacDugumu dugum)
        {
            int count = 0;

            if (dugum != null)
            {
                if ((dugum.sol == null) && (dugum.sag == null))
                {
                    count = 1;
                }
                else
                {
                    count = count + YaprakSayisi(dugum.sol) + YaprakSayisi(dugum.sag);
                }
            }
            return(count);
        }
        public void İsdeneyimsizSorgu(İkiliAramaAgacDugumu dugum)
        {
            if (dugum != null)
            {
                string isyil = dugum.veri.isDeneyimi.ElementAt(0)[3];


                if (isyil == "")
                {
                    İsdeneyimsiz.Add(dugum.veri);
                }


                İsdeneyimsizSorgu(dugum.sol);
                İsdeneyimsizSorgu(dugum.sag);
            }
        }
        public void DilBul(İkiliAramaAgacDugumu dugum, string anahtar)
        {
            Kisi kisiyaz = new Kisi();


            if (dugum != null)
            {
                if (string.Compare((string)dugum.veri.YabanciDil, anahtar) == 0)
                {
                    dilBilen.Add(dugum.veri);
                }


                DilBul(dugum.sol, anahtar);
                DilBul(dugum.sag, anahtar);
            }
        }
        private İkiliAramaAgacDugumu Successor(İkiliAramaAgacDugumu silDugum)
        {
            İkiliAramaAgacDugumu successorParent = silDugum;
            İkiliAramaAgacDugumu successor       = silDugum;
            İkiliAramaAgacDugumu current         = silDugum.sag;

            while (current != null)
            {
                successorParent = successor;
                successor       = current;//currentin bir önceki değeri
                current         = current.sol;
            }
            if (successor != silDugum.sag)
            {
                successorParent.sol = successor.sag;
                successor.sag       = silDugum.sag;
            }
            return(successor);
        }
        private İkiliAramaAgacDugumu AraInt(İkiliAramaAgacDugumu dugum, string anahtar)

        {
            if (dugum == null)
            {
                return(null);
            }
            else if (dugum.veri.Ad == anahtar)
            {
                return(dugum);
            }
            else if (string.Compare(dugum.veri.Ad, anahtar) == -1)
            {
                return(AraInt(dugum.sag, anahtar));
            }
            else
            {
                return(AraInt(dugum.sol, anahtar));
            }
        }
        public void YasSorgu(İkiliAramaAgacDugumu dugum, string anahtar)
        {
            if (dugum != null)
            {
                int yas;


                int dogumyil = dugum.veri.DogumTarihi.Year;

                yas = DateTime.Now.Year - dogumyil;

                if (yas < Convert.ToInt16(anahtar))
                {
                    yasSorguList.Add(dugum.veri);
                }


                YasSorgu(dugum.sol, anahtar);
                YasSorgu(dugum.sag, anahtar);
            }
        }
        public void Ekle(Kisi deger)
        {
            //Yeni eklenecek düğümün parent'ı
            İkiliAramaAgacDugumu tempParent = new İkiliAramaAgacDugumu();
            //Kökten başla ve ilerle
            İkiliAramaAgacDugumu tempSearch = kok;



            while (tempSearch != null)
            {
                tempParent = tempSearch;//bir önceki dugum yani aile
                if (string.Compare(deger.Ad, tempSearch.veri.Ad) == 0)
                {
                    return;
                }
                else if (string.Compare(deger.Ad, tempSearch.veri.Ad) == -1)
                {
                    tempSearch = tempSearch.sol;
                }
                else
                {
                    tempSearch = tempSearch.sag;
                }
            }
            İkiliAramaAgacDugumu eklenecek = new İkiliAramaAgacDugumu(deger);

            if (kok == null)
            {
                kok = eklenecek;
            }
            else if (string.Compare(deger.Ad, tempParent.veri.Ad) == -1)
            {
                tempParent.sol = eklenecek;
            }
            else
            {
                tempParent.sag = eklenecek;
            }
        }
        public void İsdeneyimiSorgu(İkiliAramaAgacDugumu dugum, string anahtar)
        {
            if (dugum != null)
            {
                int    deneyim;
                string isyil = dugum.veri.isDeneyimi.ElementAt(0)[3].ToString();
                if (isyil == "")
                {
                    isyil = "0";
                }
                deneyim = Convert.ToInt16(isyil);

                if (deneyim < Convert.ToInt16(anahtar) && deneyim != 0)
                {
                    İsdeneyimiSorguList.Add(dugum.veri);
                }


                İsdeneyimiSorgu(dugum.sol, anahtar);
                İsdeneyimiSorgu(dugum.sag, anahtar);
            }
        }
        public int DerinlikHesapla(İkiliAramaAgacDugumu dugum)
        {
            int yukseklik_sag = 0, yukselik_sol = 0;

            if (dugum != null)
            {
                yukseklik_sag = DerinlikHesapla(dugum.sag);
                yukselik_sol  = DerinlikHesapla(dugum.sol);
                if (yukseklik_sag > yukselik_sol)
                {
                    return(yukseklik_sag + 1);
                }
                else
                {
                    return(yukselik_sol + 1);
                }
            }
            else
            {
                return(0);
            }
        }
Esempio n. 22
0
 public İkiliAramaAgacDugumu(Kisi veri)
 {
     this.veri = veri;
     sol       = null;
     sag       = null;
 }
        public bool Sil(string deger)
        {
            İkiliAramaAgacDugumu current = kok;
            İkiliAramaAgacDugumu parent  = kok;
            bool issol = true;

            //DÜĞÜMÜ BUL current.veri != null
            while (current.veri.Ad.CompareTo(deger) != 0)
            {
                parent = current;
                if (string.Compare(deger, current.veri.Ad) == -1)
                {
                    issol   = true;
                    current = current.sol;
                }
                else if (string.Compare(deger, current.veri.Ad) == 1)
                {
                    issol   = false;
                    current = current.sag;
                }

                if (current == null)
                {
                    return(false);
                }
            }


            //DURUM 1: YAPRAK DÜĞÜM
            if (current.sol == null && current.sag == null)
            {
                if (current == kok)
                {
                    kok = null;
                }
                else if (issol)
                {
                    parent.sol = null;
                }
                else
                {
                    parent.sag = null;
                }
            }
            //DURUM 2: TEK ÇOCUKLU DÜĞÜM
            else if (current.sag == null)
            {
                if (current == kok)
                {
                    kok = current.sol;
                }
                else if (issol)
                {
                    parent.sol = current.sol;
                }
                else
                {
                    parent.sag = current.sol;
                }
            }
            else if (current.sol == null)
            {
                if (current == kok)
                {
                    kok = current.sag;
                }
                else if (issol)
                {
                    parent.sol = current.sag;
                }
                else
                {
                    parent.sag = current.sag;
                }
            }
            //DURUM 3: İKİ ÇOCUKLU DÜĞÜM
            else
            {
                İkiliAramaAgacDugumu successor = Successor(current);
                if (current == kok)
                {
                    kok = successor;
                }
                else if (issol)
                {
                    parent.sol = successor;
                }
                else
                {
                    parent.sag = successor;
                }
                successor.sol = current.sol;
            }
            return(true);
        }
 public IkiliAramaAgaci(İkiliAramaAgacDugumu kok)
 {
     this.kok = kok;
 }
 private void Ziyaret(İkiliAramaAgacDugumu dugum)
 {
     dugumler += dugum.veri + " ";
 }
 private void ZiyaretPostOrder(İkiliAramaAgacDugumu dugum)
 {
     PostOrderList.Add(dugum.veri);
 }