در این مطلب، ویدئو Python: لیست های پیوندی (سریع) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:05,120 –> 00:00:07,620
سلام من جو جیمز هستم و امروز قصد دارم
2
00:00:07,620 –> 00:00:09,269
به شما معرفی سریع
3
00:00:09,269 –> 00:00:11,730
لیست های پیوندی بدهم و سپس به شما نشان خواهم داد که چگونه
4
00:00:11,730 –> 00:00:15,389
یک لیست پیوندی را در پایتون کدنویسی کنید اکنون هر
5
00:00:15,389 –> 00:00:19,109
گره دارای دو قسمت داده و یک اشاره گر به
6
00:00:19,109 –> 00:00:21,510
قسمت بعدی است. گره اکنون داده ها می توانند بسیار
7
00:00:21,510 –> 00:00:24,000
پیچیده باشند یا در مورد ما فقط می
8
00:00:24,000 –> 00:00:26,330
خواهیم از یک عدد صحیح ساده برای لیست پیوند داده شده خود استفاده کنیم
9
00:00:26,330 –> 00:00:28,650
که مجموعه کاملی از
10
00:00:28,650 –> 00:00:30,689
گره ها است، بنابراین اشاره گر بعدی
11
00:00:30,689 –> 00:00:33,360
همیشه به گره بعدی در لیست اشاره می کند، بنابراین
12
00:00:33,360 –> 00:00:35,010
در اینجا یک لیست پیوندی ساده فقط با
13
00:00:35,010 –> 00:00:37,530
سه گره می توانید ببینید که هر
14
00:00:37,530 –> 00:00:39,930
گره یک عنصر داده و یک اشاره گر به
15
00:00:39,930 –> 00:00:42,450
گره بعدی دارد، اولین گره
16
00:00:42,450 –> 00:00:45,300
گره ریشه نامیده می شود و همیشه یک
17
00:00:45,300 –> 00:00:47,399
اشاره گر به گره ریشه را به عنوان یک متغیر
18
00:00:47,399 –> 00:00:49,559
در لیست پیوندی نگه می دارد. بنابراین ما می توانیم به
19
00:00:49,559 –> 00:00:51,390
اولین گره در لیست دسترسی داشته باشیم و همچنین می توانید
20
00:00:51,390 –> 00:00:53,370
ببینید که آخرین گره در لیست
21
00:00:53,370 –> 00:00:55,410
واقعاً نشانگر بعدی
22
00:00:55,410 –> 00:00:57,989
ندارد زیرا گره بعدی وجود ندارد بنابراین
23
00:00:57,989 –> 00:00:59,699
اشاره گر بعدی تهی خواهد بود یا در پایتون
24
00:00:59,699 –> 00:01:01,530
این خواهد بود. هیچ، بنابراین برخی از
25
00:01:01,530 –> 00:01:02,969
عملیاتی که می خواهیم در لیست پیوندی خود انجام دهیم،
26
00:01:02,969 –> 00:01:03,359
27
00:01:03,359 –> 00:01:06,330
اندازه می شوند پیدا کردن داده اضافه کردن داده و حذف
28
00:01:06,330 –> 00:01:06,960
داده
29
00:01:06,960 –> 00:01:09,450
getsize بسیار ساده است، ما
30
00:01:09,450 –> 00:01:11,220
متغیری را در لیست پیوندی خود نگه می داریم که
31
00:01:11,220 –> 00:01:13,260
اندازه لیست را ردیابی می کند، بنابراین به
32
00:01:13,260 –> 00:01:15,509
سادگی متغیر اندازه را برگردانیم پیدا کردن
33
00:01:15,509 –> 00:01:17,100
داده ها چه کاری باید انجام دهیم.
34
00:01:17,100 –> 00:01:19,200
از ریشه شروع می شود،
35
00:01:19,200 –> 00:01:20,729
مقداری را که در جستجوی آن هستیم مقایسه می کنیم، فرض کنید می
36
00:01:20,729 –> 00:01:23,340
خواهیم 17 را با داده های
37
00:01:23,340 –> 00:01:25,290
گره اول پیدا کنیم، آنها با هم برابر نیستند، بنابراین
38
00:01:25,290 –> 00:01:27,119
به گره بعدی که پیدا کردیم می رویم.
39
00:01:27,119 –> 00:01:29,970
17 پس ما 17 را برمی گردانیم یا اگر به
40
00:01:29,970 –> 00:01:31,380
دنبال مقداری هستیم که در
41
00:01:31,380 –> 00:01:32,880
لیست نیست به جستجو ادامه می دهیم
42
00:01:32,880 –> 00:01:34,350
تا به انتهای لیست برسیم و سپس
43
00:01:34,350 –> 00:01:37,049
null یا false را برمی گردانیم، بنابراین فرض کنید
44
00:01:37,049 –> 00:01:39,000
می خواهیم ابتدا 10 را به لیست خود اضافه می کنیم، ابتدا
45
00:01:39,000 –> 00:01:41,250
یک گره جدید ایجاد می کنیم و 10 را در
46
00:01:41,250 –> 00:01:43,829
بلوک داده قرار می دهیم و اشاره گر بعدی خود را طوری تغییر می دهیم
47
00:01:43,829 –> 00:01:45,329
که به
48
00:01:45,329 –> 00:01:47,189
گره ریشه اشاره کند و سپس اشاره گر ریشه خود را به گونه ای تغییر می
49
00:01:47,189 –> 00:01:49,590
دهیم که به گره 10 ما اشاره می کند،
50
00:01:49,590 –> 00:01:51,990
گره جدید ما این است که عملیات افزودن ما
51
00:01:51,990 –> 00:01:54,299
به پایان رسیده است این است که حذف ساده
52
00:01:54,299 –> 00:01:56,280
ابتدا باید پیدا کنیم، بنابراین اگر می خواهیم
53
00:01:56,280 –> 00:01:58,799
یک 5 را حذف کنیم، فرض کنید f ابتدا باید
54
00:01:58,799 –> 00:02:01,710
5 را پیدا کنیم تا از ریشه شروع کنیم،
55
00:02:01,710 –> 00:02:03,930
10 تا 5 را با هم مقایسه خواهیم
56
00:02:03,930 –> 00:02:06,360
57
00:02:06,360 –> 00:02:09,628
58
00:02:09,628 –> 00:02:11,730
کرد. اشاره گر در گره قبلی ما
59
00:02:11,730 –> 00:02:13,380
به 5
60
00:02:13,380 –> 00:02:15,060
بعدی اکنون نت پنج اساساً
61
00:02:15,060 –> 00:02:17,190
حذف شده است، هنوز هم وجود دارد، اما
62
00:02:17,190 –> 00:02:20,220
از لیست پیوندی ما حذف شده است، حالا بیایید
63
00:02:20,220 –> 00:02:21,660
کد لیست پیوندی خود را در پایتون
64
00:02:21,660 –> 00:02:23,820
بنویسیم، با نوشتن یک کلاس گره شروع می کنیم
65
00:02:23,820 –> 00:02:25,260
زیرا این در واقع بلوک ساختمان است.
66
00:02:25,260 –> 00:02:28,800
برای یک لیست پیوندی ابتدا به یک سازنده نیاز داریم،
67
00:02:28,800 –> 00:02:31,740
بنابراین سازنده ما
68
00:02:31,740 –> 00:02:34,470
دو آرگومان یک قطعه داده D و
69
00:02:34,470 –> 00:02:36,660
گره بعدی را می گیرد، بنابراین گره بعدی n به صورت
70
00:02:36,660 –> 00:02:38,430
پیش فرض روی هیچ خواهد بود، سپس این واقعاً تمام
71
00:02:38,430 –> 00:02:40,260
چیزی است که برای یک شی گره وجود دارد، اکنون ما فقط
72
00:02:40,260 –> 00:02:42,570
به دریافت کننده نیاز داریم. و توابع را
73
00:02:42,570 –> 00:02:50,910
برای داده و گره بعدی تنظیم می کند، مگر اینکه همه
74
00:02:50,910 –> 00:02:52,680
چیز برای شی گره ما وجود داشته باشد، به لطف آن،
75
00:02:52,680 –> 00:02:53,640
باید کلاس لیست پیوندی را بنویسیم،
76
00:02:53,640 –> 00:03:00,480
بنابراین هر لیست پیوندی باید
77
00:03:00,480 –> 00:03:03,660
دو متغیر نمونه یک ریشه داشته باشد، زیرا
78
00:03:03,660 –> 00:03:05,520
برای یافتن به یک اشاره گر نیاز داریم. گره ریشه
79
00:03:05,520 –> 00:03:07,770
در اندازه است بیایید بنویسیم سازنده
80
00:03:07,770 –> 00:03:10,200
ما اساساً متغیرهایی را
81
00:03:10,200 –> 00:03:12,510
برای ریشه تنظیم می کند در اند