Koszt danego algorytmu

0

Witam , mam zadanie do zrobienia ,bardzo mi na nim zależy ale poprsotu nie wiem jak je zrobić.

Mamy tablicę liczb, użytkownik podaję 1 liczbę i sprawdzamy czy jest ona w tablicy.

i=1;
wynik = false;

while(i<=n &&!wynik){

if(x==e[i])
wynik = true;


else
i++;}

Analizujemy koszt algorytmu czyli ile razy wykonujemy operację porównania

  1. Koszt optymalny = 1;
  2. Koszt pesymistyczny = n;
  3. Jaki jest koszt średni tego algorytmu ?

Założmy że prawdopodobieństwo że x należy do tego ciągu jest p, wiemy dodatkowo że prawdopodobieństwo że x znajduję się na jakimś miejscu jest takie same.

Oczywiście tablica zaczyna się od 1......n

Prosiłbym o pomoc i wyjaśnienie.

0

podbijam

0

Jeśli element należy to będzie średnio n/2 sprawdzeń, jeśli nie należy to będzie dokładnie n sprawdzeń. Oczekiwana liczba sprawdzeń wynosi więc, na moje oko, p * n / 2 + (1 - p) * n.

1 użytkowników online, w tym zalogowanych: 0, gości: 1