[Algorytmy] Wstawianie k nowych elementów

matematyka464
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 3 lis 2013, o 12:00
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 208 razy
Pomógł: 1 raz

[Algorytmy] Wstawianie k nowych elementów

Post autor: matematyka464 »

Witam,
Wykaż, że \(\displaystyle{ k}\) nowych elementów można wstawić do ciągu uporządkowanego (\(\displaystyle{ n}\) elementów) przy pomocy \(\displaystyle{ O(k \log k + n)}\) porównań.

Prawdę powiedziawszy nie wiem jak się do tego zabrać, pokażę co ja uważam.

Posortujemy te elementy w czasie \(\displaystyle{ k \log k}\). Teraz pozostaje scalić te dwa ciągi. I to można w czasie \(\displaystyle{ n}\). Jednak nie mam pewności czy to jest dobrze, bo nie za wiele tutaj wykazałem.
Ostatnio zmieniony 9 lut 2015, o 07:29 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
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] Wstawianie k nowych elementów

Post autor: bartek118 »

O to chodzi; uzasadniłbym jedynie czemu można je scalić w czasie \(\displaystyle{ n}\)
matematyka464
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 3 lis 2013, o 12:00
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 208 razy
Pomógł: 1 raz

[Algorytmy] Wstawianie k nowych elementów

Post autor: matematyka464 »

Ok, dzięki. Nie wiedziałem, że takie coś może posłużyć za dowód. W takim razie wieczorem spróbuję przemyśleć to scalanie (nie mam 100% pewności czy się uda).
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] Wstawianie k nowych elementów

Post autor: bartek118 »

matematyka464 pisze:Ok, dzięki. Nie wiedziałem, że takie coś może posłużyć za dowód. W takim razie wieczorem spróbuję przemyśleć to scalanie (nie mam 100% pewności czy się uda).
Algorytm scalania możesz wprost wziąć z końcowego etapu sortowania przez scalanie.
matematyka464
Użytkownik
Użytkownik
Posty: 459
Rejestracja: 3 lis 2013, o 12:00
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 208 razy
Pomógł: 1 raz

[Algorytmy] Wstawianie k nowych elementów

Post autor: matematyka464 »

Jak widać w zadaniu rozchodzi się o porównania. Żeby scalić potrzebujemy wykonać nie mniej niż \(\displaystyle{ n}\) porównań. Gdy wykonamy już te \(\displaystyle{ n}\) porównań to jeśli zostały jakieś elementy spośród \(\displaystyle{ k}\) elementów to nie musimy ich porównywać, doklejamy je "na końcu".

Ok ?


I druga część:
Wykaż, że dla \(\displaystyle{ k\ge n}\) rozwiązanie jest asymptotycznie optymalne. Nie wiem za bardzo jak to wykazać.
ODPOWIEDZ