در این مطلب، ویدئو تجسم الگوریتم های مرتب سازی در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:09:23
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,230 –> 00:00:09,120
[موسیقی]
2
00:00:09,120 –> 00:00:10,639
چه اتفاقی میافتد بچهها به بازگشت در این ویدیو خوش آمدید،
3
00:00:10,639 –> 00:00:11,920
ما میخواهیم
4
00:00:11,920 –> 00:00:13,679
الگوریتمهای مرتبسازی را در پایتون تجسم کنیم،
5
00:00:13,679 –> 00:00:15,280
چیز سادهای مانند
6
00:00:15,280 –> 00:00:16,640
مرتبسازی حبابی یا چیزی کمی
7
00:00:16,640 –> 00:00:18,160
پیچیدهتر مانند مرتبسازی ادغام میکنیم و
8
00:00:18,160 –> 00:00:20,320
میخواهیم آن را با استفاده از matplotlib تجسم کنید،
9
00:00:20,320 –> 00:00:21,760
بنابراین تمرکز روی
10
00:00:21,760 –> 00:00:24,000
خود الگوریتمها نیست، بلکه
11
00:00:24,000 –> 00:00:25,920
روی تصویرسازی انیمیشن
12
00:00:25,920 –> 00:00:28,000
مرتبسازی در پایتون است، بنابراین کاری که
13
00:00:28,000 –> 00:00:29,439
میخواهیم انجام دهیم این است که یک
14
00:00:29,439 –> 00:00:31,519
فایل پایتون جدید باز کنیم. دوباره cmd را باز
15
00:00:31,519 –> 00:00:33,520
می کنیم و اگر
16
00:00:33,520 –> 00:00:35,320
قبلاً آن را ندارید
17
00:00:35,320 –> 00:00:38,640
matplotlib و numpy را نصب می کنیم، این دو
18
00:00:38,640 –> 00:00:40,079
کتابخانه ای هستند که برای آن
19
00:00:40,079 –> 00:00:42,399
numpy فقط برای ایجاد یک لیست و math.lib
20
00:00:42,399 –> 00:00:44,399
برای تجسم آن نیاز داریم. مرتب سازی ما خودمان می خواهیم
21
00:00:44,399 –> 00:00:46,079
الگوریتم های مرتب سازی را بنویسیم
22
00:00:46,079 –> 00:00:48,719
اگر می خواهید اطلاعات
23
00:00:48,719 –> 00:00:50,399
بیشتری در مورد
24
00:00:50,399 –> 00:00:51,680
خود الگوریتم ها داشته باشید، می توانید مجموعه
25
00:00:51,680 –> 00:00:53,360
آموزش الگوریتم ها و ساختار داده های من را بررسی کنید،
26
00:00:53,360 –> 00:00:56,320
جایی که من بخشی در مورد
27
00:00:56,320 –> 00:00:58,079
الگوریتم های مرتب سازی دارم و همچنین
28
00:00:58,079 –> 00:01:00,480
فکر می کنم مشخص کنید c ویدیو در مورد الگوریتم مرتب سازی ادغام
29
00:01:00,480 –> 00:01:02,800
در پایتون بنابراین کاری که می خواهیم
30
00:01:02,800 –> 00:01:04,559
انجام دهیم ابتدا
31
00:01:04,559 –> 00:01:06,720
matplotlib
32
00:01:06,720 –> 00:01:08,320
dot pi نمودار را
33
00:01:08,320 –> 00:01:11,439
به صورت plt وارد می کنیم و numpy snp را وارد می کنیم
34
00:01:11,439 –> 00:01:13,200
35
00:01:13,200 –> 00:01:15,040
و اکنون به الگوریتم مرتب سازی حبابی اولیه می رویم.
36
00:01:15,040 –> 00:01:16,479
بنابراین میخواهیم بگوییم لیست
37
00:01:16,479 –> 00:01:19,759
برابر است با np
38
00:01:20,280 –> 00:01:23,439
random.randint از یک محدوده به صفر از
39
00:01:23,439 –> 00:01:25,119
صفر تا صد که میخواهیم
40
00:01:25,119 –> 00:01:27,439
تولید کنیم، به عنوان مثال با 15 عدد
41
00:01:27,439 –> 00:01:28,560
42
00:01:28,560 –> 00:01:30,880
شروع میکنیم و سپس فقط میگوییم x پس
43
00:01:30,880 –> 00:01:32,720
مقادیر x are
44
00:01:32,720 –> 00:01:34,560
45
00:01:34,560 –> 00:01:38,640
np محدوده ای از محدوده 0 تا
46
00:01:38,640 –> 00:01:41,280
15 با اندازه گام یک،
47
00:01:41,280 –> 00:01:44,560
شاید باید یک
48
00:01:44,560 –> 00:01:46,240
متغیر مقدار در اینجا داشته باشیم که آن را
49
00:01:46,240 –> 00:01:48,479
روی 15 تنظیم می کنیم، سپس
50
00:01:48,479 –> 00:01:50,560
آن را با یک
51
00:01:50,560 –> 00:01:52,640
mount جایگزین می کنیم. آن را با یک mount
52
00:01:52,640 –> 00:01:53,520
نیز قرار دهید
53
00:01:53,520 –> 00:01:54,720
و کاری که اکنون میخواهیم انجام دهیم این است
54
00:01:54,720 –> 00:01:56,240
که میخواهیم بگوییم
55
00:01:56,240 –> 00:01:59,840
n طول لیست خواهد بود
56
00:01:59,840 –> 00:02:02,640
و برای i در محدوده،
57
00:02:02,640 –> 00:02:04,079
و ما در کل لیست را تکرار میکنیم.
58
00:02:04,079 –> 00:02:05,680
و در داخل آن البته
59
00:02:05,680 –> 00:02:07,200
ما یک حلقه دیگر داریم که این
60
00:02:07,200 –> 00:02:09,520
الگوریتم پایه درجه دوم مرتب سازی حباب است
61
00:02:09,520 –> 00:02:11,200
بنابراین برای j در
62
00:02:11,200 –> 00:02:13,760
محدوده و این می شود f rom صفر تا n منهای
63
00:02:13,760 –> 00:02:15,680
من منهای یک، بنابراین بسته به اینکه چقدر
64
00:02:15,680 –> 00:02:17,760
قبلا پردازش کرده ایم، کاری که می
65
00:02:17,760 –> 00:02:19,920
خواهیم انجام دهیم این است که فقط لیست را رسم می
66
00:02:19,920 –> 00:02:21,920
کنیم، بنابراین می خواهیم بگوییم نوار Plt بنابراین هر
67
00:02:21,920 –> 00:02:23,840
چوب می شود یک عدد در
68
00:02:23,840 –> 00:02:25,840
موقعیت مربوطه،
69
00:02:25,840 –> 00:02:27,440
x را به عنوان مقادیر در اینجا پاس می کنیم تا
70
00:02:27,440 –> 00:02:29,360
چند تیک داشته باشیم و
71
00:02:29,360 –> 00:02:31,120
لیست را به عنوان اعداد پاس می کنیم
72
00:02:31,120 –> 00:02:33,200
و سپس فقط می گوییم plt
73
00:02:33,200 –> 00:02:34,560
pause این می رود. برای ایجاد یک
74
00:02:34,560 –> 00:02:38,000
انیمیشن بنابراین 0.01 به عنوان مثال فقط
75
00:02:38,000 –> 00:02:39,920
یک عدد خیلی کوچک را انتخاب نکنید زیرا
76
00:02:39,920 –> 00:02:41,200
در این صورت یک صفحه عریض می بینید و
77
00:02:41,200 –> 00:02:42,800
هیچ اتفاقی نمی افتد
78
00:02:42,800 –> 00:02:44,160
79
00:02:44,160 –> 00:02:45,680
و اساساً کاری که ما می خواهیم انجام دهیم این
80
00:02:45,680 –> 00:02:47,200
است که می رویم. برای پاک کردن صفحه
81
00:02:47,200 –> 00:02:48,720
بعد از هر ترسیم به طوری که
82
00:02:48,720 –> 00:02:51,120
همه میله ها را همزمان
83
00:02:51,120 –> 00:02:52,800
نداشته باشیم، بنابراین نمودارهای قبلی را نادیده
84
00:02:52,800 –> 00:02:55,120
نگیریم، می خواهیم یک رقم واضح
85
00:02:55,120 –> 00:02:56,480
بنام
86
00:02:56,480 –> 00:02:58,239
clf و هنگامی که
87
00:02:58,239 –> 00:03:00,000
این کار انجام شد، باید در واقع بررسی را انجام دهید،
88
00:03:00,000 –> 00:03:02,080
بنابراین
89
00:03:02,080 –> 00:03:05,360
اگر مورد در موقعیت j بزرگتر از
90
00:03:05,360 –> 00:03:06,879
مورد بعدی
91
00:03:06,879 –> 00:03:09,280
در j به اضافه یک باشد، ما این دو را عوض
92
00:03:09,280 –> 00:03:10,959
می کنیم. o
93
00:03:10,959 –> 00:03:13,840
اعداد پس j و
94
00:03:13,840 –> 00:03:15,920
j به اضافه یک را عوض کنید تا بگوییم
95
00:03:15,920 –> 00:03:18,720
j و j به علاوه یک برابر است با j به علاوه یک
96
00:03:18,720 –> 00:03:20,319
و j
97
00:03:20,319 –> 00:03:22,239
دوباره در مورد الگوریتم صحبت نمی کنیم،
98
00:03:22,239 –> 00:03:25,120
لزوماً در اینجا خود ما
99
00:03:25,120 –> 00:03:26,879
فقط می خواهیم
100
00:03:26,879 –> 00:03:29,760
رسم کنیم. و وقتی کارمان تمام شد،
101
00:03:29,760 –> 00:03:31,440
میخواهیم آن را
102
00:03:31,440 –> 00:03:33,519
نمایش بنامیم،
103
00:03:33,519 –> 00:03:35,440
بنابراین وقتی اکنون این را اجرا میکنم، باید بتوانیم
104
00:03:35,440 –> 00:03:38,000
105
00:03:38,159 –> 00:03:39,599
مرتبسازی را ببینیم، همانطور که میبینید
106
00:03:39,599 –> 00:03:41,760
مرتبسازی حبابی چگونه کار میکند، میتوانیم
107
00:03:41,760 –> 00:03:43,840
ببینیم که همیشه به یک فرد نیاز دارد. چوب
108
00:03:43,840 –> 00:03:45,599
آن را مقایسه می کند و سپس آن را به سمت راست حرکت می دهد
109
00:03:45,599 –> 00:03:47,280
تا زمانی که چیزی بزرگتر پیدا کند
110
00:03:47,280 –> 00:03:49,120
سپس آن را به سمت راست حرکت می دهد
111
00:03:49,120 –> 00:03:51,200
و بعد از مدتی که
112
00:03:51,200 –> 00:03:53,040
قرار است کل لیست را مرتب کند،
113
00:03:53,040 –> 00:03:54,640
اکنون انیمیشن بسیار کند است، می توانید
114
00:03:54,640 –> 00:03:58,000
با آن بازی کنید. زمان مکث، امم،
115
00:03:58,000 –> 00:03:58,799
اما
116
00:03:58,799 –> 00:04:01,840
اساساً این کار اکنون انجام شده است و
117
00:04:01,840 –> 00:04:03,920
وقتی تمام شد، فقط در آنجا می ماند
118
00:04:03,920 –> 00:04:05,519
و هیچ کاری انجام نمی دهد، فقط به
119
00:04:05,519 –> 00:04:07,840
شما نشان می دهد که اکنون البته ما می توانیم این کار را انجام دهیم،
120
00:04:07,840 –> 00:04:09,519
اجازه دهید ابتدا با این زمان
121
00:04:09,519 –> 00:04:11,360
در اینجا بازی کنم، شاید بتوانیم سرعت بیشتری داشته باشیم. آن را
122
00:04:11,360 –> 00:04:12,959
123
00:04:12,959 –> 00:04:16,320
کمی بالا اوم بله، کمی حداقل
124
00:04:16,320 –> 00:04:17,759
بنابراین این کاری است که شما می توانید انجام دهید و البته
125
00:04:17,759 –> 00:04:19,680
می توانید آن را با ده مقدار
126
00:04:19,680 –> 00:04:21,519
انجام دهید، می توانید آن را با صد مقدار انجام دهید، بنابراین من می توانم
127
00:04:21,519 –> 00:04:23,199
این را روی صد اجرا کنم، ما
128
00:04:23,199 –> 00:04:24,720
منتظر نمی مانیم تا تمام شود، اما شما اینگونه
129
00:04:24,720 –> 00:04:27,120
هستید میتوانید این کار را انجام دهید
130
00:04:27,120 –> 00:04:28,880
131
00:04:28,880 –> 00:04:30,400
و البته اگر میخواهید خلاق
132
00:04:30,400 –> 00:04:32,080
باشید، کاری که میتوانید انجام دهید این است که میتوانید یک
133
00:04:32,080 –> 00:04:34,960
آرایه یا فهرستی با رنگهای مختلف ارسال کنید،
134
00:04:34,960 –> 00:04:37,520
بنابراین اساساً میتوانید بگویید
135
00:04:37,520 –> 00:04:38,880
اوم یکی را که در حال حاضر مقایسه میکنیم بردارید
136
00:04:38,880 –> 00:04:40,880
و بسازید. آن را قرمز کنید یا
137
00:04:40,880 –> 00:04:42,320
چیزی به طوری که ما همیشه بدانیم
138
00:04:42,320 –> 00:04:44,000
دقیقاً چه چیزی در حال حرکت
139
00:04:44,000 –> 00:0