در این مطلب، ویدئو Leetcode – Clone Graph (Python) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:06:26
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,640 –> 00:00:02,879
به چالش لگو اکتبر خوش آمدید
2
00:00:02,879 –> 00:00:04,799
مشکل امروز این است که گراف شبیه سازی
3
00:00:04,799 –> 00:00:06,319
شده با ارجاع به یک گره در یک
4
00:00:06,319 –> 00:00:08,000
گراف غیر جهت دار متصل،
5
00:00:08,000 –> 00:00:11,280
یک کلون کپی عمیق از گراف را برمی گرداند.
6
00:00:11,280 –> 00:00:13,599
7
00:00:13,599 –> 00:00:14,799
8
00:00:14,799 –> 00:00:17,520
9
00:00:17,520 –> 00:00:19,520
جزئیاتی در مورد اینکه چگونه آنها می خواهند ما
10
00:00:19,520 –> 00:00:20,960
این کار را انجام دهیم، اما خلاصه
11
00:00:20,960 –> 00:00:23,039
ما این نمودار متصل را داریم که به این معنی است
12
00:00:23,039 –> 00:00:24,800
که می توانیم هر گره را
13
00:00:24,800 –> 00:00:28,080
از هر گره به سمت دیگر حرکت کنیم و می خواهیم
14
00:00:28,080 –> 00:00:29,599
هر یک از این گره ها و همچنین همسایگانش را بازسازی کنیم
15
00:00:29,599 –> 00:00:30,320
16
00:00:30,320 –> 00:00:33,440
و سپس خوب است،
17
00:00:33,440 –> 00:00:36,079
بنابراین پاسخ بسیار گستاخانه به این این است که چگونه
18
00:00:36,079 –> 00:00:37,840
می توانم این کار را در زندگی واقعی به خوبی انجام دهم،
19
00:00:37,840 –> 00:00:39,680
20
00:00:39,680 –> 00:00:42,160
البته از کپی عمیق استفاده خواهم کرد
21
00:00:42,160 –> 00:00:44,719
و فقط آن را برگردانم و از
22
00:00:44,719 –> 00:00:46,559
روی کنجکاوی آیا این کار
23
00:00:46,559 –> 00:00:50,719
واقعاً کار خواهد کرد.
24
00:00:50,719 –> 00:00:53,120
ما به آنجا می رویم اما بدیهی است که این
25
00:00:53,120 –> 00:00:55,120
هرگز در یک مصاحبه پرواز
26
00:00:55,120 –> 00:00:57,440
نمی کند آنها از ما می خواهند که واقعاً این کار را به صورت دستی انجام دهیم،
27
00:00:57,440 –> 00:00:58,800
28
00:00:58,800 –> 00:01:00,640
بنابراین بیایید به این فکر کنیم که چگونه این کار ممکن است
29
00:01:00,640 –> 00:01:02,480
30
00:01:02,480 –> 00:01:02,879
31
00:01:02,879 –> 00:01:04,879
انجام شود.
32
00:01:04,879 –> 00:01:06,960
نحوه توصیف آن کمی گیج کننده است، اما
33
00:01:06,960 –> 00:01:08,799
اساساً هر یک از این
34
00:01:08,799 –> 00:01:11,920
لیست ها نشان دهنده همسایگان است و هر
35
00:01:11,920 –> 00:01:13,920
شماره شاخص
36
00:01:13,920 –> 00:01:15,600
خود گره را نشان می دهد،
37
00:01:15,600 –> 00:01:17,680
بنابراین این در واقع
38
00:01:17,680 –> 00:01:21,280
گره یک گره دو گره سه گره چهار است،
39
00:01:21,280 –> 00:01:23,600
بنابراین اگر ما این کار را به صورت بازگشتی انجام دادیم و ابتدا یک
40
00:01:23,600 –> 00:01:25,920
جستجوی عمقی انجام دادیم که چه اتفاقی میافتد
41
00:01:25,920 –> 00:01:27,840
خوب میتوانیم تصور کنیم که ممکن است
42
00:01:27,840 –> 00:01:29,840
از اولین گره شروع کنیم و سپس به همسایگان سفر کنیم،
43
00:01:29,840 –> 00:01:31,840
بنابراین این یکی به دو میرود،
44
00:01:31,840 –> 00:01:34,000
خوب ما به اینجا میرویم، اکنون این یکی
45
00:01:34,000 –> 00:01:35,200
باید به یکی برگردد.
46
00:01:35,200 –> 00:01:36,720
اما بگویید که ما نوعی مجموعه داشتیم
47
00:01:36,720 –> 00:01:38,799
که میگفت خوب فقط به مواردی بروید
48
00:01:38,799 –> 00:01:40,000
که ندیدهایم،
49
00:01:40,000 –> 00:01:41,759
پس از آن به سه میپریم، سپس
50
00:01:41,759 –> 00:01:43,920
به چهار میپریم و عالی است، اکنون چهار
51
00:01:43,920 –> 00:01:46,640
داریم، همه چیز را دیدهایم، بیایید
52
00:01:46,640 –> 00:01:47,920
گره خود را مقداردهی اولیه کنیم. در اینجا
53
00:01:47,920 –> 00:01:50,079
اما یک مشکل وجود دارد و مشکل این
54
00:01:50,079 –> 00:01:52,560
است که بله، ما میتوانیم گره چهار خود را مقداردهی اولیه کنیم،
55
00:01:52,560 –> 00:01:54,960
مشکلی نیست، اما در مورد همسایههای آن
56
00:01:54,960 –> 00:01:57,520
یک و سه، آنها هنوز در
57
00:01:57,520 –> 00:01:58,960
پشته هستند و هنوز مقداردهی اولیه
58
00:01:58,960 –> 00:02:00,320
نشدهاند،
59
00:02:00,320 –> 00:02:01,920
این یک مشکل است، زیرا چگونه ar اگر
60
00:02:01,920 –> 00:02:03,040
61
00:02:03,040 –> 00:02:04,560
آنها را مقداردهی اولیه نکردهایم، به آنها ارجاع میدهیم،
62
00:02:04,560 –> 00:02:06,640
بنابراین این یک مفهوم کلیدی است در اینجا
63
00:02:06,640 –> 00:02:07,840
شماره یک،
64
00:02:07,840 –> 00:02:10,959
ما باید ارجاع به گره را مقداردهی کنیم
65
00:02:10,959 –> 00:02:14,080
و متأسفانه باید این
66
00:02:14,080 –> 00:02:16,800
کار را بدون همسایههای آن انجام دهیم،
67
00:02:16,800 –> 00:02:19,520
بنابراین اساساً همان چیزی است که من فکر میکنم. این کار این است
68
00:02:19,520 –> 00:02:20,800
که ابتدا یک جستجوی عمقی
69
00:02:20,800 –> 00:02:22,560
انجام دهیم، اما خود گره را
70
00:02:22,560 –> 00:02:25,200
بدون هیچ همسایه ای مقداردهی اولیه می
71
00:02:25,200 –> 00:02:28,640
72
00:02:28,640 –> 00:02:31,680
کنیم و با استفاده از جستجوی اولیه بدهی خود، این لیست همسایه را تازه ایجاد می کنیم و
73
00:02:31,680 –> 00:02:33,760
با استفاده از
74
00:02:33,760 –> 00:02:35,440
دیکشنری خود می خواهیم ببینیم که آیا ما قبلاً آن را دیدهام،
75
00:02:35,440 –> 00:02:36,000
76
00:02:36,000 –> 00:02:37,680
اگر داشته باشیم، میتوانیم از آن فرهنگ لغت استفاده کنیم تا
77
00:02:37,680 –> 00:02:40,239
ببینیم به کجا اشاره میکند،
78
00:02:40,239 –> 00:02:43,360
بنابراین میتوانیم گرهای را که مقداردهی اولیه کردهایم
79
00:02:43,360 –> 00:02:46,319
به فهرست همسایگان جدیدمان اضافه کنیم
80
00:02:46,319 –> 00:02:48,080
81
00:02:48,080 –> 00:02:51,599
و همسایههای جدید
82
00:02:51,599 –> 00:02:53,680
مانند آن را بسازیم، بنابراین من نشان خواهم داد. منظور من چیست،
83
00:02:53,680 –> 00:02:54,720
اجازه دهید
84
00:02:54,720 –> 00:02:58,239
ابتدا با
85
00:02:58,239 –> 00:03