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