示例#1
0
        static void Lin_Pes_Instr()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Liniowe_Pesymistyczne_Instrumentacja");

            //Wyświetlenie kolumn
            Console.WriteLine("Matrix_Size\tCritical_Points\tLoops_Number");

            //Deklaracja wyszukiwania liniowego
            Liniowe liniowe = new Liniowe();

            //Testowo licznik pętli
            int _iCouter = 1;

            //Pętla po punktach pomiarowych
            for (int i = 2; i <= 280; i += 4)            //70 punktów pomiarowych
            {
                //Tworzenie tablic o podanej wielkości
                int[] _oMatrix = CreateMatrix(i * 1000000, int.MaxValue - 1);

                //Zmienna przechowująca ilosć punktów krytycznych
                long _lCriticalPoints = 0;

                //Szukanie elementu o wartości 100
                liniowe.LinSearchInst(_oMatrix, int.MaxValue, out _lCriticalPoints);

                //Wyświetlenie statystyk
                Console.WriteLine($"{i * 1000000}\t\t{_lCriticalPoints}\t\t{_iCouter++}");                //Testowo licznik pętli - Couter
            }
        }
示例#2
0
        static void Lin_Ave_Instr()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Liniowe_Średnie_Instrumentacja");

            //Wyświetlenie kolumn
            Console.WriteLine("Matrix_Size\tCritical_Points\tLoops_Number");

            //Deklaracja wyszukiwania liniowego
            Liniowe liniowe = new Liniowe();

            //Testowo licznik pętli
            int _iCouter = 1;

            //Pętla po punktach pomiarowych
            for (int i = 2; i <= 280; i += 4)            //70 punktów pomiarowych
            {
                //Tworzenie tablic o podanej wielkości
                int[] _oMatrix = CreateMatrix(i * 1000000, int.MaxValue - 1);                //Wraz ze sztywno określoną ostatnią wartośćia w tablicy

                //Sprawdzenie wartości peirwszego elementu w tablicy
                int _iFirstNumber = _oMatrix[0];

                //Zmienna przechowująca ilosć punktów krytycznych
                long _lCriticalPoints = 0;

                //Zmienna przechowująca sumę punktów pomiaroywch między przypadkiem optymistycznym a pesymistycznym
                long _lCriticalPointsSum = 0;

                //Szukanie pierwszego elementu
                liniowe.LinSearchInst(_oMatrix, _iFirstNumber, out _lCriticalPoints);

                //Sumowanie punktów krytycznych
                _lCriticalPointsSum += _lCriticalPoints;

                //Szukanie ostatniego elementu
                liniowe.LinSearchInst(_oMatrix, int.MaxValue, out _lCriticalPoints);

                //Sumowanie punktów krytycznych
                _lCriticalPointsSum += _lCriticalPoints;

                //Wyświetlenie statystyk
                Console.WriteLine($"{i * 1000000}\t\t{_lCriticalPointsSum / 2}\t\t{_iCouter++}");                //Testowo licznik pętli - Couter
            }
        }
