Witam, mam do utworzenia i analizy algorytm wyznaczenia liczby wystąpień maksymalnego elementu w tablicy oraz minimalnej odległości między elementami o maksymalnej wartości.
Algorytm już napisałem, schemat blokowy i instrukcje krok po kroku też. Problem został jedynie ze złożonością obliczeniową. Podam poniżej kod w PHP, prosiłbym o jakiekolwiek wskazówki.
Rozumiem, że złożoność w dużej mierze zależy od ilości danych. Załóżmy więc że liczb w tablicy jest 20. Dziękuje z góry za pomoc.
Złożoność owszem zależy od ilości danych ale nie w taki sposób jak ty to interpretujesz, ponieważ dla każdej wartości 20, 21, 22, … musiałbyś na nowo liczyć złożoność.
Tablica n elementowa
W pierwszej pętli sprawdzasz każdy element czyli masz złożoność O(n)
W drugiej pętli zaś sprawdzasz każdy element który jest maximum i tutaj masz O(k) gdzie k liczba elementów max.
Więc złożoność jest O(n+k) - jest to przypadek kiedy złożoność algorytmu jest wrażliwa na jego wynik.
Tutaj wykazałem złożoność czasową (najczęściej rozpatrywaną), można jeszcze policzyć złożoność pamięciową.