Example #1
0
        public void walk(KokDugumu dugum, String olusan)
        {
            String tester = (olusan + dugum.getHarf()).Trim();

            walkCount++;
            if (dugum != null)
            {
                dugumSayisi++;
                if (dugum.getKok() != null)
                {
                    /*              if (dugum.getKelime() != null &&
                     *                              !dugum.getKelime().equals(dugum.getKok().icerik())){
                     *                      System.out.println("!!!!! " + dugum.getKelime() + " - " + dugum.getKok().icerik());
                     *              }*/
                    kokTasiyanDugumSayisi++;
                    if (set != null)
                    {
                        set.Add(dugum.getKok());
                    }
                }
                if (dugum.getEsSesliler() != null)
                {
                    esSesliTasiyanDugumSayisi++;
                    if (set != null)
                    {
                        set.AddAll(dugum.getEsSesliler());
                    }
                }
                if (!dugum.altDugumVarMi())
                {
                    ucDugumSayisi++;
                }
                else
                {
                    KokDugumu[] altDugumler = dugum.altDugumDizisiGetir();
                    int         top         = 0;
                    foreach (KokDugumu altDugum in altDugumler)
                    {
                        if (altDugum != null)
                        {
                            top++;
                        }
                    }
                    dugumSayilari[top]++;
                }
            }
            KokDugumu[] altDugumlerX = dugum.altDugumDizisiGetir();
            if (altDugumlerX != null)
            {
                foreach (KokDugumu altDugum in altDugumlerX)
                {
                    if (altDugum != null)
                    {
                        this.walk(altDugum, tester);
                    }
                }
            }
        }
Example #2
0
        /**
         * Ağaç üzerinde  yürüyerek ASCII toleranslı karşılaştırma ile
         * kök adaylarını bulur. Rekürsiftir.
         *
         * @param dugum  : başlangıç düğümü
         * @param olusan : Yürüme sırasında oluşan kelime (düğümlerin karakter değerlerinden)
         */
        public void yuru(KokDugumu dugum, String olusan)
        {
            String tester = (olusan + dugum.getHarf()).Trim();

            walkCount++;
            if (dugum.getKok() != null)
            {
                if (logger.IsInfoEnabled)
                {
                    logger.Info("Kok : " + dugum.getKelime());
                }
                if (asciiTolaransliKarsilastir((String)dugum.getKelime(), giris))
                {
                    // Aday kok bulundu.
                    dugum.tumKokleriEkle(adaylar);
                }
                else
                {
                    return;
                }
            }
            else
            {
                if (asciiTolaransliKarsilastir(tester, giris))
                {//TODO böölemi ! idi
                    return;
                }
            }

            int seviye = tester.Length - 1; //TODO böölemi -1 yoktu

            if (seviye == giris.Length)
            {
                return;
            }
            // Uygun tüm alt dallarda yürü
            foreach (KokDugumu altDugum in dugum.altDugumDizisiGetir())
            {
                if (altDugum != null)
                {
                    if (agac.getAlfabe().asciiToleransliKiyasla(altDugum.getHarf(), giris[seviye]))
                    {
                        this.yuru(altDugum, tester);
                    }
                }
            }
        }
