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