[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

kirk1994
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 23 lut 2015, o 23:14
Płeć: Mężczyzna
Lokalizacja: Polska

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: kirk1994 »

Równoczesne wyszukiwanie minimum i maksimum w ciagu \(\displaystyle{ n}\) elementowym mozna zrealizowac
ustawiajac elementy ciagu w pary, a nastepnie wybierajac element najmniejszy z mniejszych
elementów par i element najwiekszy - z wiekszych elementów par. Jezeli dodatkowo \(\displaystyle{ n}\) jest nieparzyste,
to nalezy porównac otrzymane elementy z ostatnim, który nie ma pary.
a) Jaki jest koszt tego algorytmu, jesli ciag ma \(\displaystyle{ 6}\) elementów?
b) Jaki jest koszt tego algorytmu, jesli ciag ma \(\displaystyle{ 9}\) elementów?
c) Jaki jest koszt w przypadku, gdy ciag ma \(\displaystyle{ n}\) elementów oraz \(\displaystyle{ n}\) jest liczba parzysta?
d) Czy koszt tego algorytmu jest liniowy?
Ostatnio zmieniony 25 lut 2015, o 07:29 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Gouranga
Użytkownik
Użytkownik
Posty: 1592
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 246 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Gouranga »

Nie wiadomo o jaki koszt (czy formalniej mówiąc o jaką złożoność chodzi). Jeśli o czasową to jest \(\displaystyle{ O(\log n)}\)
kirk1994
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 23 lut 2015, o 23:14
Płeć: Mężczyzna
Lokalizacja: Polska

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: kirk1994 »

Myślę , że złożoność = ilość porównań w czasie wykonywania.
Gouranga
Użytkownik
Użytkownik
Posty: 1592
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 246 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Gouranga »

No czyli złożoność czasowa. Jest tez złożoność pamięciowa.
Awatar użytkownika
Vardamir
Użytkownik
Użytkownik
Posty: 1913
Rejestracja: 3 wrz 2010, o 22:52
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 410 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Vardamir »

Gouranga pisze:Jeśli o czasową to jest \(\displaystyle{ O(\log n)}\)
Jak Ci to wyszło? Dla sześciu elementów, ten algorytm wykona dziewięć porównań. Ogólny przypadek to \(\displaystyle{ \left\lfloor \frac{n}{2} \right\rfloor + 2 \cdot \left\lfloor \frac{n}{2} \right\rfloor + 2\cdot \left( n-2\cdot \left\lfloor \frac{n}{2} \right\rfloor \right)}\) porównań.
Kolejno - na ustawienie w parach, na wyszukanie minimum i na wyszukanie maksimum, na uwzględnienie dodatkowego elementu.

Zatem złożoność to \(\displaystyle{ O(n)}\)
kirk1994
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 23 lut 2015, o 23:14
Płeć: Mężczyzna
Lokalizacja: Polska

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: kirk1994 »

Jakim cudem jeżeli \(\displaystyle{ 6}\) elementów to \(\displaystyle{ 9}\) porównań .
Weźmy tablice \(\displaystyle{ [5\ 8\ 1\ 3\ 6\ 2]}\)

Układamy w pary : \(\displaystyle{ [5\ 8]\ [1\ 3]\ [6\ 2]}\) i porównujemy --> \(\displaystyle{ 3}\) porównania
Wychodzi nam znowu \(\displaystyle{ [5\ 1\ 2]\ [8\ 3\ 6]}\) i znowu w pary
Czyli \(\displaystyle{ [5\ 1]}\) zostaje \(\displaystyle{ 2}\) i \(\displaystyle{ [8\ 3]}\) zostaje \(\displaystyle{ 6}\) --> \(\displaystyle{ 2}\) porownania
Musimy porównać te elementy co zostały z tymi co wyszły : \(\displaystyle{ [1\ 2]}\) i \(\displaystyle{ [8\ 6]}\) --> \(\displaystyle{ 2}\) porównania
\(\displaystyle{ 3+2+2 = 7}\) porównań
Ostatnio zmieniony 25 lut 2015, o 19:08 przez Jan Kraszewski, łącznie zmieniany 1 raz.
Powód: Brak LaTeX-a. Proszę zapoznaj się z instrukcją: http://matematyka.pl/latex.htm .
Awatar użytkownika
Vardamir
Użytkownik
Użytkownik
Posty: 1913
Rejestracja: 3 wrz 2010, o 22:52
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 410 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Vardamir »

