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 } }
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 } }
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 } }
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 } }