Sortowanie. Tomasz Żak zak. styczeń Instytut Matematyki i Informatyki, Politechnika Wrocławska

Podobne dokumenty
Materiały dla finalistów

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Warsztat: Randomizacja w programie Excel

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Algorytmy i struktury danych

Algorytmy przeszukiwania

Jeszcze o algorytmach

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

Temat 7. Najlżejsze i najcięższe algorytmy sortowania

Luty 2001 Algorytmy (4) 2000/2001

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Bukiety matematyczne dla gimnazjum

Prezydent wszystkich kombinacji czyli rzecz o filtrowaniu systemów Lotto

Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Sortowanie. LABORKA Piotr Ciskowski

Metody numeryczne w przykładach

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Indukcja matematyczna

Programowanie w VB Proste algorytmy sortowania

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009

Programowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp

L.O. św. Marii Magdaleny w Poznaniu, O POŻYTKACH PŁYN ACYCH Z RZUCANIA MONETA. Tomasz Łuczak

Wokół Problemu Steinhausa z teorii liczb

KURS PRAWDOPODOBIEŃSTWO

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Maciej Piotr Jankowski

Prawdopodobieństwo geometryczne

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Zastosowanie Excela w matematyce

Luty 2001 Algorytmy (7) 2000/2001

Wstęp do programowania

KWIECIEŃ klasa 2 MATEMATYKA

Zabawy matematyczne 2

Podstawy Informatyki. Sprawność algorytmów

Scenariusz zajęć do programu kształcenia Myślę- działam- idę w świat

Algorytmy i Struktury Danych, 2. ćwiczenia

Prawdopodobieństwo. Prawdopodobieństwo. Jacek Kłopotowski. Katedra Matematyki i Ekonomii Matematycznej SGH. 16 października 2018

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Statystyka matematyczna

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Temat 8. Zrobić to szybciej Sieci sortujące

Rekurencja. Przykład. Rozważmy ciąg

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

OLIMPIADA MATEMATYCZNA

Wybrane wyniki w zakresie umiejętności matematycznych

Zmienne losowe i ich rozkłady

Rachunek prawdopodobieństwa (Elektronika, studia niestacjonarne) Wykład 1

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Scenariusz zajęć nr 8

Matematyka Dyskretna Zestaw 2

Instrukcje dla zawodników

3. Macierze i Układy Równań Liniowych

Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

Statystyka matematyczna

MODELOWANIE RZECZYWISTOŚCI

FINAŁ 17 IGRZYSK MATEMATYCZNYCH SZKÓŁ NIEPUBLICZNYCH. Zadania dla klasy 6

Rachunek prawdopodobieństwa Rozdział 3. Prawdopodobieństwo warunkowe i niezależność zdarzeń.

KURS PRAWDOPODOBIEŃSTWO

Złożoność informacyjna Kołmogorowa. Paweł Parys

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja

PRAWDOPODOBIEŃSTWO I KOMBINATORYKA

Elementy logiki matematycznej

OD TABLICZKI MNOŻENIA DO LICZB PIERWSZYCH MATEMATYKA ZE SCRATCHEM

Typy zadań kombinatorycznych:

Rachunek prawdopodobieństwa

Przykładowe zadania na kółko matematyczne dla uczniów gimnazjum

Indukcja matematyczna. Zasada minimum. Zastosowania.

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

WYMAGANIA NA POSZCZEGÓLNE OCENY Z MATEMATYKI W KL. 4

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

Microsoft Small Basic

Moneta 1 Moneta 2 Kostka O, R O,R 1,2,3,4,5, Moneta 1 Moneta 2 Kostka O O ( )

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Statystyka matematyczna

EGZAMIN MATURALNY Z INFORMATYKI

Scenariusz lekcji matematyki: Zastosowanie równań i układów równań do rozwiązywania zadań tekstowych. Scenariusz lekcji

Priorytetyzacja przypadków testowych za pomocą macierzy

Matematyka podstawowa X. Rachunek prawdopodobieństwa

Algorytmy i struktury danych. Wykład 4

Zadania do samodzielnego rozwiązania

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Zestaw zadań dotyczących liczb całkowitych

