Return to Video

Qual a forma mais rápida de colocar em ordem alfabética sua estante de livros? Chand John

  • 0:07 - 0:09
    Você trabalha na biblioteca da faculdade.
  • 0:09 - 0:11
    Bem no meio de uma tarde tranquila,
  • 0:11 - 0:17
    de repente, chega um carregamento
    com 1.280 livros diferentes.
  • 0:18 - 0:21
    Os livros foram deixados numa linha reta,
  • 0:21 - 0:23
    mas estão todos fora da ordem,
  • 0:23 - 0:26
    e o sistema de seleção
    automática está quebrado.
  • 0:27 - 0:30
    Para piorar as coisas,
    as aulas começam amanhã,
  • 0:30 - 0:32
    o que significa que logo de manhã cedinho
  • 0:32 - 0:36
    vai aparecer um monte de estudantes
    procurando por esses livros.
  • 0:36 - 0:39
    Como você vai conseguir
    organizá-los a tempo?
  • 0:39 - 0:44
    Um jeito seria começar numa extremidade
    da linha, com os dois primeiros livros.
  • 0:44 - 0:48
    Se os dois primeiros livros estiverem
    na ordem, então deixe-os onde estão.
  • 0:48 - 0:51
    Caso contrário, troque-os entre si.
  • 0:51 - 0:53
    Depois, olhe o segundo e o terceiro livro,
  • 0:53 - 0:55
    repita o processo,
  • 0:55 - 0:57
    e continue até chegar ao final da linha.
  • 0:58 - 1:01
    A uma certa altura, você vai chegar
    ao livro que deveria ser o último.
  • 1:01 - 1:04
    Continue trocando-o de lugar
    com os livros subsequentes,
  • 1:05 - 1:08
    passando-o de livro em livro até chegar
    ao fim da linha, onde é o lugar dele.
  • 1:09 - 1:12
    A seguir, comece do início
    e repita todo o processo
  • 1:12 - 1:16
    para colocar do segundo
    ao penúltimo livro nos lugares certos,
  • 1:16 - 1:18
    e continue até que todos os livros
    estejam organizados.
  • 1:18 - 1:21
    Essa abordagem se chama "método da bolha".
  • 1:22 - 1:24
    É simples, porém lento.
  • 1:24 - 1:29
    Você teria de fazer 1.279 comparações
    na primeira rodada,
  • 1:29 - 1:33
    depois, 1.278, e assim por diante,
  • 1:33 - 1:38
    chegando a 818.560 comparações.
  • 1:39 - 1:44
    Se cada uma levar apenas um segundo,
    o processo todo levará mais de nove dias.
  • 1:44 - 1:48
    Uma segunda estratégia seria começar
    ordenando apenas os dois primeiros livros.
  • 1:49 - 1:53
    Depois, pegar o terceiro e comparar
    com o livro na segunda posição.
  • 1:53 - 1:57
    Se ele estiver na frente do segundo
    livro, então troque os dois,
  • 1:57 - 2:00
    depois compare-o com o livro
    na primeira posição,
  • 2:00 - 2:02
    e troque de novo, se necessário.
  • 2:02 - 2:04
    Agora que ordenou
    os primeiros três livros,
  • 2:04 - 2:08
    continue a adicionar um livro
    de cada vez ao subconjunto ordenado,
  • 2:08 - 2:12
    comparando e trocando o novo livro
    com o que estiver antes dele,
  • 2:12 - 2:16
    até estar corretamente colocado
    entre os livros ordenados até então.
  • 2:16 - 2:18
    Isso se chama "ordenação por inserção".
  • 2:18 - 2:23
    Diferente do método bolha, ele em geral
    não exige que se compare cada par.
  • 2:23 - 2:27
    Em média, espera-se ser necessário
    comparar cada livro somente
  • 2:27 - 2:29
    com a metade dos livros
    que vieram antes dele.
  • 2:29 - 2:32
    Nesse caso, o número total de comparações
  • 2:32 - 2:37
    seria de 409.280,
    o que levaria quase 5 dias.
  • 2:38 - 2:41
    Você ainda teria comparações
    demais a fazer.
  • 2:41 - 2:43
    Eis aqui uma ideia melhor.
  • 2:43 - 2:45
    Primeiro, pegue um livro qualquer.
  • 2:45 - 2:49
    Chame-o de "a divisória"
    e compare-o com todos os outros livros.
  • 2:49 - 2:52
    Depois, divida a linha,
  • 2:52 - 2:55
    colocando todos os livros que vêm
    antes da divisória à esquerda desta,
  • 2:56 - 2:58
    e todos aqueles que vêm
    depois dela, à sua direita.
  • 2:58 - 3:00
    Você acabou de economizar um tempão
  • 3:00 - 3:04
    ao não ter de comparar
    nenhum dos livros da esquerda
  • 3:04 - 3:07
    com nenhum dos livros da direita.
  • 3:07 - 3:10
    Bem, olhando agora apenas
    os livros da esquerda,
  • 3:10 - 3:13
    você pode, de novo, eleger
    um "livro divisória" qualquer
  • 3:13 - 3:17
    e separar os livros que vêm antes
    dele daqueles que vêm depois.
  • 3:17 - 3:20
    Continue a criar subdivisões assim
  • 3:20 - 3:22
    até ter um monte de subconjuntos,
  • 3:22 - 3:28
    que você ordenará rapidamente usando
    outra estratégia: ordenação por inserção.
  • 3:28 - 3:33
    Cada rodada de divisão dessa
    requer cerca de 1.280 comparações.
  • 3:33 - 3:35
    Se suas divisões forem bem equilibradas,
  • 3:35 - 3:41
    dividir os livros em 128 subconjuntos
    de 10 levaria cerca de 7 rodadas,
  • 3:41 - 3:44
    ou 8.960 segundos.
  • 3:44 - 3:48
    Ordenar esses subconjuntos adicionaria
    cerca de 22 segundos para cada um.
  • 3:49 - 3:52
    No final das contas, esse método,
    conhecido como Quicksort,
  • 3:52 - 3:55
    poderia ordenar livros
    em menos de três a quatro horas.
  • 3:55 - 3:56
    Mas tem um porém.
  • 3:56 - 4:00
    Se as divisões ficarem desproporcionais,
    não haverá nenhuma economia de tempo.
  • 4:00 - 4:01
    Felizmente, isso raramente acontece.
  • 4:01 - 4:05
    E essa é a razão por que o Quicksort
    é uma das estratégias mais eficientes
  • 4:05 - 4:07
    usadas por programadores hoje em dia.
  • 4:07 - 4:11
    Eles a usam para coisas como ordenar
    itens por preço numa loja on-line,
  • 4:11 - 4:15
    ou criar uma lista dos postos de gasolina
    perto de um determinado lugar,
  • 4:15 - 4:16
    de acordo com a distância.
  • 4:16 - 4:20
    No seu caso, você terminou
    o "quick sorting" com tempo de sobra.
  • 4:20 - 4:23
    E lá se vai mais um dia
    eletrizante na biblioteca.
Title:
Qual a forma mais rápida de colocar em ordem alfabética sua estante de livros? Chand John
Speaker:
Chand John
Description:

Veja a lição completa: http://ed.ted.com/lessons/what-s-the-fastest-way-to-alphabetize-your-bookshelf-chand-john

Você trabalha na biblioteca da faculdade. No meio de uma tarde tranquila, chega, de repente, um carregamento com 1.280 livros diferentes. Os livros foram descarregados numa linha reta, mas estão todos fora de ordem, e o sistema de seleção automática está quebrado. Como fazer para organizar os livros rapidamente? Chand John nos mostra como, explicando como os algoritmos ajudam os bibliotecários e os mecanismos de busca a organizar rapidamente a informação.

Lição de Chand John; animação de Anton Trofimov.

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

Portuguese, Brazilian subtitles

Revisions