Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

Podobne dokumenty
Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 3 Algorytmy grafowe ( )

Rozsądny i nierozsądny czas działania

Porównanie Heap Sort, Counting Sort, Shell Sort, Bubble Sort. Porównanie sortowao: HS, CS, Shs, BS

OBLICZENIE SIŁ WEWNĘTRZNYCH DLA BELKI SWOBODNIE PODPARTEJ SWOBODNIE PODPARTEJ ALGORYTM DO PROGRAMU MATHCAD

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych

MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

Laboratoria nr 1. Sortowanie

Harmonogramowanie linii montażowej jako element projektowania cyfrowej fabryki

Algorytmy i struktury danych

Egzamin maturalny z informatyki Poziom rozszerzony część I

Elementy modelowania matematycznego


Jak obliczać podstawowe wskaźniki statystyczne?

EGZAMIN MATURALNY Z INFORMATYKI

Metoda analizy hierarchii Saaty ego Ważnym problemem podejmowania decyzji optymalizowanej jest często występująca hierarchiczność zagadnień.

STATYSTYKA OPISOWA WYKŁAD 1 i 2

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Miary rozproszenia. Miary położenia. Wariancja. Średnia. Dla danych indywidualnych: Dla danych indywidualnych: s 2 = 1 n. (x i x) 2. x i.

Informatyka 1. Złożoność obliczeniowa

Miary położenia. Miary rozproszenia. Średnia. Wariancja. Dla danych indywidualnych: Dla danych indywidualnych: s 2 = 1 n. (x i x) 2. x i.

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne (wykład 6 _ZP) [1] ZAGADNIENIE PRZYDZIAŁU (ZP) (Assignment Problem)

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych.

TESTY LOSOWOŚCI. Badanie losowości próby - test serii.

O liczbach naturalnych, których suma równa się iloczynowi

BADANIA DOCHODU I RYZYKA INWESTYCJI

INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH Z WYTRZYMAŁOŚCI MATERIAŁÓW

STATYSTYKA OPISOWA PODSTAWOWE WZORY

Zasady analizy algorytmów

Wprowadzenie. metody elementów skończonych

Algorytmy i struktury danych Sortowanie IS/IO, WIMiIP

Wpływ warunków eksploatacji pojazdu na charakterystyki zewnętrzne silnika

STATYSTYKA OPISOWA PODSTAWOWE WZORY

Korelacja i regresja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 12

Arkusz ćwiczeniowy z matematyki Poziom podstawowy ZADANIA ZAMKNIĘTE. W zadaniach od 1. do 21. wybierz i zaznacz poprawną odpowiedź. 1 C. 3 D.

KADD Metoda najmniejszych kwadratów

Prawdopodobieństwo i statystyka

Estymacja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 7

Statystyka opisowa - dodatek

STATYSTYKA I ANALIZA DANYCH

AiSD zadanie trzecie

WYBRANE METODY DOSTĘPU DO DANYCH

X i. X = 1 n. i=1. wartość tej statystyki nazywana jest wartością średnią empiryczną i oznaczamy ją symbolem x, przy czym x = 1. (X i X) 2.

Estymacja przedziałowa

Kluczowy aspekt wyszukiwania informacji:


Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Podstawy Programowania. Złożoność obliczeniowa

Miary położenia (tendencji centralnej) to tzw. miary przeciętne charakteryzujące średni lub typowy poziom wartości cechy.

( 0) ( 1) U. Wyznaczenie błędów przesunięcia, wzmocnienia i nieliniowości przetwornika C/A ( ) ( )

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

TRANSFORMACJA DO UKŁADU 2000 A PROBLEM ZGODNOŚCI Z PRG

Wstęp do informatyki. Operandy instrukcji. Tryby adresowania. Adresowanie natychmiastowe (Immediate) Operand jest podaną liczbą

PRZYKŁADY ROZWIAZAŃ STACJONARNEGO RÓWNANIA SCHRӦDINGERA. Ruch cząstki nieograniczony z klasycznego punktu widzenia. mamy do rozwiązania równanie 0,,

Wstęp do informatyki. Operandy instrukcji. Tryby adresowania. Programowanie komputera asembler c.d. Cezary Bolek

Scenariusz lekcji: Kombinatoryka utrwalenie wiadomości

Ćwiczenia rachunkowe TEST ZGODNOŚCI χ 2 PEARSONA ROZKŁAD GAUSSA

COLLEGIUM MAZOVIA INNOWACYJNA SZKOŁA WYŻSZA WYDZIAŁ NAUK STOSOWANYCH. Kierunek: Finanse i rachunkowość. Robert Bąkowski Nr albumu: 9871

Materiał ćwiczeniowy z matematyki Marzec 2012

Liczby pierwsze o szczególnym. rozmieszczeniu cyfr:

Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa

Algorytmy i struktury danych

Metody Obliczeniowe w Nauce i Technice laboratorium

Prawdopodobieństwo i statystyka r.

ALGORYTM OPTYMALIZACJI PARAMETRÓW EKSPLOATACYJNYCH ŚRODKÓW TRANSPORTU

