W ramach projektu na uczelnię mam stworzyć tablicę mieszającą wykorzystującą algorytm md5. Z implementacją poradziłem sobie bez żadnych problemów, jednak muszę jeszcze przedstawić złożoność obliczeniową takiego algorytmu. Implenentacja jest na tyle prosta że nie wiem co tutaj obliczać :)
function dodaj($ciag){
if(isset($this->hash_table[md5($ciag)][0])){
$c = count($this->hash_table[md5($ciag)]);
$this->hash_table[md5($ciag)][$c] = $ciag;
return true;
}else{
$this->hash_table[md5($ciag)][0] = $ciag;
return false;
}
}
Wiem że złożoność obliczeniowa jest funkcją ilości danych wejściowych i ilości wykonanych instrukcji. Jednak w takim prostym algorytmie w praktyce jedyną operacją jest sprawdzenie warunku zajętości danego indeksu i przypisanie w odpowiednie miejsca danych. Jak poradzić sobie ze złożonością obliczeniową?