Analizuję deterministyczną medianę przy założeniu, że dane wejściowe są podzielone na 3 części zamiast 5, a pytanie brzmi: Gdzie się rozkłada?Dlaczego algorytm median-median nie może używać bloku wielkości 3?
deterministyczny mediana znalezienie Algorytm:
SELECT (i, n)
podzielić N elementów na grupy 5. znaleźć medianę każdej grupie 5 elementu z pamięci.
Rekurencyjnie WYBIERZ medianę x median grupy ⎣n/5⎦ jako oś obrotu.
Partycja wokół osi x. Niech K = pozycja (x)
4.if I = k, wtedy powrót x
ten blok i < K
następnie rekurencyjnie SELECT-tego najmniejszy element dolnej części
jeszcze rekursywnie WYBIERZ (i-k) th najmniejszy element w górnej części
Przeszedłem przez odbyt Ysis algorytmu i wierzę, że Krok 1 i 3 zajmą O (n), gdzie zajmuje tylko stały czas, aby znaleźć medianę 5 elementów, a Krok 2 zajmuje T (n/5) .so co najmniej 3/10 elementów są ≤ p, a co najmniej 3/10 macierzy jest ≥ p, dlatego też krok 4 będzie T (7n/10) i otrzyma nawrót. T (n) ≤ cn + T (n/5) + T (7n/10), , ale kiedy podzielę elementy w grupie 3, powiedzmy 9 elementów i podzielę je w grupie tak, aby:
{1,2,10} {4,11,14}, {15,20,22}
Mam mediany 2,11,20 i p = 11.
ogólnie w grupie pięciu powiedzmy g = n/5 grup i co najmniej ⌈g/2⌉ z nich (te grupy, których mediana to ≤ p) co najmniej trzy z pięciu elementów to ≤ p. więc całkowita liczba elementów ≤ p wynosi co najmniej 3⌈g/2⌉ ≥ 3n/10. ALE w grupie 3 możemy uzyskać wszystkie trzy elementy mogą być MNIEJSZE niż p. i tutaj myślę, że algorytm się zepsuje !!
Czy otrzymałem prawidłowy pomysł?
Masz więc jakiś algorytm i odnoszą się do "krok 1" i takie. Czym dokładnie jest ten algorytm, o którym mówisz? Jakie są te kroki? Jak powinniśmy sprawdzić twoją analizę, jeśli nie pokazujesz, co analizujesz? Możesz również sprawdzić pisownię/... swoje pytanie, aby ułatwić czytanie. – sth
Przepraszam, zapomniałem napisać algorytm !! – Lara
Czym dokładnie jest ranga (x)? – Sunspawn