Uwaga: Funkcja zamień(a[j],a[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].

1. A 2. A 3. B 4. B 5. C 6. B 7. B 8. D 9. A 10. D 11. C 12. D 13. B 14. D 15. C 16. C 17. C 18. B 19. D 20. C 21. C 22. D 23. D 24. A 25.

lekcja 8a Gry komputerowe MasterMind

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

MIĘDZYSZKOLNA LIGA PRZEDMIOTOWA MATEMATYKA klasa IV PŁOCK 2014

W. Guzicki Zadanie 41 z Informatora Maturalnego poziom podstawowy 1

Dydaktyka matematyki (II etap edukacyjny) II rok matematyki Semestr letni 2018/2019 Ćwiczenia nr 2

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Analiza algorytmów zadania podstawowe

Transkrypt:

Tomasz Żak www.im.pwr.wroc.pl/ zak Instytut Matematyki i Informatyki, Politechnika Wrocławska styczeń 2014

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas:

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas: albo już są we właściwej kolejności (żeby to sprawdzić musimy odczytać nazwisko na drugiej pracy i porównać z nazwiskiem z pierwszej),

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas: albo już są we właściwej kolejności (żeby to sprawdzić musimy odczytać nazwisko na drugiej pracy i porównać z nazwiskiem z pierwszej), albo przestawić kolejność klasówek (jedna operacja).

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas: albo już są we właściwej kolejności (żeby to sprawdzić musimy odczytać nazwisko na drugiej pracy i porównać z nazwiskiem z pierwszej), albo przestawić kolejność klasówek (jedna operacja). Interesuje nas tylko liczba porównań, odczytywanie nazwisk zajmuje mniej czasu (wystarczy rzut oka).

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas: albo już są we właściwej kolejności (żeby to sprawdzić musimy odczytać nazwisko na drugiej pracy i porównać z nazwiskiem z pierwszej), albo przestawić kolejność klasówek (jedna operacja). Interesuje nas tylko liczba porównań, odczytywanie nazwisk zajmuje mniej czasu (wystarczy rzut oka). Ile operacji trzeba wykonać w przypadku TRZECH klasówek (w najgorszym przypadku)?

Przypuśćmy, że po sprawdzeniu 30 klasówek układamy je w kolejności alfabetycznej autorów. Jak to zrobić najszybciej? Zastosujmy metodę matematyków uproszczenie zadania i załóżmy, że są TYLKO DWIE klasówki. Wówczas: albo już są we właściwej kolejności (żeby to sprawdzić musimy odczytać nazwisko na drugiej pracy i porównać z nazwiskiem z pierwszej), albo przestawić kolejność klasówek (jedna operacja). Interesuje nas tylko liczba porównań, odczytywanie nazwisk zajmuje mniej czasu (wystarczy rzut oka). Ile operacji trzeba wykonać w przypadku TRZECH klasówek (w najgorszym przypadku)? Bierzmy drugą i porównujemy z pierwszą (być może je przestawiamy) i mamy je już ustawione.

Bierzmy trzecią i porównujemy z pierwszą, jeśli powinna być PRZED pierwszą to koniec, jeśli nie, to porównujemy z drugą i ustawiamy na drugiej lub trzeciej pozycji.

Bierzmy trzecią i porównujemy z pierwszą, jeśli powinna być PRZED pierwszą to koniec, jeśli nie, to porównujemy z drugą i ustawiamy na drugiej lub trzeciej pozycji. Dobry sposób, ale już przy 30 kartkówkach i jednej operacji na sekundę mógłby zająć...

Bierzmy trzecią i porównujemy z pierwszą, jeśli powinna być PRZED pierwszą to koniec, jeśli nie, to porównujemy z drugą i ustawiamy na drugiej lub trzeciej pozycji. Dobry sposób, ale już przy 30 kartkówkach i jednej operacji na sekundę mógłby zająć...... nieco ponad 7 minut!

Bierzmy trzecią i porównujemy z pierwszą, jeśli powinna być PRZED pierwszą to koniec, jeśli nie, to porównujemy z drugą i ustawiamy na drugiej lub trzeciej pozycji. Dobry sposób, ale już przy 30 kartkówkach i jednej operacji na sekundę mógłby zająć...... nieco ponad 7 minut! A ja czasem muszę sortować 80 prac! To trwałoby w najgorszym przypadku ponad 50 minut (gdyby każda operacja zabierała jedną sekundę zwykle zabiera dużo więcej).

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)?

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji.

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji. Piątą klasówkę porównujemy z czterema już posortowanymi, co daje 1 + 2 + 3 + 4 = 10 operacji.

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji. Piątą klasówkę porównujemy z czterema już posortowanymi, co daje 1 + 2 + 3 + 4 = 10 operacji. Licząc dalej, otrzymujemy dla 30 kartkówek sumę 1 + 2 + 3 + 4 +... + 29 =?

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji. Piątą klasówkę porównujemy z czterema już posortowanymi, co daje 1 + 2 + 3 + 4 = 10 operacji. Licząc dalej, otrzymujemy dla 30 kartkówek sumę 1 + 2 + 3 + 4 +... + 29 =? Podobno kilkuletni Gauss obliczył na lekcji bardzo szybko sumę 1 + 2 + 3 +... + 100 = 5050.

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji. Piątą klasówkę porównujemy z czterema już posortowanymi, co daje 1 + 2 + 3 + 4 = 10 operacji. Licząc dalej, otrzymujemy dla 30 kartkówek sumę 1 + 2 + 3 + 4 +... + 29 =? Podobno kilkuletni Gauss obliczył na lekcji bardzo szybko sumę 1 + 2 + 3 +... + 100 = 5050. 1 + 2 + 3 + 4 +... + 29 = 29 30 2 = 29 15 = 290 + 145 = 435.

