در این مطلب، ویدئو مرتب سازی انتخاب در پایتون توضیح داده شده (با مثال و کد) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:08:27
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,580
سلام به همه و به آموزش من
2
00:00:02,580 –> 00:00:05,040
در مورد مرتب سازی انتخابی خوش آمدید و اینکه چگونه می توانید
3
00:00:05,040 –> 00:00:08,099
این الگوریتم را در پایتون پیاده سازی کنید، بنابراین
4
00:00:08,099 –> 00:00:09,950
مرتب سازی انتخابی مانند مرتب سازی درج
5
00:00:09,950 –> 00:00:12,630
یک الگوریتم مرتب سازی
6
00:00:12,630 –> 00:00:15,000
ساده با پیاده سازی ساده ای وجود دارد که به راحتی
7
00:00:15,000 –> 00:00:17,670
قابل درک است، اما نکته منفی آن
8
00:00:17,670 –> 00:00:19,529
زمان اجرای درجه دوم است که باعث می شود
9
00:00:19,529 –> 00:00:21,449
در مقایسه با
10
00:00:21,449 –> 00:00:24,300
الگوریتمهای مرتبسازی پیچیدهتر مانند ادغام مرتبسازی، کمی کندتر
11
00:00:24,300 –> 00:00:28,349
است، اما در هر صورت، من فقط میخواهم
12
00:00:28,349 –> 00:00:30,720
یک مثال سریع به شما نشان دهم که باید
13
00:00:30,720 –> 00:00:32,579
نحوه عملکرد این الگوریتم را روشن کند و
14
00:00:32,579 –> 00:00:34,260
پس از آن میتوانیم وارد
15
00:00:34,260 –> 00:00:37,739
پیادهسازی شویم، بنابراین فرض کنید این
16
00:00:37,739 –> 00:00:39,840
لیست شش تایی را داریم. اعداد و ما می خواهیم
17
00:00:39,840 –> 00:00:43,200
آن را مرتب کنیم ایده کلی انتخاب ها برای آن
18
00:00:43,200 –> 00:00:45,719
این است که حداقل را در این لیست پیدا کنید
19
00:00:45,719 –> 00:00:47,910
و آن را در جلو قرار دهید، بنابراین اول از همه می
20
00:00:47,910 –> 00:00:49,559
خواهیم یکی را در این لیست پیدا
21
00:00:49,559 –> 00:00:52,350
کنیم و آن را به اولین عنصر بعد از آن تبدیل
22
00:00:52,350 –> 00:00:53,820
کنیم. برای پیدا کردن این دو و تبدیل آن به
23
00:00:53,820 –> 00:00:57,059
عنصر دوم، بنابراین می توانیم به طور متوالی
24
00:00:57,059 –> 00:01:01,410
یک لیست مرتب شده ایجاد کنیم و
25
00:01:01,410 –> 00:01:05,250
مرتب سازی انتخاب این ایده را با شروع
26
00:01:05,250 –> 00:01:08,700
از عنصر اول اجرا می کند. علامت گذاری آن به عنوان
27
00:01:08,700 –> 00:01:11,189
حداقل فعلی و اکنون
28
00:01:11,189 –> 00:01:13,439
در کل لیست در یک حلقه داخلی تکرار می شود
29
00:01:13,439 –> 00:01:15,689
تا ببیند آیا عنصری وجود دارد که
30
00:01:15,689 –> 00:01:19,290
کمتر از دو باشد، بنابراین بررسی می کند که 6
31
00:01:19,290 –> 00:01:21,240
6 کمتر از 2 نباشد، 5 کمتر از 2 نباشد،
32
00:01:21,240 –> 00:01:24,000
سپس آن عنصر را پیدا می کند. و می بیند که 1
33
00:01:24,000 –> 00:01:26,100
کمتر از 2 است و آن را به عنوان حداقل فعلی لیست علامت گذاری می کند که
34
00:01:26,100 –> 00:01:29,880
اکنون 3 را بررسی می کند و
35
00:01:29,880 –> 00:01:32,820
3 اکنون با یک مقایسه می شود تا ببیند
36
00:01:32,820 –> 00:01:34,829
آیا 3 کمتر از 1 است یا خیر اما در این مورد
37
00:01:34,829 –> 00:01:36,689
هیچ اتفاقی نمی افتد 3 بزرگتر از 1 است. و
38
00:01:36,689 –> 00:01:40,560
4 بزرگتر از 1 2 است و پس از
39
00:01:40,560 –> 00:01:42,240
اتمام تکرار، می دانیم که
40
00:01:42,240 –> 00:01:44,939
1 حداقل کل این لیست است، بنابراین ما
41
00:01:44,939 –> 00:01:49,259
1 و 2 را عوض می کنیم، بنابراین اکنون 1
42
00:01:49,259 –> 00:01:50,939
در ابتدا داریم که
43
00:01:50,939 –> 00:01:53,310
مکان مناسبی برای 1 است. و در
44
00:01:53,310 –> 00:01:56,219
تکرار دوم، 6 را ادامه می دهیم و سعی می کنیم
45
00:01:56,219 –> 00:01:58,920
46
00:01:58,920 –> 00:02:00,960
با انجام دوباره این مقایسه ها، حداقل این قسمت نامرتب لیست را پیدا
47
00:02:00,960 –> 00:02:04,079
کنیم، آن را 5 با 6 مقایسه می کنیم و می
48
00:02:04,079 –> 00:02:06,630
بینیم که 5 کمتر از 6 است، بنابراین 5 را
49
00:02:06,630 –> 00:02:08,940
به عنوان علامت گذاری می کنیم. حداقل فعلی پس می بینیم که
50
00:02:08,940 –> 00:02:11,250
2 کمتر از 5 است و 2 را به عنوان
51
00:02:11,250 –> 00:02:12,760
حداقل فعلی
52
00:02:12,760 –> 00:02:14,739
دریس بزرگتر th علامت گذاری می کنیم یک دو یعنی هیچ اتفاقی نمی
53
00:02:14,739 –> 00:02:16,360
افتد برای بزرگتر از دو است،
54
00:02:16,360 –> 00:02:19,330
بنابراین هیچ اتفاقی نمی افتد و ما با
55
00:02:19,330 –> 00:02:22,120
حلقه داخلی تمام می کنیم و می توانیم دوباره دو
56
00:02:22,120 –> 00:02:24,849
و شش را عوض کنیم تا در تکرار بعدی که با بازار پنج شروع می کنیم، دو را در موقعیت مناسب
57
00:02:24,849 –> 00:02:28,690
در این لیست
58
00:02:28,690 –> 00:02:30,610
قرار دهیم.
59
00:02:30,610 –> 00:02:33,160
همانطور که حداقل فعلی را ببینید که شش
60
00:02:33,160 –> 00:02:36,280
بزرگتر است، هیچ کاری نکنید که 3 کمتر
61
00:02:36,280 –> 00:02:37,959
از 5 است، بنابراین به عنوان یک حداقل فعلی جدید بازاریابی
62
00:02:37,959 –> 00:02:40,390
کنید و ببینید که 4 بزرگتر از 3 است،
63
00:02:40,390 –> 00:02:43,810
بنابراین هیچ اتفاقی نمی افتد و ما می توانیم
64
00:02:43,810 –> 00:02:46,390
پس از این در یک حلقه مبادله را انجام دهیم و آن را عوض کنیم. 3
65
00:02:46,390 –> 00:02:48,310
و 5 تا 3 را در موقعیت مناسب
66
00:02:48,310 –> 00:02:51,190
قرار دهیم و اکنون می توانیم با 6 ادامه دهیم
67
00:02:51,190 –> 00:02:53,560
و به عنوان حداقل فعلی از
68
00:02:53,560 –> 00:02:55,959
همه عناصری که در حال حاضر به ترتیب مرتب نشده اند بازاریابی
69
00:02:55,959 –> 00:02:59,319
کنیم، بنابراین می بینیم که 5 کمتر
70
00:02:59,319 –> 00:03:03,220
از 6 است و ما 5 را به عنوان حداقل فعلی علامت گذاری می کنیم
71
00:03:03,220 –> 00:03:05,739
اما همچنین می بینیم که 4 کمتر
72
00:03:05,739 –> 00:03:08,859
از 5 است بنابراین این به مینیمم قسمت نامرتب تبدیل می شود
73
00:03:08,859 –> 00:03:11,470
و اکنون پس از این
74
00:03:11,470 –> 00:03:15,040
تکرار می توانیم با 4 و 6 تعویض کنیم که
75
00:03:15,040 –> 00:03:17,500
4 را در جای مناسب باقی می گذارد و در واقع
76
00:03:17,500 –> 00:03:21,430
5 را باقی می گذارد. & 6 در جای درست –
77
00:03:21,430 –> 00:03:22,840
اما الگوریتم هنوز آن را نمی داند
78
00:03:22,840 –> 00:03:24,639
الگوریتم به یک تکرار دیگر نیاز دارد
79
00:03:24,639 –> 00:03:28,329
تا ببینیم آیا لیست از قبل
80
00:03:28,329 –> 00:03:31,060
مرتب شده است، بنابراین ما با 5
81
00:03:31,060 –> 00:03:32,709
به عنوان حداقل فعلی قسمت نامرتب علامت گذاری شده
82
00:03:32,709 –> 00:03:37,060
و در مقایسه با 6 قرار گرفتیم و بعد از
83
00:03:37,060 –> 00:03:38,500
این تکرار هیچ اتفاقی نمی افتد و می
84
00:03:38,500 –> 00:03:40,569
بینیم که 5 در سمت راست است. موقعیت و
85
00:03:40,569 –> 00:03:43,690
ما به طور خودکار می دانیم که آخرین
86
00:03:43,690 –> 00:03:45,160