Return to Video

Qual è il modo più veloce per catalogare la tua libreria? - Chand John

  • 0:07 - 0:09
    Tu lavori nella biblioteca universitaria.
  • 0:09 - 0:11
    Sei nel bel mezzo di un placido pomeriggio
  • 0:11 - 0:18
    quando all'improvviso arriva un carico
    di 1.280 libri diversi.
  • 0:18 - 0:22
    I libri sono stati consegnati
    in una singola, lunga fila,
  • 0:22 - 0:23
    ma sono tutti in disordine,
  • 0:23 - 0:27
    e il sistema di classificazione
    automatica è rotto.
  • 0:27 - 0:30
    Come se non bastasse,
    le lezioni ricominciano domani,
  • 0:30 - 0:32
    il che vuol dire che di prima mattina
  • 0:32 - 0:37
    gli studenti si presenteranno in massa
    alla ricerca dei loro libri.
  • 0:37 - 0:39
    Come puoi catalogarli tutti in tempo?
  • 0:39 - 0:45
    Un modo sarebbe cominciare da un capo
    della fila con il primo paio di libri.
  • 0:45 - 0:49
    Se i primi due sono in ordine,
    lasciali come sono.
  • 0:49 - 0:51
    Altrimenti, scambiali.
  • 0:51 - 0:53
    Poi guarda il secondo e il terzo libro,
  • 0:53 - 0:55
    ripeti il procedimento
  • 0:55 - 0:58
    e continua fino alla fine della linea.
  • 0:58 - 1:01
    Ad un certo punto arriverai
    a quello che dovrebbe essere l'ultimo,
  • 1:01 - 1:05
    continua a scambiarlo
    con i libri seguenti,
  • 1:05 - 1:09
    facendolo scorrere finché non raggiunge
    la fine, il suo posto.
  • 1:09 - 1:12
    Poi, comincia dall'inizio
    e ripeti il procedimento
  • 1:12 - 1:16
    per mettere a posto
    il penultimo libro,
  • 1:16 - 1:19
    e continua finché tutti i libri
    non sono catalogati.
  • 1:19 - 1:22
    Questo metodo si chiama Bubble Sort.
  • 1:22 - 1:24
    È semplice ma lento.
  • 1:24 - 1:29
    Dovresti fare 1.279 confronti
    nel primo giro,
  • 1:29 - 1:34
    poi 1,278 e così via,
  • 1:34 - 1:39
    per un totale di 818.560 confronti.
  • 1:39 - 1:44
    Se ogni confronto durasse un secondo,
    l'intero processo durerebbe nove giorni.
  • 1:44 - 1:49
    Una seconda strategia sarebbe di iniziare
    a catalogare solo i primi due libri.
  • 1:49 - 1:54
    Poi prendi il terzo libro e lo confronti
    con il libro al secondo posto.
  • 1:54 - 1:57
    Se deve stare prima del secondo,
    scambiali,
  • 1:57 - 2:00
    poi confrontalo
    con il libro al primo posto
  • 2:00 - 2:02
    e scambiali di nuovo se necessario.
  • 2:02 - 2:04
    Ora hai catalogato i primi tre libri.
  • 2:04 - 2:08
    Prosegui aggiungendo un libro alla volta
    alla pila già catalogata,
  • 2:08 - 2:12
    confrontando e scambiando il nuovo libro
    con quello che lo precede
  • 2:12 - 2:16
    finché non si trova al posto giusto
    tra i libri finora catalogati.
  • 2:16 - 2:18
    Questo si chiama Insertion Sort.
  • 2:18 - 2:23
    A differenza del Bubble Sort, non bisogna
    confrontare ciascun paio di libri.
  • 2:23 - 2:27
    In media, dovremmo solo
    confrontare ogni libro
  • 2:27 - 2:29
    con la metà dei libri che lo precedono.
  • 2:29 - 2:32
    In questo caso,
    il numero totale di confronti
  • 2:32 - 2:36
    sarebbe 409.280,
  • 2:36 - 2:38
    e richiederebbe quasi cinque giorni.
  • 2:38 - 2:41
    Stiamo facendo ancora troppi confronti.
  • 2:41 - 2:43
    Ecco un'idea migliore.
  • 2:43 - 2:45
    Prendi un libro a caso.
  • 2:45 - 2:50
    Questo è il divisorio
    e lo confronterai con ogni altro libro.
  • 2:50 - 2:52
    Poi, dividi la fila
  • 2:52 - 2:56
    mettendo tutti i libri
    prima del divisorio a sinistra
  • 2:56 - 2:59
    e quello dopo a destra.
  • 2:59 - 3:00
    Hai appena risparmiato
    un sacco di tempo
  • 3:00 - 3:04
    non confrontando
    nessun libro a sinistra
  • 3:04 - 3:07
    con quelli della destra.
  • 3:07 - 3:10
    Guardando i libri sulla sinistra,
  • 3:10 - 3:13
    scegli un altro libro divisorio a caso
  • 3:13 - 3:17
    e separa i libri che vengono prima
    da quelli che vengono dopo.
  • 3:17 - 3:20
    Continua a creare sotto-divisori così
  • 3:20 - 3:22
    finché non hai tante mini pile di libri,
  • 3:22 - 3:28
    ognuna delle quali puoi catalogare
    con un'altra strategia, come l'Insertion.
  • 3:28 - 3:33
    Ogni ciclo di ripartizioni richiede
    circa 1.280 confronti.
  • 3:33 - 3:35
    Se i divisori sono ben equilibrati,
  • 3:35 - 3:41
    dividere i libri in 128 file di dieci
    richiederebbe sette cicli,
  • 3:41 - 3:44
    o 8.960 secondi.
  • 3:44 - 3:49
    Catalogare queste sotto-file
    richiederebbe 22 secondi circa.
  • 3:49 - 3:52
    In tutto, questo metodo,
    conosciuto come QuickSort,
  • 3:52 - 3:55
    potrebbe catalogare i libri
    in meno di tre ore e mezza.
  • 3:55 - 3:56
    Ma c'è un inghippo.
  • 3:56 - 4:00
    I divisori possono essere sbilanciati
    e non ti farebbero risparmiare tempo.
  • 4:00 - 4:01
    Per fortuna, accade raramente.
  • 4:01 - 4:05
    Ecco perché QuickSort
    è una della strategie più efficaci
  • 4:05 - 4:07
    usata oggi dai programmatori di computer.
  • 4:07 - 4:11
    È usata ad esempio nei negozi online
    per catalogare oggetti in base al prezzo,
  • 4:11 - 4:15
    o per elencare i benzinai
    vicini ad un dato luogo
  • 4:15 - 4:16
    in base alla distanza.
  • 4:16 - 4:20
    Nel tuo caso, hai finito
    la catalogazione in men che non si dica.
  • 4:20 - 4:23
    Un'altra giornata
    da brividi in biblioteca.
Title:
Qual è il modo più veloce per catalogare la tua libreria? - Chand John
Speaker:
Chand John
Description:

Per vedere la lezione completa: http://ed.ted.com/lessons/what-s-the-fastest-way-to-alphabetize-your-bookshelf-chand-john

Tu lavori nella biblioteca universitaria. Sei nel bel mezzo di un placido pomeriggio quando all'improvviso arriva un carico di 1.280 libri diversi. I libri sono stati consegnati in una singola, lunga fila, ma sono tutti in disordine e il sistema di classificazione automatica è rotto. Come puoi catalogare velocemente i libri? Ce lo spiega Chand John, mostrandoci come gli algoritmi possano aiutare i bibliotecari e i motori di ricerca ad ordinare in breve tempo le informazioni.

Lezione di Chand John, animazioni di Anton Trofimov.

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

Italian subtitles

Revisions