Ponieważ ten wynik zwykle spotyka sie z niedowierzaniem, udowodnijmy go! Ile operacji trzeba wykonać w przypadku CZTERECH klasówek (w najgorszym przypadku)? Do posortowania trzech potrzebowaliśmy 1+2=3 operacji, więc teraz musimy porównać czwartą klasówkę z PIERWSZĄ, z DRUGĄ i z TRZECIĄ, co daje łącznie 1 + 2 + 3 = 6 operacji. Piątą klasówkę porównujemy z czterema już posortowanymi, co daje 1 + 2 + 3 + 4 = 10 operacji. Licząc dalej, otrzymujemy dla 30 kartkówek sumę 1 + 2 + 3 + 4 +... + 29 =? Podobno kilkuletni Gauss obliczył na lekcji bardzo szybko sumę 1 + 2 + 3 +... + 100 = 5050. 1 + 2 + 3 + 4 +... + 29 = 29 30 2 = 29 15 = 290 + 145 = 435. 435 sekund to 435 60 = 29 4 = 7 1 4 minuty

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu...

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu... Obliczmy: 1 + 2 +... + 1 000 000 106 10 6 2 = 0, 5 10 12.

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu... Obliczmy: 1 + 2 +... + 1 000 000 106 10 6 2 = 0, 5 10 12. Przy 10 9 operacji na sekundę daje to około 10 3 sekund, czyli ponad 16 minut.

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu... Obliczmy: 1 + 2 +... + 1 000 000 106 10 6 2 = 0, 5 10 12. Przy 10 9 operacji na sekundę daje to około 10 3 sekund, czyli ponad 16 minut. Gdyby danych było 10 milionów, takie sortowanie zajęłoby 10 14 /10 9 = 10 5 sekund czyli niemal 28 godzin.

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu... Obliczmy: 1 + 2 +... + 1 000 000 106 10 6 2 = 0, 5 10 12. Przy 10 9 operacji na sekundę daje to około 10 3 sekund, czyli ponad 16 minut. Gdyby danych było 10 milionów, takie sortowanie zajęłoby 10 14 /10 9 = 10 5 sekund czyli niemal 28 godzin. UWAGA: detektory LHC produkują około 100 TB danych na sekundę! Tera = 10 12...

