Ejemplo n.º 1
0
        private void button10_Click(object sender, EventArgs e)
        {
            var    obj        = new DictionaryTree();
            string input_text = System.IO.File.ReadAllText(@"big.txt");
            string str        = "";

            foreach (var i in input_text)
            {
                if (i >= 'a' && i <= 'z' || i >= 'A' && i <= 'Z' || i == '\'')
                {
                    str += i;
                }
                else if (str.Length > 0)
                {
                    if (obj.ContainsKey(str))
                    {
                        ++obj[str];
                    }
                    else
                    {
                        obj.Add(str, 1);
                    }
                    str = "";
                }
            }
            label2.Text = Convert.ToString(obj.InternalNodeCount);
        }
Ejemplo n.º 2
0
        private void Button5_Click(object sender, EventArgs e)                     // создаёт Dictionary Tree и считает время создания дерева
        {
            int N = 5;                                                             // количетсво создаваемых деревьев

            double[] time = new double[N];                                         // список времени
            for (int j = 0; j < N; j++)                                            // запускаем цикл по созданию количетсва деревьев равное N
            {
                System.Diagnostics.Stopwatch watch1;                               // объявляем метод по созданию таймера
                double elapsedMs;                                                  // объявляем переменную
                watch1 = System.Diagnostics.Stopwatch.StartNew();                  // запускаем таймер
                var listtree = new DictionaryTree();                               // создаём новое дерево Dictionary
                str = "";                                                          // первое слово пустое
                foreach (var i in myfile)                                          // пока не кончится текстовый документ
                {
                    if (i >= 'a' && i <= 'z' || i >= 'A' && i <= 'Z' || i == '\'') // проверяем наличие символа
                    {
                        str += i;                                                  // меняем значение символа
                    }
                    else if (str.Length > 0)                                       // если имеется символ
                    {
                        if (listtree.ContainsKey(str))                             // идём в конечный узел
                        {
                            ++listtree[str];                                       // добавляем значение
                        }
                        else// иначе
                        {
                            listtree.Add(str, 1); // добавляем новое значение в дерево
                        }
                        str = "";                 // пустое слоло
                    }
                }
                watch1.Stop();                                                                                                  // останавливаем таймер
                elapsedMs = watch1.ElapsedMilliseconds;                                                                         // присваиваем значение времени
                time[j]   = elapsedMs;                                                                                          // добавляем в массив
            }
            Array.Sort(time);                                                                                                   // сортируем время по возростанию
            chart1.Series["DictionaryTree"].Points.AddXY(4, time[0], time[N - 1], Finddown(time), Findup(time), Findmed(time)); //добавляем значения на график(название дерева,(осьх,минимальное,максимальное,нижний квартиль, верхний квартиль,медиана))
            label1.Text = Convert.ToString(Finddown(time));
            label2.Text = Convert.ToString(Findup(time));
            Refresh();// обновляем форму
        }
Ejemplo n.º 3
0
 public static int[] Funck(int N)
 {
     int[] Arr = new int[N];
     for (int j = 0; j < N; j++)
     {
         System.Diagnostics.Stopwatch watch;
         long elapsedMs;
         watch = System.Diagnostics.Stopwatch.StartNew();
         var    obj        = new DictionaryTree();
         string input_text = System.IO.File.ReadAllText(@"big.txt");
         string str        = "";
         foreach (var i in input_text)
         {
             if (i >= 'a' && i <= 'z' || i >= 'A' && i <= 'Z' || i == '\'')
             {
                 str += i;
             }
             else if (str.Length > 0)
             {
                 if (obj.ContainsKey(str))
                 {
                     ++obj[str];
                 }
                 else
                 {
                     obj.Add(str, 1);
                 }
                 str = "";
             }
         }
         watch.Stop();
         elapsedMs = watch.ElapsedMilliseconds;
         Arr[j]    = (int)elapsedMs;
     }
     return(Arr);
 }