در این مطلب، ویدئو الگوریتم حریص زمانبندی فاصله: پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:06:16
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,009
در این ویدیو می خواهم یک
2
00:00:02,009 –> 00:00:04,740
الگوریتم بسیار جالب و ساده و
3
00:00:04,740 –> 00:00:07,529
نحوه پیاده سازی آن در پایتون را مرور کنم، بنابراین مشکل
4
00:00:07,529 –> 00:00:11,610
این است که با توجه به مجموعه ای از وظایف که در آن هر
5
00:00:11,610 –> 00:00:14,340
کار یک زمان شروع و یک زمان پایان دارد،
6
00:00:14,340 –> 00:00:17,490
می خواهیم بزرگترین زیر مجموعه را محاسبه کنیم.
7
00:00:17,490 –> 00:00:20,130
فواصل غیر همپوشانی،
8
00:00:20,130 –> 00:00:23,340
بنابراین معنی آن این است که ما می خواهیم تا
9
00:00:23,340 –> 00:00:26,430
حد امکان این کارها را انجام دهیم، اما
10
00:00:26,430 –> 00:00:30,590
هیچ یک از آنها نمی توانند با یکدیگر همپوشانی داشته باشند و
11
00:00:30,590 –> 00:00:35,420
نحوه حل این موضوع که می توان ثابت کرد
12
00:00:35,420 –> 00:00:38,489
با توافق الگوریتمی است که
13
00:00:38,489 –> 00:00:40,559
این کار را انتخاب می کنیم. اول با زودترین زمان پایان،
14
00:00:40,559 –> 00:00:45,180
بنابراین در این مورد، این
15
00:00:45,180 –> 00:00:47,340
اولی زودترین زمان پایان را دارد،
16
00:00:47,340 –> 00:00:49,800
به این معنی که ما آن زمان را انتخاب می کنیم و
17
00:00:49,800 –> 00:00:52,050
سپس کاری که می خواهیم انجام دهیم این است که
18
00:00:52,050 –> 00:00:56,520
می خواهیم این مورد دوم و
19
00:00:56,520 –> 00:00:59,160
سوم را حذف کنیم، زیرا از نظر بصری ما به وضوح می توان
20
00:00:59,160 –> 00:01:03,059
دید که آنها با اولی همپوشانی دارند،
21
00:01:03,059 –> 00:01:07,740
به این معنی که زمان پایان
22
00:01:07,740 –> 00:01:12,060
این یکی بیشتر از
23
00:01:12,060 –> 00:01:16,200
زمان شروع این یکی است، درست است که آنها
24
00:01:16,200 –> 00:01:18,270
با هم تداخل نداشته باشند، زمان پایان این
25
00:01:18,270 –> 00:01:20,310
یکی باید کمتر یا مساوی
26
00:01:20,310 –> 00:01:24,259
باشد. زمان شروع کار
27
00:01:24,259 –> 00:01:28,140
دیگر خوب است، بنابراین بیایید سعی کنیم این
28
00:01:28,140 –> 00:01:31,610
راه حل را کدنویسی کنیم و ببینیم من قبلاً
29
00:01:31,610 –> 00:01:42,270
وظایف را در اینجا کپی کرده ام یا چهار
30
00:01:42,270 –> 00:01:44,880
درخواست خود را بنابراین آنچه می خواهیم و
31
00:01:44,880 –> 00:01:47,340
اینها مانند تصویر هستند، برای
32
00:01:47,340 –> 00:01:50,460
مثال یکی از ما آیا این یکی از صفر شروع می
33
00:01:50,460 –> 00:01:54,180
شود و در سه به پایان می رسد بنابراین
34
00:01:54,180 –> 00:01:56,009
اولی زمان شروع است و دومی
35
00:01:56,009 –> 00:02:01,170
زمان پایان است و سپس می خواهیم
36
00:02:01,170 –> 00:02:08,538
همه اینها را در یک لیست یا هشت تا مانند این قرار دهیم
37
00:02:08,538 –> 00:02:11,160
و به یاد داشته باشیم که کاری که می خواهیم انجام دهیم این است که
38
00:02:11,160 –> 00:02:12,720
ما می خواهیم ابتدا زودترین زمان پایان را انتخاب
39
00:02:12,720 –> 00:02:14,819
کنیم، به این معنی که باید آن را مرتب
40
00:02:14,819 –> 00:02:18,269
کنیم و سپس این لیستی از
41
00:02:18,269 –> 00:02:20,280
تاپل ها است و می خواهیم آن را بر اساس عنصر دوم مرتب کنیم،
42
00:02:20,280 –> 00:02:24,000
بنابراین می توان با
43
00:02:24,000 –> 00:02:32,730
استفاده از لامبدا این کار را انجام داد.
44
00:02:32,730 –> 00:02:35,849
با کلید لامبدا با X مرتب کنیم و می
45
00:02:35,849 –> 00:02:38,430
خواهیم با عنصر دوم تاپل مرتب سازی
46
00:02:38,430 –> 00:02:42,269
کنیم و سپس می
47
00:02:42,269 –> 00:02:45,599
خواهیم یک راه حل بهینه داشته باشیم
48
00:02:45,599 –> 00:02:49,200
که آن را o می نامیم و در آنجا وظایف یا
49
00:02:49,200 –> 00:02:51,450
درخواست هایی را که در راه حل بهینه هستند اضافه
50
00:02:51,450 –> 00:02:57,769
می کنیم. بنابراین می خواهیم
51
00:02:57,769 –> 00:03:01,110
زمان بندی نقش w را تعریف کنیم hich مجموعهای از
52
00:03:01,110 –> 00:03:06,709
درخواستها و همچنین لیست خالی را میگیرد و
53
00:03:06,709 –