using System.Diagnostics;
namespace Projekt1
{
class Program
{
static void Main(string[] args)
{
Stopwatch time = new Stopwatch(); //utworzenie stoperów do pomiarów poszczgólnych procesów
Stopwatch lin = new Stopwatch();
Stopwatch bin = new Stopwatch();
Stopwatch clear = new Stopwatch();
TimeSpan wynik = clear.Elapsed;
TimeSpan wynik2 = clear.Elapsed;
TimeSpan wynik3 = clear.Elapsed;
TimeSpan wynik4 = clear.Elapsed;
int operacja = 1;
time.Start();
int a = 0;
int[] array = new int [268435456];
for(int i = 0; i < array.Length; i++)
{
array[i] = a; //przypisanie wartości do tablicy array
a++;
}
int x =
int h = 0; //wyszukiwanie liniowe
bool warunek2 = true;
while(warunek2 == true)
{
lin.Start();
if(h < array.Length)
{
if(array[h] == x)
{
Console.WriteLine("Liniowe: Szukany element znajduje się pod inteksem "+h);
warunek2 = false;
}
else
{
h++;
}
}
else
{
Console.WriteLine("Liniowe: Nie znaleziono szukanego elementu");
warunek2 = false;
}
TimeSpan dodaj = lin.Elapsed;
{
if (wynik < dodaj) //przypadek maksymalny
{
wynik = dodaj;
}
{
if (wynik2 > dodaj) //przypadek minimalny
{
wynik2 = dodaj;
}
}
}
lin.Stop();
}
Console.WriteLine("CZAS ODNALEZENIA ELEMENTU: "+lin.Elapsed);
Console.WriteLine("ŚREDNI CZAS WYKONANIA OPERACJI: "+(lin.Elapsed/array.Length));
Console.WriteLine("MAKSYMALNY CZAS WYKONANIA OEPRACJI: "+wynik);
Console.WriteLine("MINIMALNY CZAS WYKONANIA OEPRACJI: "+wynik2);
Console.WriteLine();
int l = 0; //wyszukiwnaie binarne
int p = array.Length - 1;
bool warunek = true;
while(warunek == true)
{
bin.Start();
if(l {
int s = (l+p)/2;
if(array[s] == x)
{
Console.WriteLine("Binarne: Szukany element znajduje się pod inteksem "+s);
warunek = false;
}
else
{
if(array[s]
l = s + 1;
}
else
{
p = s - 1;
}
}
}
else
{
Console.WriteLine("Binarne: Nie można odnaleźć szukanego elementu.");
warunek = false;
}
operacja++;
TimeSpan dodaj2 = bin.Elapsed;
{
if (wynik3 < dodaj2) //przypadek maksymalny
{
wynik3 = dodaj2;
}
{
if (wynik4 > dodaj2) //przypadek minimalny
{
wynik4 = dodaj2;
}
}
}
bin.Stop();
}
Console.WriteLine("CZAS ODNALEZENIA ELEMENTU: "+bin.Elapsed);
Console.WriteLine("ŚREDNI CZAS WYKONANIA OPERACJI: "+(bin.Elapsed/operacja));
Console.WriteLine("MAKSYMALNY CZAS WYKONANIA OEPRACJI: "+wynik3);
Console.WriteLine("MINIMALNY CZAS WYKONANIA OEPRACJI: "+wynik4);
Console.WriteLine();
time.Stop();
Console.WriteLine("CZAS WYKONANIA PROGRAMU: "+time.Elapsed);
}
}
}