kirk1994 pisze:Wychodzi nam znowu [5 1 2] [8 3 6] i znowu w pary
Dlaczego znowu w pary, gdzie w twoim opisie algorytmu jest coś takiego napisane? W tym momencie, spośród elementów mniejszych szukasz najmniejszego, każdy porównując z aktualnym minimum. To samo dla największego.
kirk1994
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 23 lut 2015, o 23:14
Płeć: Mężczyzna
Lokalizacja: Polska

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: kirk1994 »

No to pokaż , jak z 6 elementowego zbioru wychodzi 9 porównań.
Awatar użytkownika
Vardamir
Użytkownik
Użytkownik
Posty: 1913
Rejestracja: 3 wrz 2010, o 22:52
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 410 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Vardamir »

\(\displaystyle{ [5\ 8\ 1\ 3\ 6\ 2]}\)
Ustawiamy je w pary mniejsza-większa. (trzy porównania)

\(\displaystyle{ [5\ 8\ 1\ 3\ 2\ 6]}\)
Nie jest sprecyzowane w poleceniu, jakie jest \(\displaystyle{ n}\). Przyjmuje, że dowolne całkowite.

Niech \(\displaystyle{ \min=-\infty}\) oraz \(\displaystyle{ \max=\infty}\).

Teraz \(\displaystyle{ \min}\) porównujemy z pozycjami nieparzystymi (trzy porównania), natomiast \(\displaystyle{ \max}\) z pozycjami parzystymi (trzy porównania).

Można na początku przyjąć za \(\displaystyle{ \min}\), \(\displaystyle{ \max}\) odpowiednio pierwszy i drugi element ciągu, wówczas odpadną dwa porównania. Jednak to zależy od tego jak realizujemy początkowy stan wyszukiwania najmniejszego/największego elementu
bartek118
Użytkownik
Użytkownik
Posty: 5974
Rejestracja: 28 lut 2010, o 19:45
Płeć: Mężczyzna
Lokalizacja: Toruń
Podziękował: 15 razy
Pomógł: 1251 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: bartek118 »

Przecież to jest algorytm liniowy \(\displaystyle{ O(n)}\) i tyle. Dokładnie jakby policzyć to wychodzi \(\displaystyle{ \frac{3n}{2}}\)
Awatar użytkownika
Vardamir
Użytkownik
Użytkownik
Posty: 1913
Rejestracja: 3 wrz 2010, o 22:52
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 6 razy
Pomógł: 410 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: Vardamir »

Oczywiście, że jest liniowy. Do tego zmierzamy.
bartek118 pisze:Dokładnie jakby policzyć to wychodzi \(\displaystyle{ \frac{3n}{2}}\)
Dokładnie to raczej nie. \(\displaystyle{ n=3}\) daje \(\displaystyle{ 4,5}\) porównania.
bartek118
Użytkownik
Użytkownik
Posty: 5974
Rejestracja: 28 lut 2010, o 19:45
Płeć: Mężczyzna
Lokalizacja: Toruń
Podziękował: 15 razy
Pomógł: 1251 razy

[Algorytmy] Wyszukiwanie minimum i maksimum w ciągu

Post autor: bartek118 »

Vardamir pisze:Oczywiście, że jest liniowy. Do tego zmierzamy.
bartek118 pisze:Dokładnie jakby policzyć to wychodzi \(\displaystyle{ \frac{3n}{2}}\)
Dokładnie to raczej nie. \(\displaystyle{ n=3}\) daje \(\displaystyle{ 4,5}\) porównania.
Dla \(\displaystyle{ n}\) parzystych
ODPOWIEDZ