در این مطلب، ویدئو Python: الگوریتم MergeSort توضیح داده شده است با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:03,550 –> 00:00:06,109
2
00:00:06,109 –> 00:00:07,850
3
00:00:07,850 –> 00:00:09,470
4
00:00:09,470 –> 00:00:11,630
5
00:00:11,630 –> 00:00:13,250
6
00:00:13,250 –> 00:00:14,510
سلام. به شما نشان میدهیم که چگونه یک برنامه پایتون بنویسید
7
00:00:14,510 –> 00:00:17,600
تا مرتبسازی ادغام شود، بنابراین فرض کنید
8
00:00:17,600 –> 00:00:20,060
میخواستیم فهرست کوچکی از
9
00:00:20,060 –> 00:00:24,770
4 عدد صحیح را مرتب کنیم.
10
00:00:24,770 –> 00:00:26,990
11
00:00:26,990 –> 00:00:30,560
12
00:00:30,560 –> 00:00:35,239
لیست های کوچکتر اکنون 2 4 قبلا مرتب شده است 3 1 ما
13
00:00:35,239 –> 00:00:37,249
باید مکان ها را عوض کنیم اکنون 2
14
00:00:37,249 –> 00:00:39,370
لیست کوچکتر داریم یا به ترتیب مرتب شده اند و
15
00:00:39,370 –> 00:00:42,800
سپس آن دو لیست کوچکتر را دوباره
16
00:00:42,800 –> 00:00:45,530
با هم ادغام می کنیم تا بتوانیم
17
00:00:45,530 –> 00:00:47,389
دو مورد اول را با هم مقایسه کنیم زیرا می دانیم که اینها
18
00:00:47,389 –> 00:00:49,309
هستند. دو مورد کوچکترین مورد این سمت چپترین
19
00:00:49,309 –> 00:00:50,989
مورد کوچکترین مورد در هر لیست است،
20
00:00:50,989 –> 00:00:54,620
بنابراین ما 2 را به 1 مقایسه
21
00:00:54,620 –> 00:00:56,839
22
00:00:56,839 –> 00:01:00,409
23
00:01:00,409 –> 00:01:03,370
میکنیم. 2 به لیست اصلی
24
00:01:03,370 –> 00:01:06,829
ما 3 را با 4 مقایسه می کنیم 3 مورد کوچکتر است
25
00:01:06,829 –> 00:01:10,909
بنابراین ما 3 را در لیست اصلی داشتیم و سپس
26
00:01:10,909 –> 00:01:12,500
کارمان تمام شد با لیست سمت راست، اکنون تنها
27
00:01:12,500 –> 00:01:14,149
لیست سمت چپ ما باقی مانده است،
28
00:01:14,149 –> 00:01:16,719
4 مورد باقی مانده است، بنابراین به لیست اصلی اضافه می
29
00:01:16,719 –> 00:01:19,609
کنیم که اکنون یک لیست مرتب شده از چهار مورد داریم
30
00:01:19,609 –> 00:01:22,369
که به طور خلاصه نحوه عملکرد مرتب سازی ادغام را نشان
31
00:01:22,369 –> 00:01:23,509
می دهد. یک
32
00:01:23,509 –> 00:01:26,149
مثال دقیق تر با 8 مورد در
33
00:01:26,149 –> 00:01:29,030
لیست، بنابراین ما مورد را از 0 تا
34
00:01:29,030 –> 00:01:30,219
7 شماره گذاری
35
00:01:30,219 –> 00:01:32,810
می کنیم، با تقسیم لیست به
36
00:01:32,810 –> 00:01:36,140
نصف شروع می کنیم تا یک لیست سمت چپ و یک
37
00:01:36,140 –> 00:01:40,159
لیست سمت راست هر کدام با 4 مورد داشته باشیم و
38
00:01:40,159 –> 00:01:42,289
سپس میخواهیم آن دو فهرست فرعی را انتخاب کنیم
39
00:01:42,289 –> 00:01:45,590
و هر یک از آنها را به دو
40
00:01:45,590 –> 00:01:50,659
فهرست کوچکتر برش دهیم، اکنون چهار فهرست داریم
41
00:01:50,659 –> 00:01:54,729
که هر کدام دو مورد به ترتیب مرتبنشده دارند،
42
00:01:54,729 –> 00:01:56,810
اکنون میخواهیم فهرست را
43
00:01:56,810 –> 00:02:01,100
یک مرحله دیگر به هشت فهرست تقسیم کنیم. یک
44
00:02:01,100 –> 00:02:03,469
مورد در هر لیست می دانم که احمقانه به نظر می رسد،
45
00:02:03,469 –> 00:02:06,020
اما یک مورد در هر لیست، بنابراین از آنجایی
46
00:02:06,020 –> 00:02:09,470
که در هر لیست فقط یک مورد وجود دارد، می
47
00:02:09,470 –> 00:02:13,040
دانیم که
48
00:02:13,040 –> 00:02:15,560
اگر لیستی دارید که فقط شامل 17
49
00:02:15,560 –> 00:02:18,980
باشد، هر لیست درست مرتب شده است، پس 17 به ترتیب مرتب شده است. اکنون
50
00:02:18,980 –> 00:02:20,569
ما هشت لیست داریم که به ترتیب مرتب شده اند،
51
00:02:20,569 –> 00:02:22,970
اکنون فقط باید آنها
52
00:02:22,970 –> 00:02:25,600
را با هم ادغام کنیم یک لیست هشت موردی
53
00:02:25,600 –> 00:02:27,860
، جایی است که جادو برای
54
00:02:27,860 –> 00:02:32,959
مرتب سازی ادغام وارد می شود، بنابراین ما با تنظیم
55
00:02:32,959 –> 00:02:37,520
چهار لیست با هر کدام دو مورد و
56
00:02:37,520 –> 00:02:40,340
موارد مجاور را ادغام می کنیم، بنابراین هفده و
57
00:02:40,340 –> 00:02:41,959
هشتاد و هفت مورد را مقایسه می
58
00:02:41,959 –> 00:02:44,930
کنیم. ابتدا آن را اضافه می کنیم و سپس 87 را اضافه می کنیم
59
00:02:44,930 –> 00:02:49,220
، بنابراین اکنون
60
00:02:49,220 –> 00:02:53,239
لیست های صفر و یک را با هم ادغام کرده ایم، به
61
00:02:53,239 –> 00:02:57,230
دو مورد بعدی شش و 22 می
62
00:02:57,230 –> 00:03:00,730
رویم، بنابراین 6 کوچکتر است، ابتدا آن را اضافه می کنیم و سپس 22 را اضافه
63
00:03:00,730 –> 00:03:04,190
می کنیم. به دو مورد بعدی 3 کوچکتر است،
64
00:03:04,190 –> 00:03:06,019
ابتدا اضافه می کنیم و
65
00:03:06,019 –> 00:03:10,190
سپس 41 و به خالص
66
00:03:10,190 –> 00:03:14,840
دو لیست آخر 13 و
67
00:03:14,840 –> 00:03:18,500
54 می پریم.
68
00:03:18,500 –> 00:03:23,090
هر مورد را به چهار
69
00:03:23,090 –> 00:03:26,840
لیست با دو مورد هر کدام، بنابراین
70
00:03:26,840 –> 00:03:31,100
اولین مرحله از مرتب سازی ادغام است، بنابراین ما
71
00:03:31,100 –> 00:03:32,329
آن ها را به پایین منتقل
72
00:03:32,329 –> 00:03:34,880
می کنیم و این چهار
73
00:03:34,880 –> 00:03:39,200
لیست از دو مورد را در دو
74
00:03:39,200 –> 00:03:42,650
لیست چهار موردی ادغام می کنیم. بنابراین ما با
75
00:03:42,650 –> 00:03:46,340
این چهار مورد در پایین 1787 شش
76
00:03:46,340 –> 00:03:48,320
و 22 شروع می کنیم، بنابراین اساساً دو لیست از
77
00:03:48,320 –> 00:03:49,940
دو مورد داریم که به صورت مرتب هستند. ترتیب ted
78
00:03:49,940 –> 00:03:53,000
این همان چیزی است که ما با آن شروع میکنیم و میخواهیم
79
00:03:53,000 –> 00:03:54,680
آنها را به فهرستی از
80
00:03:54,680 –> 00:03:56,380
چهار آیتم به ترتیب مرتبشده منتقل
81
00:03:56,380 –> 00:03:59,660
کنیم، بنابراین ۶ تا ۱۷ را با هم مقایسه میکنیم که شش
82
00:03:59,660 –> 00:04:01,459
کوچکتر است، بنابراین آن را به سمت بالا قرار میدهیم،
83
00:04:01,459 –> 00:04:04,970
نشانگر خود را روی ۲۲ قرار میدهیم. 17
84
00:04:04,970 –> 00:04:08,239
را با 22 مقایسه می کنیم، 17 کوچکتر است، بنابراین ما آن را به
85
00:04:08,239 –> 00:04:09,709
سمت بالا می بریم و نشانگر را به
86
00:04:09,709 –> 00:04:14,840
87 می بریم، اکنون 22 را با 87 مقایسه
87
00:04:14,840 –> 00:04:17,358
88
00:04:17,358 –> 00:04:19,700
می کنیم.
89
00:04:19,700 –> 00:04:21,820
بقیه موارد در سمت چپ ترین لیست
90
00:04:21,820 –> 00:04:24,580
را بالا ببرید و فقط یک مورد وجود دارد، بنابراین 87 است، بنابراین
91
00:04:24,580 –> 00:04:28,580
اکنون لیست سمت چپ در بالا به ترتیب
92
00:04:28,580 –> 00:04:29,150
مرتب شده است،
93
00:04:29,150 –> 00:04:31,760
اکنون می خواهیم این دو مورد را مرتب کنیم
94
00:04:31,760 –> 00:04:36,010
و آنها را به لیست برتر
95
00:04:36,010 –> 00:04:39,470
منتقل کنیم. ابتدا 3 را با 13 مقایسه می کنیم، 3
96
00:04:39,470 –> 00:04:42,080
کوچکتر است، نشانگر را به
97
00:04:42,080 –> 00:04:47,240
41 منتقل می کنیم، 41 را با 13
98
00:04:47,240 –> 00:04:49,010
99
00:04:49,010 –> 00:04:54,250
مقایسه می
100
00:04:54,250 –> 00:04:56,450
کنیم. آن لیست بنابراین ما می توانیم
101
00:04:56,450 –> 00:04:58,190
بقیه موارد را در
102
00:04:58,190 –> 00:05:03,140
لیست درست کپی کنیم، اکنون دو لیست با
103
00:05:03,140 –> 00:05:05,240
چهار مورد داریم که هر کدام به ترتیب مرتب شده اند.
104
00:05:05,240 –> 00:05:07,970
ما یک مرحله ادغام دیگر داریم تا
105
00:05:07,970 –> 00:05:11,210
اینها را در یک لیست از هشت مورد ترکیب
106
00:05:11,210 –> 00:05:12,520
کنیم، بنابراین با سمت چپ ترین مورد شروع می کنیم
107
00:05:12,520 –> 00:05:16,370
108
00:05:16,370 –> 00:05:18,290
109
00:05:18,290 –> 00:05:23,240
. ما 17 را با 13 مقایسه می
110
00:05:23,240 –> 00:05:29,090
کنیم 13 کوچکتر است 17 را با 41 مقایسه می کنیم
111
00:05:29,090 –> 00:05:33,850
17 کوچکتر است 22 به 40 1 تا 22 کوچکتر است
112
00:05:33,850 –> 00:05:41,540
87 به 41 تا 41 کوچکتر است 87 به 54 54
113
00:05:41,540 –> 00:05:45,740
کوچکتر است و سپس 87 را به بالا منتقل می
114
00:05:45,740 –> 00:05:48,290
کنیم. بنابراین مرتبسازی ادغام به این ترتیب
115
00:05:48,290 –> 00:05:51,800
کار میکند اکنون ما یک لیست از 8 مورد مرتبشده داریم
116
00:05:51,800 –> 00:05:54,740
، بنابراین مرتب