Sortowanie przez scalanie

Konica Minolta Optimized Print Services (OPS) Oszczędzaj czas. Poprawiaj efektywność. Stabilizuj koszty. OPS firmy Konica Minolta

Plan wykładu. Analiza danych Wykład 1: Statystyka opisowa. Literatura. Podstawowe pojęcia

STATYSTYKA MATEMATYCZNA

Analiza algorytmów zadania podstawowe

Prace domowe z matematyki Semestr zimowy 2010/2011. Zoa Zieli«ska-Kolasi«ska

Wstęp do programowania

Analiza dokładności pomiaru, względnego rozkładu egzytancji widmowej źródeł światła, dokonanego przy użyciu spektroradiometru kompaktowego

Przykładowe sprawozdanie. Jan Pustelnik

L a b o r a t o r i u m (hala 20 ZOS)

Laboratoria nr 1. Sortowanie

Moda (Mo, D) wartość cechy występującej najczęściej (najliczniej).

INFORMATYKA SORTOWANIE DANYCH.

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Podstawy Programowania

Relacje rekurencyjne. będzie następująco zdefiniowanym ciągiem:

1 Wersja testu A 21 czerwca 2017 r. 1. Wskazać taką liczbę wymierną w, aby podana liczba była wymierna. w = w 2, w = 2.

TECHNOLOGIE INFORMACYJNE I Laboratorium. Instrukcje do c wiczen

IMPUTACJE I JĄDRO GRY

Podstawowe struktury danych

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Wykład 5. Sortowanie w czasie liniowologarytmicznym

I. Podzielność liczb całkowitych

Wstęp do programowania

Elementy statystyki opisowej Izolda Gorgol wyciąg z prezentacji (wykład I)

Elementy rach. macierzowego Materiały pomocnicze do MES Strona 1 z 7. Elementy rachunku macierzowego

Podstawy Programowania

Podstawy Programowania. Złożoność obliczeniowa

Analiza numeryczna Kurs INP002009W. Wykład 1 Narzędzia matematyczne. Karol Tarnowski A-1 p.223

ANALIZA DANYCH DYSKRETNYCH

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia: Problemy transportowe cd, Problem komiwojażera

Transkrypt:

Poiedziałki 11.45 Grupa I3 Iformatyka a wydziale Iformatyki Politechika Pozańska Algorytmy I Struktury Daych Prowadząca: dr Hab. iż. Małgorzata Stera Sprawozdaie do Ćwiczeia 1 Algorytmy sortowaia (27.2.12) Autorzy: Oliwer Kostera r ideksu 16552 Adam Matuszewski r ideksu 1655

1. Implemetacja metod sortowaia. Do implemetacji metod sortowaia posłużyliśmy się językiem C. Każda z metod została apisaa w odrębej fukcji. Do mierzeia czasu poszczególych metod użyliśmy fukcji clock() z bibliotek time.h. 2. Badaa zależość czasu obliczeń od liczby sortowaych elemetów. Isertio Selestio Bubble Heap Quick * Merge Coutig 2,46,78 2,29,1,,1, 4 1,87 3,14 9,13,1,1,1, 6 4,2 7,4 2,52,2,2,1, 7 5,73 9,57 27,86,2,2,2, 8 7,57 12,51 36,46,3,2,2, 9 9,45 15,83 46,17,4,2,3,1 1 11,69 19,54 56,93,4,2,3,1 12 16,78 28,16 82,1,5,2,4,1 15 26,17 44,15 128,35,6,3,4,1 2 47,3 78,68 226,7,7,4,6,1 3 14,6 179,53 536,91,14,8,9,2 4 195,4 328,67 955,88,19,1,12,4 5 34,88 514,14 1492,83,25,13,16,5 75 691,2 1163,54 3356,55,38,21,26,9 1 1246,62 262,72 5829,55,53,28,33,9 *- metoda Quick z podziałem wg środkowego elemetu Zakres liczb [1, ].

7 6 5 4 3 2 1 4 7 9 12 2 4 75 2 6 8 1 15 3 5 1 Isertio Selectio Bubble.6.5.4.3.2.1 2 4 7 9 12 2 4 75 6 8 1 15 3 5 1 Heap Quick Merge Coutig

