Example #1
0
        static void Bin_Pes_Instr()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Binarne_Pesymistyczne_Instrumentacja");

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

            //Deklaracja wyszukiwania binarnego
            Binarne binarne = new Binarne();

            //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);

                //Sortowanie tablicy od najmniejszych wartości do najwiekszych
                Array.Sort(_oMatrix);

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

                //Szukanie elementu o wartości uint.max
                binarne.BinSearchInst(_oMatrix, int.MaxValue, out _lCriticalPoints);

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

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

            //Deklaracja wyszukiwania binarnego
            Binarne binarne = new Binarne();

            //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);

                //Sprawdzenie wartości środkowego elementu w tablicy
                int _iMiddleNumber = _oMatrix[(_oMatrix.Length - 1) / 2];

                //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 środkowego elementu
                binarne.BinSearchInst(_oMatrix, _iMiddleNumber, out _lCriticalPoints);

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

                //Szukanie ostatniego elementu
                binarne.BinSearchInst(_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
            }
        }
Example #3
0
        static void Bin_Ave_Instr()
        {
            //Opis
            Console.WriteLine("Wyszukiwanie_Binarne_Średnie_Instrumentacja");

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

            //Deklaracja wyszukiwania binarnego
            Binarne binarne = new Binarne();

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

            //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);

                //Sortowanie tablicy od najmniejszych wartości do najwiekszych
                Array.Sort(_oMatrix);

                //Zmienna przechowująca sumę punktów pomiaroywch
                long _lCriticalPointsSum = 0;

                //Licznik pętli średniej binarnej
                uint _uAverageLoops = 0;

                //Pętla średniej binarnej
                for (int j = 0; j < _oMatrix.Length / 2; j += 10000)                //(długość tablicy / 2) / 10 000 prób
                {
                    //Losowa liczba do szukania
                    int _iRandomNumber = _oMatrix[j];

                    //Szukanie elementu binarnie
                    binarne.BinSearchInst(_oMatrix, _iRandomNumber, out long _lCriticalPoints);                    //Zmienna przechowująca ilosć punktów krytycznych

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

                    //Inkrementacja licznika pętli
                    _uAverageLoops++;
                }

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