در این مطلب، ویدئو توضیح الگوریتم جستجوی دودویی (کد کامل گنجانده شده است) – سری الگوریتم های پایتون برای مبتدیان با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:06:26
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:01,770
سلام به همه خوش آمدید اگر
2
00:00:01,770 –> 00:00:03,540
این اولین باری است که در اینجا نام من
3
00:00:03,540 –> 00:00:05,250
درک است و من آموزش های برنامه نویسی پایتون را پوشش دادم
4
00:00:05,250 –> 00:00:07,350
و در این یک
5
00:00:07,350 –> 00:00:09,150
درس مختصری در مورد نحوه شروع استفاده از
6
00:00:09,150 –> 00:00:11,250
الگوریتم جستجوی باینری داریم، بیایید به یک
7
00:00:11,250 –> 00:00:13,380
انیمیشن نگاه کنیم تا ببینیم چگونه این one works
8
00:00:13,380 –> 00:00:15,289
[Music
9
00:00:15,289 –> 00:00:17,970
] هدف الگوریتم جستجوی باینری
10
00:00:17,970 –> 00:00:19,380
این است که از طریق یک دنباله از قبل مرتب شده نگاه
11
00:00:19,380 –> 00:00:21,330
کند و تعیین کند که آیا موردی
12
00:00:21,330 –> 00:00:22,650
که به دنبال آن هستیم در آن
13
00:00:22,650 –> 00:00:24,810
دنباله است یا خیر در این مثال ما به
14
00:00:24,810 –> 00:00:26,369
دنبال عدد 7 در این هستیم.
15
00:00:26,369 –> 00:00:28,199
ترتیبی که این کار را انجام می دهیم به این صورت است که
16
00:00:28,199 –> 00:00:30,330
اگر
17
00:00:30,330 –> 00:00:31,650
موردی که به دنبال آن هستیم بالاتر باشد، نقطه وسط دنباله خود را می گیریم،
18
00:00:31,650 –> 00:00:33,450
سپس آیتم های سمت راست را انتخاب می کنیم تا
19
00:00:33,450 –> 00:00:35,370
مقایسه بعدی را انجام دهیم اگر پایین تر است،
20
00:00:35,370 –> 00:00:36,870
سپس آیتم های سمت چپ را انتخاب می کنیم.
21
00:00:36,870 –> 00:00:38,700
در نهایت متوجه خواهیم شد که آیا
22
00:00:38,700 –> 00:00:40,170
دنباله او مورد مورد نظر ما را دارد
23
00:00:40,170 –> 00:00:41,850
زیرا نقطه وسط آنها
24
00:00:41,850 –> 00:00:43,320
یا برابر با آن آیتم خواهد بود
25
00:00:43,320 –> 00:00:45,840
یا به موردی می رسیم که هیچ موردی
26
00:00:45,840 –> 00:00:47,579
در سمت چپ یا راست آن باقی نمانده است که می توانیم
27
00:00:47,579 –> 00:00:49,530
جستجو کنیم. ما آن را پیدا می کنیم m که
28
00:00:49,530 –> 00:00:51,090
ما در دنباله خود به دنبال آن هستیم، باید
29
00:00:51,090 –> 00:00:52,800
الگوریتم را متوقف کنیم و سپس
30
00:00:52,800 –> 00:00:55,050
موقعیت آن مورد را برگردانیم، اگر میخواهید
31
00:00:55,050 –> 00:00:56,670
این مورد را به تنهایی کدنویسی کنید، میتوانید
32
00:00:56,670 –> 00:00:58,230
ویدیو را در اینجا مکث کنید و
33
00:00:58,230 –> 00:01:00,390
برگردید، بیایید به پایتون بپریم. راه حل
34
00:01:00,390 –> 00:01:02,870
برای
35
00:01:02,990 –> 00:01:04,700
این یکی چند راه مختلف است که می توانید
36
00:01:04,700 –> 00:01:06,170
این الگوریتم را کدنویسی کنید، اما من آن را به
37
00:01:06,170 –> 00:01:08,330
روش تکراری در اینجا کد می کنم، شما همچنین می توانید
38
00:01:08,330 –> 00:01:10,340
این را به صورت بازگشتی کدنویسی کنید و مانند همه
39
00:01:10,340 –> 00:01:12,530
ویدیوهای الگوریتم دیگر من سعی می کنم این را به گونه ای کدنویسی
40
00:01:12,530 –> 00:01:14,420
کنم که برای مبتدی منطقی باشد. اگر
41
00:01:14,420 –> 00:01:16,070
میتوانید آن را بهینه کنید،
42
00:01:16,070 –> 00:01:18,170
نسخه بهینهشده را در نظرات ارسال کنید، اما
43
00:01:18,170 –> 00:01:20,120
ما تابع خود را ایجاد میکنیم،
44
00:01:20,120 –> 00:01:23,450
جستجوی باینری را میگوییم و این دو آرگومان طول میکشد،
45
00:01:23,450 –> 00:01:26,210
ما یک دنباله خواهیم داشت و
46
00:01:26,210 –> 00:01:28,160
سپس موردی که به دنبال آن هستیم.
47
00:01:28,160 –> 00:01:29,780
میخواهیم موقعیت وسط را در هر
48
00:01:29,780 –> 00:01:31,520
تکرار پیدا کنیم، باید بدانیم موقعیت شروع
49
00:01:31,520 –> 00:01:33,830
در موقعیت پایانی این کار را انجام
50
00:01:33,830 –> 00:01:37,460
میدهیم با گفتن اینکه شاخص شروع برابر
51
00:01:37,460 –> 00:01:41,960
با صفر خواهد بود و سپس شاخص پایان
52
00:01:41,960 –> 00:01:44,830
برابر طول دنباله ما منهای یک خواهد بود،
53
00:01:44,830 –> 00:01:47,540
بنابراین این فقط یک پیشفرض یا گفتن ما
54
00:01:47,540 –> 00:01:50,060
با اولین عنصر شروع میکنیم و
55
00:01:50,060 –> 00:01:52,550
با آخرین عنصر پایان میدهیم که در اینجا میگوییم منهای یک،
56
00:01:52,550 –> 00:01:54,800
زیرا به یاد داشته باشید که پایتون از
57
00:01:54,800 –> 00:01:57,619
موقعیت نمایهسازی صفر شروع میشود، اکنون
58
00:01:57,619 –> 00:02:02,240
میگوییم در حالی که ایندکس شروع کمتر یا
59
00:02:02,240 –> 00:02:06,470
مساوی با شاخص پایانی است. موقعیت بنابراین تا
60
00:02:06,470 –> 00:02:09,288
زمانی که این عدد کمتر از این عدد باشد،
61
00:02:09,288 –> 00:02:13,820
می گوییم نقطه میانی برابر است با
62
00:02:13,820 –> 00:02:17,900
شاخص شروع به اضافه بقیه
63
00:02:17,900 –> 00:02:20,270
موارد در لیست، بنابراین می توانیم به این نتیجه برسیم که با
64
00:02:20,270 –> 00:02:24,770
گفتن شاخص پایان منهای شاخص شروع،
65
00:02:24,770 –> 00:02:26,420
تقسیم بندی بدون آن انجام می شود. یک
66
00:02:26,420 –> 00:02:29,120
تقسیم کف باقیمانده با انجام دو اسلش
67
00:02:29,120 –> 00:02:31,160
و سپس نقطه میانی را میخواهیم، بنابراین فق
68
00:02:31,160 –> 00:02:33,560
دو را قرار میدهیم، بنابراین آنچه میگوییم این است که
69
00:02:33,560 –> 00:02:35,660
قطه میانی باید موقعیت وسط بی
70
00:02:35,660 –> 00:02:38,450
شاخص ابتدایی ما و ب
71
00:02:38,450 –> 00:02:40,610
یه موارد در دنباله ما با
72
00:02:40,610 –> 00:02:42,770
د. اکنون باید مقدار این
73
00:02:42,770 –> 00:02:44,630
نقطه میانی را با مق