Кой е най-бързият начин да подредите библиотеката си по азбучен ред? - Чанд Джон
-
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 книги. Книгите са сортирани в редица, но не са подредени, а автоматичната система за подредба не работи. Как можете да подредите книгите бързо? Чанд Гжон показва как, хвърляйки светлина върху това как алгоритмите помагат на библиотекарите и търсачките бързо да сортират информация.
Урок на Чанд Джон, анимация от Антон Трофимов.
- Video Language:
- English
- Team:
- closed TED
- Project:
- TED-Ed
- Duration:
- 04:39
Anton Hikov approved Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Anton Hikov accepted Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Anton Hikov edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Iviana Gicheva edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Iviana Gicheva edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Iviana Gicheva edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Iviana Gicheva edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? | ||
Iviana Gicheva edited Bulgarian subtitles for What's the fastest way to alphabetize your bookshelf? |