Return to Video

Jak najszybciej uporządkować książki? - Chand John

  • 0:07 - 0:09
    Pracujesz w bibliotece uniwersyteckiej.
  • 0:09 - 0:11
    Jest środek spokojnego popołudnia,
  • 0:11 - 0:18
    kiedy nagle przybywa dostawa 1280 książek.
  • 0:18 - 0:22
    Książki zostały ułożone
    w jednym, długim rzędzie
  • 0:22 - 0:23
    w losowej kolejności,
  • 0:23 - 0:27
    a automatyczny system
    do segregacji jest zepsuty.
  • 0:27 - 0:30
    Co gorsza, jutro zaczynają się zajęcia,
  • 0:30 - 0:32
    co oznacza, że z samego rana
  • 0:32 - 0:36
    książek będą szukać tłumy studentów.
  • 0:36 - 0:39
    Jak posortować je na czas?
  • 0:39 - 0:45
    Jeden ze sposobów to rozpoczęcie
    od pierwszej pary książek z jednego końca.
  • 0:45 - 0:49
    Jeśli dwie pierwsze książki
    są dobrze ułożone, zostaw je bez zmian.
  • 0:49 - 0:51
    W przeciwnym razie zamień je miejscami.
  • 0:51 - 0:53
    Teraz spójrz na drugą i trzecią książkę,
  • 0:53 - 0:55
    powtórz proces
  • 0:55 - 0:58
    i kontynuuj, aż dotrzesz do końca linii.
  • 0:58 - 1:01
    W końcu natkniesz się na książkę,
    która powinna być ostatnia.
  • 1:01 - 1:05
    Zamieniaj ją z każdą kolejną książką,
  • 1:05 - 1:09
    przesuwając wzdłuż rzędu aż na koniec.
  • 1:09 - 1:12
    Następnie zacznij od początku
    i powtórz cały proces,
  • 1:12 - 1:16
    żeby umieścić przedostatnią
    książkę na swoim miejscu.
  • 1:16 - 1:19
    Kontynuuj, aż książki będą posortowane.
  • 1:19 - 1:22
    Ten sposób to sortowanie bąbelkowe.
  • 1:22 - 1:24
    Jest łatwe, ale powolne.
  • 1:24 - 1:29
    W pierwszej rundzie
    byłoby 1279 porównań,
  • 1:29 - 1:34
    w kolejnej 1278 i tak dalej,
  • 1:34 - 1:39
    co w sumie daje 818 560 porównań.
  • 1:39 - 1:44
    Gdyby każde zajęło tylko sekundę,
    proces potrwałby ponad dziewięć dni.
  • 1:44 - 1:49
    Inny sposób rozpoczyna się od ułożenia
    tylko dwóch pierwszych książek.
  • 1:49 - 1:54
    Następnie weź trzecią książkę i porównaj
    do tej stojącej na drugim miejscu.
  • 1:54 - 1:57
    Jeśli powinna znaleźć się
    przed nią, zamień je.
  • 1:57 - 2:00
    Potem porównaj ją do pierwszej książki
  • 2:00 - 2:02
    i jeśli trzeba, zamień miejscami.
  • 2:02 - 2:04
    Trzy pierwsze książki są już posortowane.
  • 2:04 - 2:08
    Dodawaj po jednej nowej książce
    do posortowanej grupy,
  • 2:08 - 2:12
    porównując ją i zamieniając
    z książką stojącą przed nią,
  • 2:12 - 2:16
    aż trafi na właściwe miejsce.
  • 2:16 - 2:18
    Ten sposób to sortowanie przez wstawianie.
  • 2:18 - 2:23
    W odróżnieniu od sortowania bąbelkowego
    nie trzeba porównywać każdej pary książek.
  • 2:23 - 2:27
    Każdą książkę będzie trzeba
    porównać średnio
  • 2:27 - 2:29
    tylko z połową tych, stojących przed nią.
  • 2:29 - 2:32
    W tym przypadku
    całkowita liczba porównań
  • 2:32 - 2:36
    wyniosłaby 409 280,
  • 2:36 - 2:38
    co zajęłoby prawie pięć dni.
  • 2:38 - 2:41
    To wciąż zbyt wiele porównań.
  • 2:41 - 2:43
    Oto lepszy pomysł.
  • 2:43 - 2:45
    Najpierw wybierz przypadkową książkę.
  • 2:45 - 2:49
    Nazwijmy ją przegrodą
    i porównajmy z pozostałymi książkami.
  • 2:49 - 2:52
    Następnie podzielmy rząd,
  • 2:52 - 2:56
    umieszczając wszystkie książki, które mają
    znaleźć się przed przegrodą po jej lewej,
  • 2:56 - 2:59
    a te, które powinny stanąć za nią,
    po jej prawej stronie.
  • 2:59 - 3:00
    Właśnie oszczędziliśmy mnóstwo czasu.
  • 3:00 - 3:04
    Już nie będzie trzeba porównywać
    żadnej z książek po lewej
  • 3:04 - 3:07
    do tych po prawej stronie.
  • 3:07 - 3:10
    Teraz patrząc tylko na książki
    po lewej stronie,
  • 3:10 - 3:13
    można wybrać przypadkową przegrodę
  • 3:13 - 3:17
    i oddzielić książki, mające stać przed,
    od tych, które powinny stanąć za nią.
  • 3:17 - 3:20
    Można dalej tworzyć takie przegrody,
  • 3:20 - 3:22
    aż uzyska się wiele małych grup,
  • 3:22 - 3:28
    z których każdą posortuje się,
    używając innej strategii.
  • 3:28 - 3:33
    Każde rozdzielenie wymaga
    około 1280 porównań.
  • 3:33 - 3:35
    Jeśli segmenty są w miarę równe,
  • 3:35 - 3:41
    podzielenie książek na 128 grup po 10
    będzie wymagało około siedmiu rund
  • 3:41 - 3:44
    albo 8960 sekund.
  • 3:44 - 3:48
    Posortowanie każdej grupy
    zajmie wtedy około 22 sekund.
  • 3:48 - 3:52
    Tak czy inaczej ta metoda
    znana jako sortowanie szybkie
  • 3:52 - 3:54
    może posortować książki
    w mniej niż 3,5 godziny.
  • 3:54 - 3:56
    Ale jest haczyk.
  • 3:56 - 4:00
    Segmenty mogą okazać się niesymetryczne,
    co oznacza brak oszczędności czasu.
  • 4:00 - 4:01
    Na szczęście rzadko się to zdarza.
  • 4:01 - 4:05
    Dlatego sortowanie szybkie
    to jedna z najbardziej wydajnych strategii
  • 4:05 - 4:07
    używanych przez dzisiejszych programistów.
  • 4:07 - 4:11
    Korzysta się z niej do sortowania towarów
    w sklepie internetowym według ceny
  • 4:11 - 4:15
    albo tworzenia listy
    pobliskich stacji benzynowych,
  • 4:15 - 4:16
    ułożonych według odległości.
  • 4:16 - 4:20
    Właśnie udało się skończyć
    szybkie sortowanie przed czasem.
  • 4:20 - 4:23
    Za tobą kolejny
    pracowity dzień w bibliotece.
Title:
Jak najszybciej uporządkować książki? - Chand John
Speaker:
Chand John
Description:

Zobacz całą lekcję: http://ed.ted.com/lessons/what-s-the-fastest-way-to-alphabetize-your-bookshelf-chand-john

Pracujesz w bibliotece uniwersyteckiej. Jest środek spokojnego popołudnia, kiedy nagle przybywa dostawa 1280 książek. Książki są ustawione w rzędzie w losowej kolejności, a automatyczny system do segregacji się zepsuł. Jak można je szybko posortować? Chand John odpowiada na to pytanie, pokazując, jak algorytmy pomagają bibliotekarzom i wyszukiwarkom w szybkim sortowaniu informacji.

Lekcja: Chad John, animacja: Anton Trofimov.

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
04:39

Polish subtitles

Revisions