« poprzedni punkt   następny punkt »



Streszczenie wykładu 03

W tym wykładzie kontynuować będziemy omawianie problemów wyszukiwania. Zakładamy, że struktury danych, w których działać będą rozważane tu algorytmy, mają określony liniowy porządek na elementach. Przedyskutujemy problem równoczesnego wyszukiwania elementów minimalnego i maksymalnego. Da nam to okazję do bardziej wnikliwej analizy kosztu średniego, oraz szczegółowej dyskusji poprawności. Przedstawimy te dwa różne rozwiązania optymalne tego problemu. Drugim zagadnieniem poruszanym w tym wykładzie jest problem wyszukiwania k-tego co do wielkości elementu ciągu. Osobno przedyskutujemy przypadek k=2, przedstawiając algorytm Turniej. Implementację tego algorytmu omówimy w wykładzie szóstym.  Rozwiązanie problemu w ogólnym przypadku jest tematem ostatniego punktu tego wykładu. Omówimy proste rozwiązanie naiwne oraz algorytm rekurencyjny Hoare. Istotną częścią tego algorytmu jest algorytm Partition rozdzielania ciągu na elementy mniejsze i większe od pewnego elementu. Algorytm ten będzie pełnił istotną rolę w algorytmie szybkiego sortowania, o którym będzie mowa w następnym wykładzie. Dla wszystkich omawianych algorytmów staramy się zbadać koszt oraz uzasadnić poprawność względem podanej specyfikacji.

« poprzedni punkt   następny punkt »