Wioski: -metody Heap, Quick, Merge i Coutig są algorytmami szybszymi jak widać a powyższych wykresach co czyi je efektywiejszymi, -ajszybszym algorytmem z metod szybkich dla z zakresu [2, 1] jest Coutig, atomiast ajwoliejsza Heap, -ajszybszym algorytmem z metod wolych dla z zakresu [2, 1] jest Isertio, atomiast ajwoliejsza Bubble, Na efektywość algorytmów sortowaia ma wpływ między iymi liczba sortowaych elemetów, rozkład i zakres elemetów czy złożoość obliczeiowa. Powyższe algorytmy możemy podzielić ze względu a wrażliwość a dae wejściowe, złożoość obliczeiową, stabilość czy zajmowaie pamięci. Wszystkie metody szybkie maja złożoość O(*log), atomiast metody wole O( 2 ). Do algorytmów stabilych możemy zaliczyć MS, CS, IS i BS. Wrażliwe a dae wejściowe są IS, CS, QS i HS. Metodami działającymi w miejscu są wszystkie algorytmy wole oraz HS. 3. Metody szybkie QS, a metoda IS dla losowego i rosącego rozkładu daych. IS(losowe) QSs*(losowe) QSe*(losowe) IS(rosące) QSs(rosące) QSe(rosące) 4 1,87,1,1,1 1,72 6 4,2,2,2,1 3,86 7 5,73,2,2,1 5,24 8 7,57,2,2,1 6,85 9 9,45,2,2,1 8,66 1 11,69,2,3,1 1,67 12 16,78,2,3,1 15,33 15 26,17,3,3,1 23,4 16 31,5,4,4,2 26,16 17 34,83,5,4,2 29,62 QSs- Quick z pivotem a środku Qse- Quick z pivotem a skraju

4 35 3 25 2 15 1 5 4 6 7 8 9 1 12 15 16 17 IS(losowo) Qss(losowo) Qse(losowo) IS(rosąco) Qsm(rosąco) Qse(rosąco) Wioski dla metody szybkiej QS: -pukt podziału tablicy zaczie wpływa a efektywość tej metody, w przypadku rozkładu losowego daych, czasy wykoywaia algorytmów były podobe, atomiast dla rozkładu losowego złożoość obliczeiowa metody z piwotem w środku tablicy rosła aż do O( 2 ). -ajgorszym przypadkiem dla metody z podziałem wg skrajego elemetu jest ciąg posortoway rosąco lub malejąco, wpływ ma a to ilość wykoywaych iteracji (mediaa ciągu zajduje się w środku), -ajlepszym przypadkiem dla algorytmu z podziałęm wg środkowego elemetu jest ajgorszy przypadek dla metody z podziałem wg skrajego elemetu, -ajgorszym przypadkiem dla metody z piwotem w środku są ciągi A lub V- kształte, -ajlepsza wersją wyboru puktu podziału jest zalezieie mediay ciągu i w tym miejscu jego ustawieie, zaletą tego jest utrzymaie złożoości O(*log), atomiast wadą wymagay dodatkowy czas, -metoda szybka posiada iejawe wymagaie pamięciowe w postaci odkładaia wartości a stos przy rekurecji.

Metoda szybka a metoda IS. Z wyżej otrzymaych wyików, możemy wioskować, że efektywiejszym algorytmem jest QS od IS. Nawet w przypadku gdy złożoość QS rośie do O( 2 ) to adal jest szybsza metodą jak IS dla losowych elemetów. Algorytm IS jest tym lepszym tylko w przypadku gdy wiemy, że dae są już posortowae (złożoość O()), ie wymaga wtedy żadej pamięci w przeciwieństwie do QS. Podstawowe wady i zalety poszczególych algorytmów. Isertio : -zalety: stabila, działą w miejscu, zachowaie aturale, ajszybsza z metod wolych, -wady: jak każda metoda wola złożoość obliczeiowa O( 2 ) Selectio : -zalety: działa w miejscu, iewrażliwa a dae wejśćiowe, -wady: iestabila, bardzo dużo porówań, bardzo słabe zachowaie aturale, złożoość O( 2 ), Bubble : -zalety: działa w miejscu, jest stabila, -wady: ajwoliejsza z metod wolych, słabe zachowaie aturale, złożoość O( 2 ), Heap : -zalety: działa w miejscu, mało wrażliwa a układ daych wejściowych, złożoość w przypadku pesymistyczym O(*log), a optymistyczym O(), stabila, -wady: zachowaie ieaturale, ajwoliejsza z metod szybkich, Quick : -zalety: jeda z ajszybszych metod w typowych warukach, -wady: iejawe wymagaia pamięciowe, wrażliwa a dae wejściowe, jedya z metod szybkich dla których złożoość może urosąć do O( 2 ) Merge : -zalety: stabila, miej porówań od QS, -wady: ie działa w miejscu, Coutig : -zalety: iewrażliwa a rozkład daych wejściowych, zlożoość liiowa, -wady: działa tylko dla liczb aturalych, duże zapotrzebowaia pamięciowe, sila zależość od zakresu daych wejściowych

(może też być zaletą), 4. Metoda CS a QS. QS (zakres,1*) CS (zakres,1*) QS (zakres 1*) CS (zakres 1*) 5,2,1,7 1,3,2,11 2,7,4,39 3,11,1,8,37 4,15,1,1,75 5,18,1,13,71 6,22,2,15,91 7,26,2,15,91 9,33,1,24 1,33 1,37,2,27 1,72

Zakres [1,,1*].4.35.3.25.2.15.1.5 5 1 2 3 4 5 6 7 9 1 QS CS

Zakres [1, 1*] 2 1.8 1.6 1.4 1.2 1.8.6.4.2 5 1 2 3 4 5 6 7 9 1 QS CS