Wyobraźmy sobie komputer, który musi posortować milion liczb (jakichś danych). Niech to będzie szybki komputer, wykonujący miliard takich porównań (i przestawień) na sekundę. Opisana powyżej metoda, wymagająca 1 + 2 +... + 1 000 000 operacji zajęłaby mu... Obliczmy: 1 + 2 +... + 1 000 000 106 10 6 2 = 0, 5 10 12. Przy 10 9 operacji na sekundę daje to około 10 3 sekund, czyli ponad 16 minut. Gdyby danych było 10 milionów, takie sortowanie zajęłoby 10 14 /10 9 = 10 5 sekund czyli niemal 28 godzin. UWAGA: detektory LHC produkują około 100 TB danych na sekundę! Tera = 10 12... 10 12 liczb naszym sposobem trwałoby około... milion lat. Czyli sposób jest zły! A można to zrobić w 11 dni...

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...... w gruncie rzeczy porównujemy każdą kartkę z każdą!

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...... w gruncie rzeczy porównujemy każdą kartkę z każdą! Czy można porównywać za sobą TYLKO NIEKTÓRE kartki?

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...... w gruncie rzeczy porównujemy każdą kartkę z każdą! Czy można porównywać za sobą TYLKO NIEKTÓRE kartki? Ważna jest liczba porównań im mniej, tym lepiej.

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...... w gruncie rzeczy porównujemy każdą kartkę z każdą! Czy można porównywać za sobą TYLKO NIEKTÓRE kartki? Ważna jest liczba porównań im mniej, tym lepiej. Rozwiązanie:

Mądre sortowanie klasówek Kluczowa obserwacja: porównań jest tak wiele, bo...... w gruncie rzeczy porównujemy każdą kartkę z każdą! Czy można porównywać za sobą TYLKO NIEKTÓRE kartki? Ważna jest liczba porównań im mniej, tym lepiej. Rozwiązanie: Najpierw dzielimy kartki alfabetycznie na 4 grupy (albo na więcej), potem sortujemy każdą grupę oddzielnie.

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na:

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000 lub 100 grup: 0-9, 10-19,..., 990-1000

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000 lub 100 grup: 0-9, 10-19,..., 990-1000 Który z tych podziałów daje szybsze sortowanie?

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000 lub 100 grup: 0-9, 10-19,..., 990-1000 Który z tych podziałów daje szybsze sortowanie? Uwaga: dzieląc najmądrzej, jak to możliwe (tzn. JAK???) możemy osiągnąć liczbę porównań rzędu stała n log 2 n.

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000 lub 100 grup: 0-9, 10-19,..., 990-1000 Który z tych podziałów daje szybsze sortowanie? Uwaga: dzieląc najmądrzej, jak to możliwe (tzn. JAK???) możemy osiągnąć liczbę porównań rzędu stała n log 2 n. Np. dla n = 1 000 000 nasze poprzednie sortowanie daje około 5 10 11 porównań, a mądre 1 000 000 log 2 1 000 000 1 000 000 log 2 (2 20 ) 2 10 7, czyli jest 10 000 razy szybsze!

Mądre sortowanie zbioru liczb z przedziału od 0 do 1000 Nie ma tu naturalnego podziału na grupy alfabetyczne, musimy sami utworzyć grupy. Jeśli wiemy, że danych do sortowania jest dużo, to możemy podzielić je np. na: 10 grup: 0-99, 100-199,..., 900-1000 lub 100 grup: 0-9, 10-19,..., 990-1000 Który z tych podziałów daje szybsze sortowanie? Uwaga: dzieląc najmądrzej, jak to możliwe (tzn. JAK???) możemy osiągnąć liczbę porównań rzędu stała n log 2 n. Np. dla n = 1 000 000 nasze poprzednie sortowanie daje około 5 10 11 porównań, a mądre 1 000 000 log 2 1 000 000 1 000 000 log 2 (2 20 ) 2 10 7, czyli jest 10 000 razy szybsze! A co zrobić, gdy nie znamy zakresu, z którego pochodzą liczby??? Jak wtedy dzielić na grupy?

Algorytmy losowe Gdy trzeba uporządkować ogromny zbiór danych liczbowych (np. 10 000 000) i nie podano zakresu, z jakiego pochodzą te liczby, stosuje się algorytm losowy, polegający na tym, że losuje się jedną z tych liczb i porównuje się pozostałe z wylosowaną liczbą. Takie postępowanie dzieli zbiór liczb na dwie części, a rachunek prawdopodobieństwa wskazuje, że z dużym prawdopodobieństwem oba zbiory mają mniej więcej porównywalną liczbę elementów. Ale to już całkiem inna historia.

