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

3,890,933 views ・ 2016-11-28

TED-Ed


يرجى النقر نقرًا مزدوجًا فوق الترجمة الإنجليزية أدناه لتشغيل الفيديو.

المترجم: Nada Shokry المدقّق: Fatima Zahra El Hafa
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
فجأة تصل شحنة من 1280 كتابًا مختلفًا.
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
يسمى هذا النهج "ترتيب الفقاعات".
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
ستقوم بإجراء 1279 مقارنة في الجولة الأولى
01:29
then 1,278, and so on,
25
89331
4292
ثم 1278، وهكذا،
01:33
adding up to 818,560 comparisons.
26
93623
4919
ليبلغ المجموع 818560 مقارنة.
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
حتى يوضع بشكل صحيح بين الكتب المرتبة حتى الآن.
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
بعكس ترتيب الفقاعات، فإنه لا يستلزم مقارنة كل زوج من الكتب.
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
سيكون 409280،
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
ترتب كل منها سريعًا باستخدام إستراتيجية أخرى كترتيب الإدراج.
03:27
Each round of partitioning requires about 1,280 comparisons.
60
207764
5162
كل جولة من التقسيم تتطلب حوالي 1280 مقارنة.
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
فإن تقسيم الكتب إلى 128 خطًا فرعيًا من عشرة سوف يستغرق حوالي سبع جولات،
03:41
or 8,960 seconds.
63
221256
2691
أو 8960 ثانية.
03:43
Sorting these sub-lines would add about 22 seconds each.
64
223947
4789
فرز هذه الخطوط الفرعية سيضيف حوالي 22 ثانية لكل منها.
03:48
All in all, this method known as QuickSort
65
228736
3081
عمومًا فإن هذه الطريقة المعروفة باسم "الترتيب السريع"
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
هذا هو سبب كون الترتيب السريع أحد أكثر الإستراتيجيات فعاليةً
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