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

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

TED-Ed


ဗီဒီယိုကိုဖွင့်ရန် အောက်ပါ အင်္ဂလိပ်စာတန်းများကို နှစ်ချက်နှိပ်ပါ။

Translator: Sanntint Tint Reviewer: Myo Aung
00:06
You work at the college library.
0
6911
2266
သင်က ကောလိပ်စာကြည့်တိုက်မှာ အလုပ်လုပ်တယ်။
00:09
You're in the middle of a quiet afternoon
1
9177
2220
တိတ်ဆိတ်တဲ့ နေ့လည်ခင်းတစ်ခုရဲ့ အလယ်မှာ
00:11
when suddenly a shipment of 1,280 different books arrives.
2
11397
6614
ရုတ်တရတ် စာအုပ် ၁၂၈၀ ပို့ဆောင်မှု ရောက်ရှိလာတယ်။
စာအုပ်တွေကို ရှည်လျားတဲ့ မျဉ်းဖြောင့်တစ်ခုအတိုင်း ချပစ်ခဲ့ပေမဲ့
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
အားလုံးက အစီအစဥ်မကျဘဲ
00:23
and the automatic sorting system is broken.
5
23288
3743
အလိုအလျောက် စီတဲ့စနစ်က ပျက်သွားတယ်။
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
ဆိုလိုတာက မနက်ခင်းမှာ ပထမဆုံး အရာက
ဒီစာအုပ်တွေကို ရှာရင်း ကျောင်းသားတွေက အစုလိုက်အပြုံလိုက် ပေါ်လာမှာပါ။
00:32
students will show up in droves looking for these books.
8
32005
4552
00:36
How can you get them all sorted in time?
9
36557
2936
ဒါတွေအားလုံးကို အချိန်မီ ဘယ်လို ခွဲထုတ်မလဲ။
00:39
One way would be to start at one end of the line with the first pair of books.
10
39493
5286
နည်းလမ်းတစ်ခုက ပထမ စာအုပ် အတွဲနဲ့အတူ မျဥ်းတစ်ဖက်မှာ စတင်တာဖြစ်မယ်။
00:44
If the first two books are in order, then leave them as they are.
11
44779
3847
ပထမစာအုပ်နှစ်အုပ်က အစီအစဥ်ကျရင် ဒီအတိုင်း ထားလိုက်ပါ။
00:48
Otherwise, swap them.
12
48626
2294
မဟုတ်ရင် ဒါတွေကို နေရာလဲလိုက်ပါ။
00:50
Then, look at the second and third books,
13
50920
2296
ဒီနောက် ဒုတိယနဲ့ တတိယစာအုပ်တွေကို ကြည့်ပါ။
00:53
repeat the process,
14
53216
1663
ဒီလုပ်ငန်းစဉ်ကို ပြန်လုပ်ပြီး
00:54
and continue until you reach the end of the line.
15
54879
3056
အတန်း အဆုံးကို ရောက်သည်အထိ ဆက်လက်လုပ်ဆောင်ပါ။
00:57
At some point, you'll come across the book that should be last,
16
57935
3250
တစ်နေရာရာမှာ နောက်ဆုံး ဖြစ်သင့်တဲ့ စာအုပ်ကို သင် တွေ့ရှိပြိး
01:01
and keep swapping it with every subsequent book,
17
61185
3525
၎င်းနဲ့ဆိုင်တဲ့ အဆုံးကို ရောက်တဲ့အထိ အတန်းအောက်ကို ရွှေ့ပေးရင်း
01:04
moving it down the line until it reaches the end where it belongs.
18
64710
4570
နောက်ပိုင်း စာအုပ်တိုင်းနဲ့အတူ ဆက်ကာဆက်ကာ နေရာလဲသွားပါ။
01:09
Then, start from the beginning and repeat the process
19
69280
2945
နောက်ဆုံးမတိုင်မီ စာအုပ်ကို နေရာတကျဖြစ်စေဖို့
01:12
to get the second to last book in its proper place,
20
72225
3285
အစကနေပြီး လုပ်ငန်းစဥ်ကို ပြန်လုပ်ပြီး
01:15
and keep going until all books are sorted.
21
75510
3311
စာအုပ်အားလုံး ခွဲပြီးသည်အထိ ဆက်လုပ်သွားပါ။
01:18
This approach is called Bubble Sort.
22
78821
3041
ဒီနည်းလမ်းကို Bubble Sort လို့ ခေါ်ပါတယ်။
01:21
It's simple but slow.
23
81862
2294
ရိုးရှင်းပေမဲ့ နှေးတယ်။
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
နောက်တော့ ၁,၂၇၈ ခု စစသည်ဖြင့်
01:33
adding up to 818,560 comparisons.
26
93623
4919
နှိုင်းယှဉ်မှုပေါင်း ၈၁၈,၅၆၀ ခု အထိ တိုးသွားတယ်။
01:38
If each took just one second, the process would take over nine days.
27
98542
5731
တစ်ခုစီက တစ်စက္ကန့်သာ ကြာရင် လုပ်ငန်းစဉ်က ကိုးရက်ကျော်ကြာမှာပါ။
01:44
A second strategy would be to start by sorting just the first two books.
28
104273
4296
ဒုတိယနည်းဗျူဟာက ပထမစာအုပ်နှစ်အုပ်ကိုပဲ စီတာနဲ့ စတင်မှာပါ။
01:48
Then, take the third book and compare it with the book in the second spot.
29
108569
5164
ဒီနောက် တတိယစာအုပ်ကို ယူပြီး ဒုတိယနေရာက စာအုပ်နဲ့ နှိုင်းယှဉ်တာပါ။
01:53
If it belongs before the second book, swap them,
30
113733
3440
ဒုတိယစာအုပ်ရှေ့မှာ သက်ဆိုင်ရင် ဒါတွေကို နေရာလဲလိုက်ပါ။
01:57
then compare it with the book in the first spot,
31
117173
2468
ပြီးရင် ပထမနေရာက စာအုပ်နဲ့ နှိုင်းယှဥ်ပါ။
01:59
and swap again if needed.
32
119641
2041
လိုအပ်ရင် ထပ်မံ နေရာလဲပါ။
02:01
Now you've sorted the first three books.
33
121682
2198
အခု ပထမဆုံး စာအုပ်သုံးအုပ်ကို စီပြီးသွားပြီ။
02:03
Keep adding one book at a time to the sorted sub-line,
34
123880
3852
စီထားတဲ့ အတန်းခွဲတွေထဲမှာ တစ်ကြိမ်ကို စာအုပ်တစ်အုပ် ဆက်ထည့်ပါ။
02:07
comparing and swapping the new book with the one before it
35
127732
4077
အခုချိန်ထိ စီထားတဲ့ စာအုပ်တွေကြားမှာ မှန်ကန်စွာ နေရာကျသည်အထိ
02:11
until it's correctly placed among the books sorted so far.
36
131809
4195
ရှေ့က တစ်အုပ်နဲ့ စာအုပ်အသစ်ကို နှိုင်းယှဉ်ပြီး လဲလှယ်ပါ။
ဒါကို Insertion Sort လို့ ခေါ်ပါတယ်။
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
Bubble Sort နဲ့မတူတာက ဒါက များသောအားဖြင့် စာအုပ်တွဲတိုင်းကို ယှဉ်ဖို့ မလိုတာပါ။
02:22
On average, we'd expect to only need to compare each book
39
142944
4010
ပျမ်းမျှအနေနဲ့ စာအုပ်တစ်အုပ်စီကို ၎င်းရှေ့က လာတဲ့ စာအုပ်တွေရဲ့ ထက်ဝက်နဲ့ပဲ
02:26
to half of the books that came before it.
40
146954
2460
နှိုင်းယှဉ်ဖို့ လိုတယ်လို့ မျှော်လင့်တာပါ။
02:29
In that case, the total number of comparisons
41
149414
2709
ဒီအခြေအနေမှာ စုစုပေါင်း နှိုင်းယှဉ်မှုအရေအတွက်က
02:32
would be 409,280,
42
152123
3860
၄၀၉,၂၈၀ ခု ဖြစ်မယ်ဆိုရင်
02:35
taking almost five days.
43
155983
2152
ငါးရက် နီးပါးကြာပါတယ်။
02:38
You're still doing way too many comparisons.
44
158135
2489
များပြားလွန်းတဲ့ နှိုင်းယှဥ်မှုတွေ လုပ်နေတုန်းပါ။
02:40
Here's a better idea.
45
160624
1891
ဒီမှာ ပိုကောင်းတဲ့ စိတ်ကူးတစ်ခုပါ။
02:42
First, pick a random book.
46
162515
2370
ပထမဆုံး ကျပန်းစာအုပ်တစ်အုပ်ကို ရွေးပါ။
02:44
Call it the partition and compare it to every other book.
47
164885
4721
ဒါကို အပိုင်းခွဲ လို့ခေါ်ပြီး အခြား စာအုပ်တိုင်းနဲ့ ၎င်းကို နှိုင်းယှဉ်ပါ။
02:49
Then, divide the line
48
169606
1909
ဒီနောက် ဘယ်ဘက်ခြမ်းက အပိုင်းခွဲမှာ
02:51
by placing all the books that come before the partition on its left
49
171515
4151
အရင်လာတဲ့ စာအုပ်တွေအားလုံးနဲ့ ညာဘက် နောက်ပိုင်းလာတာတွေကို
02:55
and all the ones that come after it on its right.
50
175666
3159
နေရာချထားခြင်းအားဖြင့် အတန်းကို ပိုင်းလိုက်ပါ။
02:58
You've just saved loads of time
51
178825
1590
ဘယ်ဘက်က စာအုပ်တွေကို
03:00
by not having to compare any of the books on the left
52
180415
3430
ညာဘက်က ဘယ်စာအုပ်နဲ့မှ ထပ်ပြီး နှိုင်းယှဥ်စရာမလိုဘဲ
03:03
to any of the ones on the right ever again.
53
183845
3400
အချိန်များစွာ သက်သာစေတာပါ။
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
ကျပန်း အပိုင်းခွဲ စာအုပ်ကို ထပ်မံရွေးချယ်နိုင်ပြီး
03:12
and separate those books that come before it from those that come after it.
56
192542
4724
၎င်းရဲ့ နောက်ကလာတဲ့ စာအုပ်တွေကနေ ရှေ့ကလာတာတွေကို ခွဲထုတ်နိုင်တယ်။
03:17
You can keep creating sub-partitions like this
57
197266
2470
အတန်းခွဲလေးတွေ အတွဲလိုက်ရတဲ့အထီ ဒီလို အပိုင်းခွဲတွေ
03:19
until you have a bunch of small sub-lines,
58
199736
2648
ဆက်လက်ဖန်တီးနိုင်ပါတယ်။
03:22
each of which you'd sort quickly using another strategy, like Insertion Sort.
59
202384
5380
တစ်ခုချင်းစီကို Insertion Sort လို အခြား နည်းဗျူဟာသုံးရင်း အမြန် ခွဲထုတ်တာပါ။
03:27
Each round of partitioning requires about 1,280 comparisons.
60
207764
5162
အပိုင်းပိုင်းခွဲခြင်းတိုင်းဟာ နှိုင်းယှဉ်မှု ၁,၂၈၀ လောက်လိုအပ်တယ်။
03:32
If your partitions are pretty balanced,
61
212926
2540
အပိုင်းခွဲတွေက အတော်လေး ဟန်ချက်ညီရင်
03:35
dividing the books into 128 sub-lines of ten would take about seven rounds,
62
215466
5790
စာအုပ်တွေကို အတန်းခွဲ ၁၂၈ ခုပါတဲ့ ၁၀ တန်းက ခုနစ်ကျော့ သို့မဟုတ်
03:41
or 8,960 seconds.
63
221256
2691
၈,၉၆၀ စက္ကန့် ကြာမှာပါ။
03:43
Sorting these sub-lines would add about 22 seconds each.
64
223947
4789
ဒီအတန်း ခွဲတွေေကို စီခွဲတာက ၂၂ စက္ကန့်လောက် ပေါင်းထည့်မှာပါ။
03:48
All in all, this method known as QuickSort
65
228736
3081
ခြုံပြောရရင် QuickSortt လို့ခေါ်တဲ့ ဒီနည်းလမ်းက
03:51
could sort the books in under three and a half hours.
66
231817
3066
စာအုပ်တွေကို သုံးနာရီခွဲအတွင်း အမျိုးအစားခွဲနိုင်ပေမဲ့
03:54
But there's a catch.
67
234883
1114
မြှုပ်ကွက်တစ်ခုရှိတယ်။
03:55
Your partitions could end up lopsided, saving no time at all.
68
235997
3578
သင့်ရဲ့အပိုင်းခွဲတွေက အချိန်လုံးဝ မသက်သာစေဘဲ တစ်ဖက်စောင်းနင်းဖြစ်နိုင်တယ်။
03:59
Luckily, this rarely happens.
69
239575
1902
ကံကောင်းတာက ဒီလိုဖြစ်ခဲပါတယ်။
04:01
That's why QuickSort is one of the most efficient strategies
70
241477
3433
ဒါကြောင့် QuickSort ဟာ ယနေ့ခေတ် ပရိုဂရမ်မာတွေ အသုံးပြုတဲ့ အထိရောက်ဆုံး
04:04
used by programmers today.
71
244910
2006
နည်းဗျူဟာတွေထဲက တစ်ခုပါ။
04:06
They use it for things like sorting items in an online store by price,
72
246916
3931
ဈေးနှုန်းအရ အွန်လိုင်းစတိုးတစ်ခု ထဲက ပစ္စည်းတွေကို ခွဲထုတ်တာ သို့မဟုတ်
04:10
or creating a list of all the gas stations close to a given location
73
250847
4011
အကွာအဝေးအလိုက် ပေ;ထားတဲ့ တည်နေရာအနီးက ဓာတ်ဆီဆိုင်အားလုံးရဲ့စာရင်းကို ဖန်တီးတာလို
04:14
sorted by distance.
74
254858
1521
အရာတွေအတွက် ဒါကို အသုံးပြုတယ်။
04:16
In your case, you're done quick sorting with time to spare.
75
256379
4028
သင့်ကိစ္စမှာတော့ အပိုချိန်နဲ့အတူ အမြန်စီပြီးသွားပါပြီ။
04:20
Just another high-stakes day in the library.
76
260407
2261
စာကြည့်တိုက်မှာ နောက်ထပ် စွန့်စားရတဲ့ နေ့တစ်နေ့ပေါ့။
ဤဝဘ်ဆိုဒ်အကြောင်း

ဤဆိုက်သည် သင့်အား အင်္ဂလိပ်စာလေ့လာရန်အတွက် အသုံးဝင်သော YouTube ဗီဒီယိုများနှင့် မိတ်ဆက်ပေးပါမည်။ ကမ္ဘာတစ်ဝှမ်းမှ ထိပ်တန်းဆရာများ သင်ကြားပေးသော အင်္ဂလိပ်စာသင်ခန်းစာများကို သင်တွေ့မြင်ရပါမည်။ ဗီဒီယိုစာမျက်နှာတစ်ခုစီတွင် ပြသထားသည့် အင်္ဂလိပ်စာတန်းထိုးများကို နှစ်ချက်နှိပ်ပါ။ စာတန်းထိုးများသည် ဗီဒီယိုပြန်ဖွင့်ခြင်းနှင့်အတူ ထပ်တူပြု၍ လှိမ့်သွားနိုင်သည်။ သင့်တွင် မှတ်ချက်များ သို့မဟုတ် တောင်းဆိုမှုများရှိပါက ဤဆက်သွယ်ရန်ပုံစံကို အသုံးပြု၍ ကျွန်ုပ်တို့ထံ ဆက်သွယ်ပါ။

https://forms.gle/WvT1wiN1qDtmnspy7