Return to Video

Кой е най-бързият начин да подредите библиотеката си по азбучен ред? - Чанд Джон

  • 0:07 - 0:09
    Работите в колежанска библиотека.
  • 0:09 - 0:11
    В средата на тих, спокоен следобед сте,
  • 0:11 - 0:18
    когато пристига пратка от 1 280 книги.
  • 0:18 - 0:22
    Книгите са сортирани в редица,
  • 0:22 - 0:23
    но не са подредени,
  • 0:23 - 0:27
    а автоматичната система
    за подредба не работи.
  • 0:27 - 0:30
    За да станат нещата още по-лоши,
    занятията започват утре,
  • 0:30 - 0:32
    което означава, че
    първото нещо сутринта ще е
  • 0:32 - 0:37
    студентите да дойдат на тълпи,
    за да търсят тези книги.
  • 0:37 - 0:39
    Как можеш да ги подредиш навреме?
  • 0:39 - 0:45
    Един вариант е да започнете от единия край
    на линията с първата двойка книги.
  • 0:45 - 0:49
    Ако първите две книги са по азбучен ред,
    ги оставете както са.
  • 0:49 - 0:51
    Ако ли не, ги разместете.
  • 0:51 - 0:53
    След това, прегледайте
    втората и третата двойка,
  • 0:53 - 0:55
    повторете процеса
  • 0:55 - 0:58
    и продължавайте, докато стигнете
    до края на редицата.
  • 0:58 - 1:01
    В някакъв момент ще се натъкнете
    на книга, която трябва да е последна
  • 1:01 - 1:05
    и ще продължавате да я разменяте с всяка
    следваща книга,
  • 1:05 - 1:09
    предвижвайки я към края на линията, докато
    достигнете мястото ѝ.
  • 1:09 - 1:12
    След това, започнете отначало
    и повторете процеса
  • 1:12 - 1:16
    като подребите втората и последната
    книга на местата им,
  • 1:16 - 1:19
    и продължавайте, докато подредите
    всички книги.
  • 1:19 - 1:22
    Този метод се нарича
    "Сортиране на балончета".
  • 1:22 - 1:24
    Лесен е, но бавен.
  • 1:24 - 1:29
    Първоначално ще направите 1 279 сравнения,
  • 1:29 - 1:34
    след това 1 278 и така нататък,
  • 1:34 - 1:39
    стигайки до 818 560 сравнения.
  • 1:39 - 1:44
    Ако всяко от тях отнема само 1 секунда,
    процесът ще отнеме над 9 дни.
  • 1:44 - 1:49
    Втора стратегия би била да се започне
    чрез сортиране само на първите две книги.
  • 1:49 - 1:54
    След това вземете третата книга и
    я сравнете с книгата на второто място.
  • 1:54 - 1:57
    Ако мястото ѝ е преди втората книга,
    разменете ги,
  • 1:57 - 2:00
    след това я сравнете
    с книгата на първо място,
  • 2:00 - 2:02
    и ги разменете отново, ако се налага.
  • 2:02 - 2:04
    Сега подредихте първите три книги.
  • 2:04 - 2:08
    Продължете да добавяте по една книга
    към вече подредените книги,
  • 2:08 - 2:12
    сравнявайки и размяйки новата книга
    с тази преди нея,
  • 2:12 - 2:16
    докато намерите правилното ѝ място
    сред вече подредените книги.
  • 2:16 - 2:18
    Това се нарича "Сортиране чрез вмъкване".
  • 2:18 - 2:23
    За разлика от "Сортиране на балончета",
    не е нужно да сравнявате всеки чифт книги.
  • 2:23 - 2:27
    Средно, очаква се да е необходимо да
    сравните всяка книга
  • 2:27 - 2:29
    с половината книги преди нея.
  • 2:29 - 2:32
    В този случай, общият брой сравнения
  • 2:32 - 2:36
    ще бъде 409 280,
  • 2:36 - 2:38
    отнемайки почти пет дни.
  • 2:38 - 2:41
    Все още се налага да правите
    прекалено много сравнения.
  • 2:41 - 2:43
    Ето по-добра идея.
  • 2:43 - 2:45
    Първо, изберете книга на случаен принцип.
  • 2:45 - 2:50
    Да кажем, че тя е "разделение"
    и я сравнете с всяка друга книга.
  • 2:50 - 2:52
    След това, разделете линията
  • 2:52 - 2:56
    като сложите всички книги, които трябва
    да са преди разделението отляво
  • 2:56 - 2:59
    и тези, които са след него, отдясно.
  • 2:59 - 3:00
    Спести доста време
  • 3:00 - 3:04
    след като не е нужно изобщо да сравняваш
    книгите отляво
  • 3:04 - 3:07
    с тези отдясно.
  • 3:07 - 3:10
    Сега, преглеждайки книгите отляво,
  • 3:10 - 3:13
    можеш да избереш друга разделителна книга
  • 3:13 - 3:17
    и да сортираш тези книги, които са
    преди нея и тези след нея.
  • 3:17 - 3:20
    Ако продължиш да създаваш
    подразделения като това,
  • 3:20 - 3:22
    докато направиш куп
    малки подраздели,
  • 3:22 - 3:28
    би сортирал бързо всеки със
    стратегия като Метода за вмъкване.
  • 3:28 - 3:33
    Всеки кръг на разделяне
    изисква около 1280 сравнения.
  • 3:33 - 3:35
    Ако дяловете ви са почти еднакви,
  • 3:35 - 3:40
    разделяйки книгите на 128 подраздели от по
    10, ще ви отнеме около 7 кръга,
  • 3:40 - 3:43
    или
    8960 секунди.
  • 3:43 - 3:48
    Сортирането на тези подредове ще добави
    около 22 секунди на всеки.
  • 3:48 - 3:51
    Като цяло, чрез този метод,
    известен като "Бързо сортиране",
  • 3:51 - 3:54
    можете да подредите книгите за
    по малко от 3 часа и половина.
  • 3:54 - 3:55
    Но има уловка.
  • 3:55 - 3:59
    Всички разделения могат да се окажат
    неравни и да не спестите време.
  • 3:59 - 4:01
    За щастие това се случва рядко.
  • 4:01 - 4:05
    Затова "Бързото сортиране" е една
    от ефективните стратегии,
  • 4:05 - 4:06
    използвани от
    програмистите днес.
  • 4:06 - 4:11
    Те я прилагат за подреждане на продукти
    в онлайн магазин по цена,
  • 4:11 - 4:14
    или създаване на списък с всички
    бензиностанции близо до дадено място,
  • 4:14 - 4:16
    подредени по разстояние.
  • 4:16 - 4:20
    Във вашия случай, сте направили
    бързо сортиране с остатък от време.
  • 4:20 - 4:23
    Поредният ден с високи
    залози в библиотеката.
Title:
Кой е най-бързият начин да подредите библиотеката си по азбучен ред? - Чанд Джон
Speaker:
Чанд Джон
Description:

Вижте пълният урок: http://ed.ted.com/lessons/what-s-the-fastest-way-to-alphabetize-your-bookshelf-chand-john

Работите в колежанска библиотека. В средата на тих, спокоен следобед сте, когато пристига пратка от 1 280 книги. Книгите са сортирани в редица, но не са подредени, а автоматичната система за подредба не работи. Как можете да подредите книгите бързо? Чанд Гжон показва как, хвърляйки светлина върху това как алгоритмите помагат на библиотекарите и търсачките бързо да сортират информация.

Урок на Чанд Джон, анимация от Антон Трофимов.

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

Bulgarian subtitles

Revisions