Small world Eksperyment z listami (Milgram experiment).

Small world Eksperyment z listami (Milgram experiment). Eksperyment ze stronami z internecie.

Small world Eksperyment z listami (Milgram experiment). Eksperyment ze stronami z internecie. Ile trzeba kroków, aby przejść od jednej strony do dowolnej innej za pomocą linków?

Small world Eksperyment z listami (Milgram experiment). Eksperyment ze stronami z internecie. Ile trzeba kroków, aby przejść od jednej strony do dowolnej innej za pomocą linków? Średnio sześć! Niewiarygodne?

Small world Eksperyment z listami (Milgram experiment). Eksperyment ze stronami z internecie. Ile trzeba kroków, aby przejść od jednej strony do dowolnej innej za pomocą linków? Średnio sześć! Niewiarygodne? Jakie może być intuicyjne wyjaśnienie tego zjawiska? Uwaga: 40 6 = (4 10) 6 = 2 12 10 6 =???

Ty też możesz pracować naukowo! http://www.deltami.edu.pl/temat/astronomia/2012/08/26/amatorzy w nauce/ http://zoo1.galaxyzoo.org/pl/

Co warto czytać? Książki popularyzujące matematykę, informatykę, fizykę, astronomię itd. Delta miesięcznik popularno-naukowy dla... link: deltami czyli δµ. Autorzy książek: Martin Gardner wszystko, co napisał Hugo Steinhaus Kalejdoskop matematyczny, Sto zadań, Orzeł czy reszka Ian Stewart Jak pokroić tort i inne zagadki matematyczne Np: Zagadka dla piratów. David Wells Cudowne i interesujące łamigłówki matematyczne, na przykład Tajemniczy kwadrat ze strony 158.

Tajemniczy kwadrat (w dodatku magiczny!) W 8 kwadracików wpisano symbole według pewnego wzorca. Jaki symbol należy umieścić w prawym dolnym rogu?

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd. Wszyscy piraci są uporządkowania w zależności od stopnia okrucieństwa, tzn. nie ma dwóch jednakowo okrutnych.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd. Wszyscy piraci są uporządkowania w zależności od stopnia okrucieństwa, tzn. nie ma dwóch jednakowo okrutnych. Wszyscy kierują sie logiką i wiedzą, że pozostali też działają logicznie.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd. Wszyscy piraci są uporządkowania w zależności od stopnia okrucieństwa, tzn. nie ma dwóch jednakowo okrutnych. Wszyscy kierują sie logiką i wiedzą, że pozostali też działają logicznie. Wszyscy lubią wyrzucać innych za burtę, ale wolą choćby najmniejszą ilość złota od wyrzucania innych za burtę.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd. Wszyscy piraci są uporządkowania w zależności od stopnia okrucieństwa, tzn. nie ma dwóch jednakowo okrutnych. Wszyscy kierują sie logiką i wiedzą, że pozostali też działają logicznie. Wszyscy lubią wyrzucać innych za burtę, ale wolą choćby najmniejszą ilość złota od wyrzucania innych za burtę. Nikt nie chce być wyrzucony.

10 piratów dzieli 100 sztuk złota Stosują nastepującą metodę demokratyczną: Najokrutniejszy proponuje sposób podziału i wszyscy głosują. Jeśli co najmnej połowa (wliczając wnioskodawcę) opowie się za, następuje podział. Jeśli nie, to wnioskodawca ląduje za burtą, a drugi co do okrucieństwa pirat proponuje swój sposób podziału i znów następuje głosowanie i albo sposób jest przyjęty, albo wnioskodawca za burtą itd. Wszyscy piraci są uporządkowania w zależności od stopnia okrucieństwa, tzn. nie ma dwóch jednakowo okrutnych. Wszyscy kierują sie logiką i wiedzą, że pozostali też działają logicznie. Wszyscy lubią wyrzucać innych za burtę, ale wolą choćby najmniejszą ilość złota od wyrzucania innych za burtę. Nikt nie chce być wyrzucony. Jaki podział przejdzie?