示例#3
0
        static void Lin_Pes_Time()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Liniowe_Pesymistyczne_PomiarCzasu");

            //Wyświetlenie kolumn
            Console.WriteLine("Matrix_Size\tSearch_Time\tLoops_Number");

            //Deklaracja stopera
            Stopwatch Time = new Stopwatch();

            //Deklaracja wyszukiwania liniowego
            Liniowe liniowe = new Liniowe();

            //Testowo licznik pętli
            int _iCouter = 1;

            //Pętla po punktach pomiarowych
            for (int i = 2; i <= 280; i += 4)            //70 punktów pomiarowych
            {
                //Tworzenie tablic o podanej wielkości
                int[] _oMatrix = CreateMatrix(i * 1000000, int.MaxValue - 1);

                //Tworzenie listy wyników czasowych
                List <long> _oTimesList = new List <long>();

                //Zmienna przechowująca wynik czasowy
                long _lTimeSum = 0;

                //Uśrednienie wyniku
                for (int x = 0; x < 7; x++)                //7 prób
                {
                    //Rozpoczecie pomiaru czasu
                    Time.Start();

                    //Szukanie elementu o wartości 100
                    liniowe.LinSearchTime(_oMatrix, int.MaxValue);

                    //Pomiar czasu
                    _lTimeSum += Time.ElapsedMilliseconds;

                    //Resetowanie stopera
                    Time.Reset();

                    //Dodanie wyniku do listy wyników czasowych
                    _oTimesList.Add(_lTimeSum);
                }

                //Sortowanie tablicy wyników czasowych
                _oTimesList.Sort();

                //Usunięcie skrajnych wartości
                _oTimesList.RemoveAt(0);
                _oTimesList.RemoveAt(_oTimesList.Count - 1);

                //Deklaracja zmiennej uśredniajacej wynik
                long _lAverage = 0;

                //Sumowanie wyników
                foreach (long point in _oTimesList)
                {
                    _lAverage += point;
                }

                //Uśrednienie wyniku
                _lAverage /= _oTimesList.Count;

                //Wyświetlenie statystyk
                Console.WriteLine($"{i * 1000000}\t\t{_lAverage}\t\t{_iCouter++}");                //Testowo licznik pętli - Couter
            }
        }
示例#4
0
        static void Lin_Ave_Time()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Liniowe_Średnie_PomiarCzasu");

            //Wyświetlenie kolumn
            Console.WriteLine("Matrix_Size\tSearch_Time\tLoops_Number");

            //Deklaracja stopera
            Stopwatch Time = new Stopwatch();

            //Deklaracja wyszukiwania liniowego
            Liniowe liniowe = new Liniowe();

            //Testowo licznik pętli
            int _iCouter = 1;

            //Pętla po punktach pomiarowych
            for (int i = 2; i <= 280; i += 4)            //70 punktów pomiarowych
            {
                //Tworzenie tablic o podanej wielkości
                int[] _oMatrix = CreateMatrix(i * 1000000, int.MaxValue - 1);                //Wraz ze sztywno określoną ostatnią wartośćia w tablicy

                //Sprawdzenie wartości peirwszego elementu w tablicy
                int _iFirstNumber = _oMatrix[0];

                //Tworzenie listy wyników czasowych
                List <long> _oTimesList = new List <long>();

                //Zmienna przechowująca sumę czasów między przypadkiem optymistycznym a pesymistycznym
                long _lTimeSum = 0;

                //Uśrednienie wyniku
                for (int x = 0; x < 7; x++)                //7 prób
                {
                    //Rozpoczecie pomiaru czasu
                    Time.Start();

                    //Szukanie pierwszego elementu
                    liniowe.LinSearchTime(_oMatrix, _iFirstNumber);

                    //Sumowanie czasów
                    _lTimeSum += Time.ElapsedMilliseconds;

                    //Resetowanie stopera
                    Time.Restart();

                    //Szukanie ostatniego elementu
                    liniowe.LinSearchTime(_oMatrix, int.MaxValue);

                    //Sumowanie czasów
                    _lTimeSum += Time.ElapsedMilliseconds;

                    //Resetowanie stopera
                    Time.Reset();

                    //Dodanie Uśrednionej sumy czasu do listy wyników czasowych
                    _oTimesList.Add(_lTimeSum / 2);
                }

                //Sortowanie tablicy wyników czasowych
                _oTimesList.Sort();

                //Usunięcie skrajnych wartości
                _oTimesList.RemoveAt(0);
                _oTimesList.RemoveAt(_oTimesList.Count - 1);

                //Deklaracja zmiennej uśredniajacej wynik
                long _lAverage = 0;

                //Sumowanie wyników
                foreach (long point in _oTimesList)
                {
                    _lAverage += point;
                }

                //Uśrednienie wyniku
                _lAverage /= _oTimesList.Count;

                //Wyświetlenie statystyk
                Console.WriteLine($"{i * 1000000}\t\t{_lAverage}\t\t{_iCouter++}");                //Testowo licznik pętli - Couter
            }
        }