Example #3
0
        private void yuru(KokDugumu dugum, String olusan)
        {
            String tester = olusan;

            if (dugum.getHarf() != '\0')
            {
                tester += dugum.getHarf();
            }
            if (dugum.getKok() != null)
            {
                distanceCalculationCount++;
                if (MetinAraclari.isInSubstringEditDistance((String)dugum.getKelime(), giris, tolerans))
                {
                    // Aday kök bulundu
                    adaylar.Add(dugum.getKok());
                }
                else
                {
                    // Mesafe sınırı aşıldı.
                    return;
                }
            }
            else
            {
                if (!MetinAraclari.isInSubstringEditDistance(tester.Trim(), giris, tolerans))
                {
                    // Ara stringde mesafe sınırı aşıldı
                    return;
                }
            }

            foreach (KokDugumu altDugum in dugum.altDugumDizisiGetir())
            {
                if (altDugum != null)
                {
                    this.yuru(altDugum, tester);
                }
            }
        }
     public void walk(KokDugumu dugum, String olusan)
     {
         String tester = (olusan + dugum.getHarf()).Trim();
         walkCount++;
         if (dugum != null){
             dugumSayisi++;
             if(dugum.getKok() != null){
 /*            	if (dugum.getKelime() != null &&
         			    !dugum.getKelime().equals(dugum.getKok().icerik())){
         		    System.out.println("!!!!! " + dugum.getKelime() + " - " + dugum.getKok().icerik());
         	    }*/
                 kokTasiyanDugumSayisi++;
                 if(set != null){
                     set.Add(dugum.getKok());
                 }
             }
             if(dugum.getEsSesliler() != null){
                 esSesliTasiyanDugumSayisi++;
                 if(set!= null){
             	    set.AddAll(dugum.getEsSesliler());
                 }
             }
             if(!dugum.altDugumVarMi()){
                 ucDugumSayisi++;
             }else{
                 KokDugumu[] altDugumler = dugum.altDugumDizisiGetir();
                 int top = 0;
                 foreach (KokDugumu altDugum in altDugumler) {
                     if(altDugum != null) top++;
                 }
                 dugumSayilari[top]++;
             }
         }
         KokDugumu[] altDugumlerX = dugum.altDugumDizisiGetir();
         if (altDugumlerX != null){
     	    foreach (KokDugumu altDugum in altDugumlerX){
     		    if (altDugum != null){
     			    this.walk(altDugum, tester);
     		    }
     	    }
         }
     }
        private void yuru(KokDugumu dugum, String olusan) {
        String tester = olusan;
        if (dugum.getHarf() != '\0')
            tester += dugum.getHarf();
        if (dugum.getKok() != null) {
            distanceCalculationCount++;
            if (MetinAraclari.isInSubstringEditDistance((String) dugum.getKelime(), giris, tolerans)) {
            	// Aday kök bulundu
                adaylar.Add(dugum.getKok());
            } else {
                // Mesafe sınırı aşıldı.
                return;
            }
        } else {
            if (!MetinAraclari.isInSubstringEditDistance(tester.Trim(), giris, tolerans)) {
            	// Ara stringde mesafe sınırı aşıldı
                return;
            }
        }

        foreach (KokDugumu altDugum in dugum.altDugumDizisiGetir()) {
            if (altDugum != null) {
                this.yuru(altDugum, tester);
            }
        }
    }
Example #6
0
        /**
         * Ağaç üzerinde  yürüyerek ASCII toleranslı karşılaştırma ile
         * kök adaylarını bulur. Rekürsiftir.
         *
         * @param dugum  : başlangıç düğümü
         * @param olusan : Yürüme sırasında oluşan kelime (düğümlerin karakter değerlerinden)
         */
        public void yuru(KokDugumu dugum, String olusan) 
        {
            String tester = (olusan + dugum.getHarf()).Trim();
            walkCount++;
            if (dugum.getKok() != null) 
            {
                if (logger.IsInfoEnabled) logger.Info("Kok : " + dugum.getKelime());
                if (asciiTolaransliKarsilastir((String) dugum.getKelime(), giris)) 
                {
                    // Aday kok bulundu.
                    dugum.tumKokleriEkle(adaylar);
                }
                else 
                {
                    return;
                }
            }
            else 
            {
                if (asciiTolaransliKarsilastir(tester, giris)) 
                {//TODO böölemi ! idi
                    return;
                }
            }

            int seviye = tester.Length - 1; //TODO böölemi -1 yoktu
            if(seviye == giris.Length) return;
            // Uygun tüm alt dallarda yürü
            foreach (KokDugumu altDugum in dugum.altDugumDizisiGetir()) 
            {
               if (altDugum != null) 
               {
                   if (agac.getAlfabe().asciiToleransliKiyasla(altDugum.getHarf(), giris[seviye]))
                       this.yuru(altDugum, tester);
               }
            }
        }