What's the fastest way to alphabetize your bookshelf? - Chand John

Đâu là cách nhanh nhất để sắp xếp tủ sách theo thứ tự bảng chữ cái? - Chand John

3,894,455 views

2016-11-28 ・ TED-Ed


New videos

What's the fastest way to alphabetize your bookshelf? - Chand John

Đâu là cách nhanh nhất để sắp xếp tủ sách theo thứ tự bảng chữ cái? - Chand John

3,894,455 views ・ 2016-11-28

TED-Ed


Vui lòng nhấp đúp vào phụ đề tiếng Anh bên dưới để phát video.

Translator: Linh Tran Reviewer: Thao Nguyen
00:06
You work at the college library.
0
6911
2266
Bạn làm việc tại thư viện trường đại học.
00:09
You're in the middle of a quiet afternoon
1
9177
2220
Trong một buổi chiều bình lặng,
00:11
when suddenly a shipment of 1,280 different books arrives.
2
11397
6614
bỗng có một đơn hàng với 1 280 cuốn sách khác nhau được chuyển đến.
Các cuốn sách được xếp thành một hàng dài
00:18
The books have been dropped of in one long straight line,
3
18011
3679
00:21
but they're all out of order,
4
21690
1598
nhưng chẳng theo thứ tự nào hết
00:23
and the automatic sorting system is broken.
5
23288
3743
và hệ thống sắp xếp tự động thì lại hỏng mất rồi.
Còn tệ hơn nữa là các lớp sẽ bắt đầu học vào ngày mai
00:27
To make matters worse, classes start tomorrow,
6
27031
2636
00:29
which means that first thing in the morning,
7
29667
2338
nghĩa là ngay từ sáng sớm,
00:32
students will show up in droves looking for these books.
8
32005
4552
sinh viên sẽ ào đến tìm sách.
00:36
How can you get them all sorted in time?
9
36557
2936
Làm cách nào để bạn sắp xếp chúng cho kịp thời gian đây?
00:39
One way would be to start at one end of the line with the first pair of books.
10
39493
5286
Cách đầu tiên là bạn bắt đầu một vài cuốn ở một đầu của dãy sách.
00:44
If the first two books are in order, then leave them as they are.
11
44779
3847
Nếu hai cuốn đầu tiên theo thứ tự, hãy để nguyên chúng ở đó.
00:48
Otherwise, swap them.
12
48626
2294
Nếu không thì hãy xếp lại.
00:50
Then, look at the second and third books,
13
50920
2296
Tiếp theo, tìm cuốn sách thứ hai và thứ ba
00:53
repeat the process,
14
53216
1663
lặp lại quá trình trên
00:54
and continue until you reach the end of the line.
15
54879
3056
và tiếp tục cho đến cuối hàng.
00:57
At some point, you'll come across the book that should be last,
16
57935
3250
Ở một thời điểm nào đó, bạn sẽ bắt gặp cuốn sách ở thứ tự cuối
01:01
and keep swapping it with every subsequent book,
17
61185
3525
hãy tráo nó với mọi cuốn sách tiếp sau
01:04
moving it down the line until it reaches the end where it belongs.
18
64710
4570
tiếp tục như vậy cho tới khi nó về đúng chỗ ở cuối hàng.
01:09
Then, start from the beginning and repeat the process
19
69280
2945
Tiếp theo, bắt đầu từ đầu và lặp lại
01:12
to get the second to last book in its proper place,
20
72225
3285
để đưa cuốn sách thứ hai từ dưới lên về đúng chỗ
01:15
and keep going until all books are sorted.
21
75510
3311
và cứ thế cho tới khi tất cả chỗ sách được sắp xếp hết.
01:18
This approach is called Bubble Sort.
22
78821
3041
Phương pháp này gọi là Sắp xếp Nổi bọt
01:21
It's simple but slow.
23
81862
2294
Tuy đơn giản nhưng lại chậm chạp.
Bạn phải so sánh 1 279 lần trong lượt sắp xếp đầu tiên
01:24
You'd make 1,279 comparisons in the first round,
24
84156
5175
01:29
then 1,278, and so on,
25
89331
4292
rồi đến 1 278 lần và tiếp tục như thế
01:33
adding up to 818,560 comparisons.
26
93623
4919
tổng cộng lại sẽ là 818 560 lượt so sánh.
01:38
If each took just one second, the process would take over nine days.
27
98542
5731
Nếu mỗi lượt kéo dài 1 giây, cả quá trình sẽ cần tới hơn 9 ngày để hoàn thành.
01:44
A second strategy would be to start by sorting just the first two books.
28
104273
4296
Phương án thứ hai là bắt đầu sắp xếp với hai cuốn sách đầu tiên thôi.
01:48
Then, take the third book and compare it with the book in the second spot.
29
108569
5164
Rồi lấy cuốn thứ ba và so với cuốn ở vị trí thứ hai.
01:53
If it belongs before the second book, swap them,
30
113733
3440
Nếu nó đứng trước cuốn ở vị trí thứ hai, hãy tráo chúng
01:57
then compare it with the book in the first spot,
31
117173
2468
rồi so với cuốn ở vị trí đầu
01:59
and swap again if needed.
32
119641
2041
và tráo lần nữa nếu cần thiết.
02:01
Now you've sorted the first three books.
33
121682
2198
Giờ bạn đã tráo xong ba cuốn sách đầu tiên.
02:03
Keep adding one book at a time to the sorted sub-line,
34
123880
3852
Cứ tiếp tục thêm từng cuốn sách một vào dãy sách đã sắp xếp
02:07
comparing and swapping the new book with the one before it
35
127732
4077
so sánh và tráo cuốn mới với cuốn trước nó
02:11
until it's correctly placed among the books sorted so far.
36
131809
4195
cho tới khi chúng được đặt đúng vị trí trong đống sách đã sắp xếp.
Cách này được gọi là Sắp xếp Chèn.
02:16
This is called Insertion Sort.
37
136004
2209
02:18
Unlike Bubble Sort, it usually doesn't require comparing every pair of books.
38
138213
4731
Khác với Sắp xếp Nổi bọt, cách này không bắt buộc bạn phải so sánh từng cặp.
02:22
On average, we'd expect to only need to compare each book
39
142944
4010
Trung bình, chúng ta chỉ cần phải so sánh mỗi cuốn sách
02:26
to half of the books that came before it.
40
146954
2460
với một nửa số sách trước nó.
02:29
In that case, the total number of comparisons
41
149414
2709
Trong trường hợp đó, số lượt so sánh
02:32
would be 409,280,
42
152123
3860
sẽ là 409 280
02:35
taking almost five days.
43
155983
2152
mất tới gần 5 ngày.
Bạn vẫn phải so sánh quá nhiều lần.
02:38
You're still doing way too many comparisons.
44
158135
2489
02:40
Here's a better idea.
45
160624
1891
Ở đây có một cách hay hơn nè.
02:42
First, pick a random book.
46
162515
2370
Đầu tiên, hãy chọn ngẫu nhiên một cuốn sách
02:44
Call it the partition and compare it to every other book.
47
164885
4721
Hãy coi nó là Vách Ngăn và so sánh nó với tất cả các cuốn sách khác.
02:49
Then, divide the line
48
169606
1909
Sau đó, chia dãy sách ra
02:51
by placing all the books that come before the partition on its left
49
171515
4151
bằng cách đặt tất cả những cuốn có thứ tự trước Vách Ngăn ở bên tay trái
02:55
and all the ones that come after it on its right.
50
175666
3159
và những cuốn sau Vách Ngăn ở bên tay phải
02:58
You've just saved loads of time
51
178825
1590
Bạn vừa tiết kiệm được thời gian
03:00
by not having to compare any of the books on the left
52
180415
3430
vì không phải so sánh bất kì cuốn sách nào ở bên trái
03:03
to any of the ones on the right ever again.
53
183845
3400
với các cuốn sách ở bên phải.
Giờ, hãy chỉ tập trung vào số sách bên tay trái
03:07
Now, looking only at the books on the left,
54
187245
2420
03:09
you can again pick a random partition book
55
189665
2877
bạn lại có thể lựa chọn một Vách Ngăn bất kì
03:12
and separate those books that come before it from those that come after it.
56
192542
4724
và chia số sách đó thành những cuốn đứng trước và đứng sau
03:17
You can keep creating sub-partitions like this
57
197266
2470
Bạn có thể tiếp tục tạo ra các Vách Ngăn phụ như vậy
03:19
until you have a bunch of small sub-lines,
58
199736
2648
cho tới khi có rất nhiều dãy sách phụ
03:22
each of which you'd sort quickly using another strategy, like Insertion Sort.
59
202384
5380
với mỗi dãy, bạn có thể sắp xếp nhanh chóng bằng phương pháp Sắp xếp Chèn
03:27
Each round of partitioning requires about 1,280 comparisons.
60
207764
5162
Mỗi lần chia ngăn cần khoảng 1 280 lượt so sánh
03:32
If your partitions are pretty balanced,
61
212926
2540
Nếu các Vách Ngăn của bạn khá đồng đều
03:35
dividing the books into 128 sub-lines of ten would take about seven rounds,
62
215466
5790
chia số sách thành 128 dãy phụ gồm 10 cuốn sẽ mất khoảng 7 lượt
03:41
or 8,960 seconds.
63
221256
2691
hay 8 960 giây.
03:43
Sorting these sub-lines would add about 22 seconds each.
64
223947
4789
Phân loại hết các dãy phụ này sẽ tốn thêm khoảng 22 giây mỗi lần.
03:48
All in all, this method known as QuickSort
65
228736
3081
Nói chung, phương pháp có tên Sắp xếp Nhanh này
03:51
could sort the books in under three and a half hours.
66
231817
3066
có thể giúp bạn phân loại sách trong vòng chưa đầy 3 tiếng rưỡi
03:54
But there's a catch.
67
234883
1114
Tuy nhiên, vẫn có bẫy.
03:55
Your partitions could end up lopsided, saving no time at all.
68
235997
3578
Các Vách Ngăn của bạn có thể bị lệch và sẽ chẳng tiết kiệm được thời gian
03:59
Luckily, this rarely happens.
69
239575
1902
May mắn là điều này rất hiếm khi xảy ra
04:01
That's why QuickSort is one of the most efficient strategies
70
241477
3433
Vì vậy nên Sắp xếp Nhanh là một trong những phương án hữu hiệu nhất
04:04
used by programmers today.
71
244910
2006
được các nhà lập trình sử dụng ngày nay.
04:06
They use it for things like sorting items in an online store by price,
72
246916
3931
Họ dùng nó để sắp xếp hàng theo giá cả trên cửa hàng trực tuyến
04:10
or creating a list of all the gas stations close to a given location
73
250847
4011
hoặc tạo ra danh sách các cây xăng gần với một địa điểm nhất định
04:14
sorted by distance.
74
254858
1521
theo khoảng cách.
04:16
In your case, you're done quick sorting with time to spare.
75
256379
4028
Trong trường hợp của bạn, bạn có thể sắp xếp nhanh mà vẫn còn thừa thời gian
04:20
Just another high-stakes day in the library.
76
260407
2261
Và đó lại là một ngày bận rộn khác trong thư viện
Về trang web này

Trang web này sẽ giới thiệu cho bạn những video YouTube hữu ích cho việc học tiếng Anh. Bạn sẽ thấy các bài học tiếng Anh được giảng dạy bởi các giáo viên hàng đầu từ khắp nơi trên thế giới. Nhấp đúp vào phụ đề tiếng Anh hiển thị trên mỗi trang video để phát video từ đó. Phụ đề cuộn đồng bộ với phát lại video. Nếu bạn có bất kỳ nhận xét hoặc yêu cầu nào, vui lòng liên hệ với chúng tôi bằng biểu mẫu liên hệ này.

https://forms.gle/WvT1wiN1qDtmnspy7