ALG3
Rozdział 3
Analiza sprawności algorytmów
Podstawowe kryteria pozwalające na wybór właściwego algorytmu zależą głównie od kontekstu, w jakim zamierzamy go używać. Jeśli chodzi nam o sporadyczne używanie programu do celów „domowych” czy też po prostu prezentacji wykładowej, współczynnikiem najczęściej decydującym bywa prostota algorytmu.
Nieco inna sytuacja powstaje w momencie zamierzonej komercjalizacji programu, ewentualnie udostępnienia go szerszej grupie osób. Ktoś z „zewnątrz”, dostający do ręki dyskietkę z programem w postaci wynikowej (tzn. jako plik binarny), jest w nikłym stopniu - jeśli w ogóle! zainteresowany estetyką „wewnętrzną” programu, klarownością i pięknem użytych algorytmów etc. Użytkownik ten - zwany czasem końcowym - będzie się koncentrował na tym, co jest dla niego bezpośrednio dostępne: rozbudowanych systemach menu, pomocy kontekstowej, jakości prezentacji wyników w postaci graficznej... Taki punkt widzenia jest często spotykany i programista, który zapomni go uwzględnić, ryzykuje wyeliminowanie się z rynku programów komercyjnych.
Konflikt interesów, z którym mamy tu do czynienia, jest zresztą typowy dla wszelkich relacji typu producenl-klient: pierwszy jest głęboko zainteresowany, aby stworzyć swój produkt najtaniej i sprzedać go jak najdrożej, natomiast drugi chciałby za niewielką sumę dostać coś najwyższej jakości...
Upraszczając dla potrzeb naszej dyskusji wyżej zaanonsowaną problematykę, możemy wyróżnić dwa podstawowe kryteria oceny programu. Są to:
• sposób komunikacji z operatorem;
• szybkość wykonywania podstawowych funkcji programu.
W rozdziale tym zajmiemy się wyłącznie aspektem sprawnościowym wykonywania programów, problem komunikacji - jako zbyt obszerny - zostawiając może na inną okazję.
Wyszukiwarka
Podobne podstrony:
ALG4 54 Rozdział 3. Analiza sprawności algorytmów Tematyką tego rozdziału jest tzw. złożoność oblicALG6 56 Rozdział 3. Analiza sprawności algorytmów jest intuicyjnie bardzo proste, dalej będziemy użAlg0 60 Rozdział 3. Analiza sprawności algorytmów • Znak graficzny 3 należy czytaALG2 52 Rozdział 3. Analiza sprawności algorytmów Rys. 3 -ALG4 64 Rozdział 3. Analiza sprawności algorytmów3.4. Przykład 3: Wpadamy w pułapkę Zadania z dwóchALG6 66 Rozdział 3. Analiza sprawności algorytmów return pos; else //element zostALG8 68 Rozdział 3. Analiza sprawności algorytmów3.6. Nowe zadanie: uprościć obliczenia! Nic sposóbALG0 70 Rozdział 3. Analiza sprawności algorytmów Przykład: SRL=xn-3x„.i+2 x„ -2=0 dajeALG2 72 Rozdział 3. Analiza sprawności algorytmówn o) = i, i = A + O, A = 1. Po tALG4 74 Rozdział 3. Analiza sprawności algorytmów • funkcja d(n) musi spełniać następującą własnośćALG6 76 Rozdział 3. Analiza sprawności algorytmów Analogicznie dla 2 otrzymamy: Vn > 1, A(n,2) =ALG8 78___Rozdział 3 Analiza sprawności algorytmówZad. 3-4 Proszę rozwiązać następujące równanieALG8 58Rozdział 3. Analiza sprawności algorytmów konania programu zależy od danej wejściowej n? W lALG3 4.1. Sortowanie przez wstawianie, algorytm klasy 0(N2) 83 Idea tego algorytmu opiera się na naALG 3 Rozdział 5Struktury danych Nikogo nie trzeba chyba przekonywać o wadze tematu, który zostanieALG3 6.3. Kilka przykładów derekursywacji algorytmów 173 Pokaźna grupa procedur rekurencyjnych dośćALG!6 216 Rozdział 8. Przeszukiwanie tekslói8.2.2.Algorytm Boyera i Moore’a Kolejny algorytm, któryALG$6 246 Rozdział 10. Elementy algorytmiki gratów Ta historyczna anegdota stanowi jednocześnie doskwięcej podobnych podstron