1 00:00:00,000 --> 00:00:03,381 >> [მუსიკის დაკვრა] 2 00:00:03,381 --> 00:00:04,604 3 00:00:04,604 --> 00:00:05,520 DOUG LLOYD ყველა უფლება. 4 00:00:05,520 --> 00:00:07,860 ასე რომ, თუ თქვენ უბრალოდ დასრულდა, რომ ვიდეო საგნით დაკავშირებული სიები ბოდიში 5 00:00:07,860 --> 00:00:09,568 დავტოვე თქვენ ფასდაკლებას ცოტა cliffhanger. 6 00:00:09,568 --> 00:00:12,790 მაგრამ მოხარული ვარ, რომ თქვენ აქ დასრულდება ამბავი ორმაგად დაკავშირებული სიები. 7 00:00:12,790 --> 00:00:15,250 >> ასე რომ, თუ გახსოვთ, რომ ვიდეო, ჩვენ ვისაუბრეთ 8 00:00:15,250 --> 00:00:18,500 იმაზე, თუ როგორ საგნით დაკავშირებული სიები ამის დასასწრებად ჩვენი უნარი 9 00:00:18,500 --> 00:00:22,090 გაუმკლავდეთ ინფორმაცია სადაც რაოდენობის ელემენტები 10 00:00:22,090 --> 00:00:24,442 ან რაოდენობის ნივთები სია შეგიძლიათ იზრდება ან მცირდება. 11 00:00:24,442 --> 00:00:26,400 ახლა ჩვენ შეგვიძლია გავუმკლავდეთ ასე რომ, სადაც 12 00:00:26,400 --> 00:00:28,310 ჩვენ ვერ გაუმკლავდეთ მას მასივები. 13 00:00:28,310 --> 00:00:30,560 >> მაგრამ ისინი არ განიცდიან ერთი კრიტიკული შეზღუდვა, რომელიც 14 00:00:30,560 --> 00:00:33,790 ის არის, რომ ერთად საგნით დაკავშირებული სია, ჩვენ შეგვიძლია მხოლოდ ოდესმე გადასვლის 15 00:00:33,790 --> 00:00:36,200 ერთი მიმართულებით მეშვეობით სიაში. 16 00:00:36,200 --> 00:00:39,010 და ერთადერთი რეალური სიტუაცია სადაც ეს შეიძლება გახდეს პრობლემა 17 00:00:39,010 --> 00:00:41,250 იყო, როცა ჩვენ ცდილობს წაშლა ერთ ელემენტს. 18 00:00:41,250 --> 00:00:46,000 და ჩვენ კი არ განიხილავენ, თუ როგორ უნდა გავაკეთოთ ეს ერთი საგნით დაკავშირებული სიაში pseudocode. 19 00:00:46,000 --> 00:00:48,797 რა თქმა უნდა, შესაძლებელია, მაგრამ ეს შეიძლება იყოს ცოტა hassle. 20 00:00:48,797 --> 00:00:50,630 ასე რომ, თუ თქვენ აღმოჩნდეთ ამ სიტუაციაში, როდესაც 21 00:00:50,630 --> 00:00:53,175 თქვენ ცდილობთ წაშლა ერთ ელემენტების სია 22 00:00:53,175 --> 00:00:55,430 ან ის იქნება საჭირო რომ თქვენ უნდა წაშლის 23 00:00:55,430 --> 00:00:57,970 ერთ ელემენტები სია, დაგვჭირდება 24 00:00:57,970 --> 00:01:02,090 განიხილოს გამოყენებით ორმაგად დაკავშირებული მიუთითეთ ნაცვლად საგნით დაკავშირებული სიაში. 25 00:01:02,090 --> 00:01:06,320 იმის გამო, რომ ორმაგად დაკავშირებული სიები საშუალებას გაძლევთ გადაადგილება ორივე ფორვარდები და უკან 26 00:01:06,320 --> 00:01:09,340 მეშვეობით სიაში ნაცვლად მხოლოდ ნაბიჯია მეშვეობით list-- 27 00:01:09,340 --> 00:01:13,950 უბრალოდ შეავსოთ ერთი დამატებითი ელემენტი ჩვენი სტრუქტურა განმარტება 28 00:01:13,950 --> 00:01:16,690 რომ ორმაგად დაკავშირებული სიაში კვანძის. 29 00:01:16,690 --> 00:01:19,770 >> კიდევ ერთხელ, თუ არ ვაპირებთ უნდა წაშლის ერთი ელემენტები 30 00:01:19,770 --> 00:01:24,810 საწყისი list-- იმიტომ, რომ ჩვენ ვამატებთ დამატებითი სფეროში ჩვენი სტრუქტურა 31 00:01:24,810 --> 00:01:28,340 განმარტება, კვანძების თავს ამისთვის ორმაგად დაკავშირებული სიები 32 00:01:28,340 --> 00:01:29,550 ვაპირებთ, რომ იყოს უფრო დიდი. 33 00:01:29,550 --> 00:01:31,600 ისინი აპირებს up მეტი ბაიტი მეხსიერება. 34 00:01:31,600 --> 00:01:34,160 ასე რომ, თუ ეს არ არის რაღაც თქვენ აპირებთ უნდა გავაკეთოთ, 35 00:01:34,160 --> 00:01:36,300 თქვენ შეიძლება გადაწყვიტოს, რომ ეს არ ღირს ვაჭრობის 36 00:01:36,300 --> 00:01:39,360 უნდა დახარჯოს ზედმეტი ბაიტი მეხსიერება საჭირო 37 00:01:39,360 --> 00:01:43,940 ამისთვის ორმაგად უკავშირდება სიაში, თუ თქვენ არ იქნება წაშლის ერთი ელემენტებს. 38 00:01:43,940 --> 00:01:46,760 მაგრამ ისინი ასევე cool სხვა რამ, ძალიან. 39 00:01:46,760 --> 00:01:51,260 >> ასე რომ, როგორც ვთქვი, ჩვენ უბრალოდ უნდა დაამატოთ ერთი სფეროში ჩვენი სტრუქტურა 40 00:01:51,260 --> 00:01:55,360 definition-- ეს ცნება წინა მაჩვენებელი. 41 00:01:55,360 --> 00:01:58,620 ამრიგად საგნით დაკავშირებული სიაში, ჩვენ აქვს მნიშვნელობა და შემდეგი მაჩვენებელი, 42 00:01:58,620 --> 00:02:02,850 ასე რომ ორმაგად უკავშირდება სიაში მხოლოდ აქვს გზა გადავა უკან ასევე. 43 00:02:02,850 --> 00:02:04,960 >> ახლა საგნით დაკავშირებული სიაში ვიდეო, ჩვენ ვისაუბრეთ 44 00:02:04,960 --> 00:02:07,210 შესახებ ეს არის ხუთ მთავარი რამ, რომ თქვენ უნდა იყოს 45 00:02:07,210 --> 00:02:09,449 შეუძლია გააკეთოს მუშაობა დაკავშირებული სიები. 46 00:02:09,449 --> 00:02:12,880 და ყველაზე მეტად ამ, ის ფაქტი, ის, რომ ორმაგად უკავშირდება სიაში 47 00:02:12,880 --> 00:02:14,130 ნამდვილად არ არის დიდი ნახტომი. 48 00:02:14,130 --> 00:02:17,936 ჩვენ ჯერ კიდევ შეგვიძლია ძებნის მეშვეობით მხოლოდ წინსვლის დაწყების დასრულდება. 49 00:02:17,936 --> 00:02:20,810 ჩვენ მაინც შევქმნათ კვანძის გარეთ თხელი საჰაერო, საკმაოდ ბევრი იგივე გზა. 50 00:02:20,810 --> 00:02:23,591 ჩვენ შეგვიძლია წაშლა სიები საკმაოდ ზუსტად იგივე გზა ძალიან. 51 00:02:23,591 --> 00:02:25,340 ერთადერთი რამ, უეცრად სხვადასხვა, 52 00:02:25,340 --> 00:02:28,970 მართლაც, ჩასმა ახალი კვანძების შევიდა სიაში, 53 00:02:28,970 --> 00:02:33,722 და ჩვენ საბოლოოდ ვისაუბროთ წაშლის ერთ ელემენტს სიიდან ისევე. 54 00:02:33,722 --> 00:02:35,430 ერთხელ, საკმაოდ ბევრი სხვა სამი, ჩვენ 55 00:02:35,430 --> 00:02:37,888 არ ვაპირებ ვისაუბრო მათ ახლა, რადგან ისინი მხოლოდ 56 00:02:37,888 --> 00:02:43,920 ძალიან უმნიშვნელო შესწორებები იდეები განიხილეს ამ საგნით დაკავშირებული სიაში ვიდეო. 57 00:02:43,920 --> 00:02:46,292 >> ასე რომ, მოდით ჩადეთ ახალი კვანძის შევიდა ორმაგად უკავშირდება სიაში. 58 00:02:46,292 --> 00:02:48,750 ჩვენ ვისაუბრეთ ამით საგნით დაკავშირებული სიები, აგრეთვე, 59 00:02:48,750 --> 00:02:52,020 მაგრამ არსებობს რამდენიმე დამატებითი იჭერს ერთად ორმაგად დაკავშირებული სიები. 60 00:02:52,020 --> 00:02:55,280 ჩვენ [? ჩაბარების?] და ხელმძღვანელი ჩამოთვლა აქ და ზოგიერთი თვითნებური ღირებულება, 61 00:02:55,280 --> 00:02:58,600 და ჩვენ გვინდა ახალი ხელმძღვანელი სიაში out ამ ფუნქციას. 62 00:02:58,600 --> 00:03:01,414 სწორედ ამიტომ, ის დააბრუნებს dllnode ვარსკვლავი. 63 00:03:01,414 --> 00:03:02,330 ასე რომ, რა არის ამისათვის საჭირო? 64 00:03:02,330 --> 00:03:04,496 ისინი, კიდევ ერთხელ, ძალიან ჰგავს რომ საგნით დაკავშირებული სიები 65 00:03:04,496 --> 00:03:05,670 ერთი ზედმეტი გარდა. 66 00:03:05,670 --> 00:03:08,900 ჩვენ გვინდა, რომ გამოყოფს ფართი ახალი კვანძის და გამშვები დარწმუნდით, რომ იგი მოქმედებს. 67 00:03:08,900 --> 00:03:11,510 ჩვენ გვინდა, რომ შეავსოთ, რომ კვანძის up რასაც ინფორმაციას ჩვენ 68 00:03:11,510 --> 00:03:12,564 გვინდა, რომ დააყენა იგი. 69 00:03:12,564 --> 00:03:15,480 ბოლო რაც ჩვენ უნდა გავაკეთოთ დამატებითი რამ, რაც ჩვენ უნდა გავაკეთოთ, rather-- 70 00:03:15,480 --> 00:03:19,435 არის დაფიქსირება წინა მაჩვენებელი ძველი ხელმძღვანელს სიაში. 71 00:03:19,435 --> 00:03:21,310 გახსოვდეთ, რომ იმის გამო, რომ საქართველოს ორმაგად დაკავშირებული სიები, 72 00:03:21,310 --> 00:03:23,110 ჩვენ შეგვიძლია წინსვლა და backwards-- რომელიც 73 00:03:23,110 --> 00:03:27,080 იმას ნიშნავს, რომ თითოეული კვანძის რეალურად მიუთითებს ორი სხვა კვანძების ნაცვლად მხოლოდ ერთი. 74 00:03:27,080 --> 00:03:29,110 ასე რომ, ჩვენ უნდა დააფიქსიროს ძველი ხელმძღვანელი სია 75 00:03:29,110 --> 00:03:32,151 უნდა აღვნიშნო, უკან ახალი ხელმძღვანელი უკავშირდება სია, რომელიც იყო რაღაც 76 00:03:32,151 --> 00:03:33,990 ჩვენ არ უნდა გავაკეთოთ, სანამ. 77 00:03:33,990 --> 00:03:37,420 და როგორც ადრე, ჩვენ უბრალოდ დააბრუნოს მომცეთ ახალი ხელმძღვანელი სიაში. 78 00:03:37,420 --> 00:03:38,220 >> ასე რომ, აქ არის სია. 79 00:03:38,220 --> 00:03:40,144 გვინდა ჩადეთ 12 შევიდა ამ სიაში. 80 00:03:40,144 --> 00:03:42,060 გაითვალისწინეთ, რომ სქემა ოდნავ განსხვავებული. 81 00:03:42,060 --> 00:03:47,710 თითოეული კვანძის შეიცავს სამი სფეროებში მონაცემები და მომავალი მაჩვენებელი წითელი, 82 00:03:47,710 --> 00:03:50,170 და წინა მაჩვენებელი ლურჯი ფერით. 83 00:03:50,170 --> 00:03:54,059 არაფერი მოდის ადრე 15 კვანძის, ასე რომ მისი წინა მაჩვენებელი არის null. 84 00:03:54,059 --> 00:03:55,350 ეს არის დასაწყისში სიაში. 85 00:03:55,350 --> 00:03:56,560 არაფერია, სანამ. 86 00:03:56,560 --> 00:04:03,350 და არაფერი უძღოდა 10 კვანძის და ასე რომ, ეს არის შემდეგი მაჩვენებელი არის null ისევე. 87 00:04:03,350 --> 00:04:05,616 >> მოდით დავამატოთ 12 ამ სიაში. 88 00:04:05,616 --> 00:04:08,070 ჩვენ უნდა [INAUDIBLE] ფართი კვანძი. 89 00:04:08,070 --> 00:04:11,480 ჩვენ ბოლო 12 შიგნით მას. 90 00:04:11,480 --> 00:04:14,840 და მერე ისევ, ჩვენ უნდა ნამდვილად ფრთხილად არ დაარღვიოს ჯაჭვი. 91 00:04:14,840 --> 00:04:17,144 ჩვენ გვინდა, უნდა rearrange პოინტერები სწორი მიზნით. 92 00:04:17,144 --> 00:04:19,519 და ზოგჯერ, რომ შესაძლოა mean-- როგორც ვნახავთ, განსაკუთრებით 93 00:04:19,519 --> 00:04:24,120 ერთად delete--, რომ ჩვენ გვაქვს გარკვეული გადაჭარბებული მითითებას, მაგრამ ეს OK. 94 00:04:24,120 --> 00:04:25,750 >> ასე რომ, რა გვინდა გავაკეთოთ პირველ რიგში? 95 00:04:25,750 --> 00:04:28,290 მე რეკომენდაციას რამ, რაც უნდა ალბათ 96 00:04:28,290 --> 00:04:35,350 ამის შევსება მითითებას 12 კვანძის სანამ შეეხოთ ვინმეს. 97 00:04:35,350 --> 00:04:38,640 ასე რომ, რა არის 12 აპირებს აღვნიშნო, რომ მომავალი? 98 00:04:38,640 --> 00:04:39,860 15. 99 00:04:39,860 --> 00:04:42,430 რა მოდის ადრე 12? 100 00:04:42,430 --> 00:04:43,640 არაფერი. 101 00:04:43,640 --> 00:04:46,280 ახლა ჩვენ შევსებული დამატებითი ინფორმაცია 12 102 00:04:46,280 --> 00:04:49,320 ასე რომ, მას წინა, შემდეგი, და მნიშვნელობა. 103 00:04:49,320 --> 00:04:53,505 >> ახლა ჩვენ შეგვიძლია აქვს 15-- დამატებითი ნაბიჯი ჩვენ ვსაუბრობთ ჩვენ 104 00:04:53,505 --> 00:04:56,590 შეიძლება ჰქონდეს 15 წერტილი უკან 12. 105 00:04:56,590 --> 00:04:59,634 და ახლა ჩვენ შეგვიძლია გადაადგილება ხელმძღვანელი უკავშირდება სიაში ასევე 12. 106 00:04:59,634 --> 00:05:02,550 ასე რომ საკმაოდ მსგავსია, რაც ჩვენ აკეთებდნენ ერთად საგნით დაკავშირებული სიები, 107 00:05:02,550 --> 00:05:06,940 გარდა ზედმეტი ნაბიჯი დამაკავშირებელი ძველი ხელმძღვანელი სია 108 00:05:06,940 --> 00:05:09,810 თავში ახალი ხელმძღვანელი სიაში. 109 00:05:09,810 --> 00:05:12,170 >> ახლა მოდით საბოლოოდ წაშლა კვანძის ეხლა უკავშირდება სიაში. 110 00:05:12,170 --> 00:05:14,350 ასე ვთქვათ ჩვენ ზოგიერთი სხვა ფუნქცია, რომელიც 111 00:05:14,350 --> 00:05:18,080 მოძიებაში კვანძის გვინდა წაშლა და მოგვცა მაჩვენებელი ზუსტად 112 00:05:18,080 --> 00:05:19,710 კვანძის, რომ ჩვენ გვინდა წაშლა. 113 00:05:19,710 --> 00:05:22,360 ჩვენ კი არ need-- ამბობენ, უფროსი გლობალურად კვლავ განაცხადა. 114 00:05:22,360 --> 00:05:23,590 ჩვენ არ გვჭირდება ხელმძღვანელი აქ. 115 00:05:23,590 --> 00:05:26,830 ყველა ეს ფუნქცია აკეთებს, რომ ჩვენ ი მაჩვენებელი ზუსტად კვანძის ჩვენ 116 00:05:26,830 --> 00:05:28,090 გსურთ, თავი დაეღწია. 117 00:05:28,090 --> 00:05:28,940 მოდით დავაღწიოთ მას. 118 00:05:28,940 --> 00:05:31,859 ეს არის ბევრი ადვილია ორმაგად დაკავშირებული სიები. 119 00:05:31,859 --> 00:05:33,650 , პირველი ის, ფაქტობრივად, მხოლოდ რამდენიმე რამ. 120 00:05:33,650 --> 00:05:38,760 ჩვენ უბრალოდ უნდა დააფიქსიროს მიმდებარე კვანძების "მითითებას, რომ მათ გამოტოვოთ 121 00:05:38,760 --> 00:05:40,240 კვანძის გვინდა წაშლა. 122 00:05:40,240 --> 00:05:43,484 და მაშინ ჩვენ შეგვიძლია წაშლა რომ კვანძის. 123 00:05:43,484 --> 00:05:45,150 ასე რომ, კიდევ ერთხელ, ჩვენ უბრალოდ გადის აქ. 124 00:05:45,150 --> 00:05:49,625 ჩვენ, როგორც ჩანს, გადაწყვიტა, რომ ჩვენ გვინდა წაშლა კვანძის X. 125 00:05:49,625 --> 00:05:51,500 ისევ და ისევ, რაც მე აკეთებს აქ, რომ way-- 126 00:05:51,500 --> 00:05:54,580 არის ზოგადი საქმე კვანძი, რომელიც არის შუა. 127 00:05:54,580 --> 00:05:56,547 არსებობს რამდენიმე დამატებითი აპირებს, რომ თქვენ 128 00:05:56,547 --> 00:05:59,380 უნდა განიხილოს, როდესაც თქვენ წაშლის თავიდანვე სია 129 00:05:59,380 --> 00:06:01,040 ან ბოლომდე სიაში. 130 00:06:01,040 --> 00:06:03,730 არსებობს რამდენიმე სპეციალური კუთხეში შემთხვევაში გაუმკლავდეთ არსებობს. 131 00:06:03,730 --> 00:06:07,960 >> ასე რომ, ეს მუშაობს წაშლის ნებისმიერი კვანძის ამ შუა list-- ერთი, რომ 132 00:06:07,960 --> 00:06:11,550 აქვს ლეგიტიმური მაჩვენებელი წინ და ლეგიტიმური მაჩვენებელი უკან, 133 00:06:11,550 --> 00:06:14,460 ლეგიტიმური წინა და შემდეგი მაჩვენებელი. 134 00:06:14,460 --> 00:06:16,530 კიდევ ერთხელ, თუ თქვენ სამუშაო მთავრდება, თქვენ 135 00:06:16,530 --> 00:06:18,500 უნდა გაუმკლავდეს იმ ოდნავ განსხვავებულად, 136 00:06:18,500 --> 00:06:19,570 და ჩვენ არ ვაპირებთ გაიგო, რომ ახლა. 137 00:06:19,570 --> 00:06:21,319 მაგრამ თქვენ ალბათ შეუძლია გაერკვნენ, თუ რა სჭირდება 138 00:06:21,319 --> 00:06:24,610 უნდა გაკეთდეს მხოლოდ თვალს ამ ვიდეო. 139 00:06:24,610 --> 00:06:28,910 >> ასე რომ, ჩვენ იზოლირებული X. X კვანძის გვინდა წაშლა სიიდან. 140 00:06:28,910 --> 00:06:30,140 რას ვაკეთებთ? 141 00:06:30,140 --> 00:06:32,800 პირველ რიგში, ჩვენ უნდა rearrange გარე მითითებას. 142 00:06:32,800 --> 00:06:35,815 ჩვენ უნდა rearrange 9 შემდეგი გამოტოვოთ 13 143 00:06:35,815 --> 00:06:38,030 და წერტილი 10-- რომელიც არის ის, რაც ჩვენ უბრალოდ გაკეთდეს. 144 00:06:38,030 --> 00:06:41,180 ჩვენ ასევე უნდა rearrange 10-ის წინა 145 00:06:41,180 --> 00:06:44,610 უნდა აღვნიშნო, რომ 9 ნაცვლად მიუთითებს 13. 146 00:06:44,610 --> 00:06:46,490 >> ასე რომ კიდევ ერთხელ, ეს იყო სქემა უნდა დაიწყოს. 147 00:06:46,490 --> 00:06:47,730 ეს იყო ჩვენი ჯაჭვი. 148 00:06:47,730 --> 00:06:51,027 ჩვენ უნდა გამოტოვოთ 13 მაგრამ ჩვენ უნდა ასევე შეინარჩუნოს 149 00:06:51,027 --> 00:06:52,110 მთლიანობის სიაში. 150 00:06:52,110 --> 00:06:54,680 ჩვენ არ გვინდა, რომ დაკარგავს ნებისმიერი ინფორმაცია ორივე მიმართულებით. 151 00:06:54,680 --> 00:06:59,620 ასე რომ, ჩვენ უნდა rearrange პოინტერები ყურადღებით 152 00:06:59,620 --> 00:07:02,240 ასე რომ, ჩვენ არ დაარღვიოს ჯაჭვი ყველა. 153 00:07:02,240 --> 00:07:05,710 >> ასე რომ, ჩვენ შეგვიძლია ვთქვათ, 9 მომდევნო მაჩვენებელი მიუთითებს, რომ ერთი და იგივე ადგილზე 154 00:07:05,710 --> 00:07:08,040 რომ ცამეტი ს შემდეგი მაჩვენებელი მიუთითებს ახლავე. 155 00:07:08,040 --> 00:07:10,331 იმის გამო, რომ ჩვენ საბოლოოდ აპირებს გსურთ გამოტოვოთ 13. 156 00:07:10,331 --> 00:07:13,750 ასე რომ, სადაც 13 ქულა შემდეგი, თქვენ მინდა ცხრა აღვნიშნო ნაცვლად. 157 00:07:13,750 --> 00:07:15,200 ასე რომ, რომ. 158 00:07:15,200 --> 00:07:20,370 და მაშინ, სადაც 13 ქულა უკან რომ, რასაც მოდის ადრე 13 159 00:07:20,370 --> 00:07:24,800 ჩვენ გვინდა 10 აღვნიშნო რომ ნაცვლად 13. 160 00:07:24,800 --> 00:07:29,290 ახლა შეამჩნია, თუ თქვენ დაიცვას ისრები, ჩვენ ვერ ჩამოაგდეს 13 161 00:07:29,290 --> 00:07:32,380 გარეშე რეალურად დაკარგვის ნებისმიერი ინფორმაცია. 162 00:07:32,380 --> 00:07:36,002 ჩვენ ინახება მთლიანობის სია, მოძრავი ორივე წინ და უკან. 163 00:07:36,002 --> 00:07:38,210 და მაშინ ჩვენ შეგვიძლია მხოლოდ ერთგვარი საქართველოს გაწმენდა ეს ცოტა 164 00:07:38,210 --> 00:07:40,930 უბიძგებენ სია ერთად. 165 00:07:40,930 --> 00:07:43,270 ასე რომ, ჩვენ გადალაგება მითითებას ორივე მხარეს. 166 00:07:43,270 --> 00:07:46,231 და მაშინ ჩვენ გათავისუფლდა X The კვანძი, რომელიც შეიცავს 13 167 00:07:46,231 --> 00:07:47,480 და ჩვენ არ დაარღვიოს ჯაჭვი. 168 00:07:47,480 --> 00:07:50,980 ასე რომ, ჩვენ გავაკეთეთ კარგი. 169 00:07:50,980 --> 00:07:53,000 >> შენიშვნა აქ დაკავშირებული სიები. 170 00:07:53,000 --> 00:07:55,990 ასე რომ, ორივე singly- და ორმაგად დაკავშირებული სიები, როგორც ჩვენ ვნახეთ, 171 00:07:55,990 --> 00:07:58,959 მხარდაჭერა ნამდვილად ეფექტური ჩასმა და წაშლა ელემენტები. 172 00:07:58,959 --> 00:08:00,750 თქვენ შეგიძლიათ საკმაოდ ბევრი ეს მუდმივი დროს. 173 00:08:00,750 --> 00:08:03,333 რა გააკეთა, ჩვენ უნდა გავაკეთოთ წაშლა ელემენტს მხოლოდ მეორე წინ? 174 00:08:03,333 --> 00:08:04,440 გადავედით ერთი მაჩვენებელი. 175 00:08:04,440 --> 00:08:05,920 გადავედით ერთი მაჩვენებელი. 176 00:08:05,920 --> 00:08:07,915 ჩვენ გათავისუფლდა რომ X სამი ოპერაციებში. 177 00:08:07,915 --> 00:08:14,500 იგი ყოველთვის იღებს სამ ოპერაციების წაშლა, რომ კვანძის გასათავისუფლებლად კვანძის. 178 00:08:14,500 --> 00:08:15,280 >> როგორ უნდა ჩადოთ? 179 00:08:15,280 --> 00:08:17,280 ასევე, ჩვენ უბრალოდ ყოველთვის tacking დასაწყისში 180 00:08:17,280 --> 00:08:19,400 თუ ჩვენ ჩასმა ეფექტურად. 181 00:08:19,400 --> 00:08:21,964 ამიტომ, ჩვენ უნდა rearrange-- დამოკიდებულია თუ ის 182 00:08:21,964 --> 00:08:24,380 singly- და ორმაგად დაკავშირებული სია, ჩვენ შეიძლება უნდა გავაკეთოთ სამი 183 00:08:24,380 --> 00:08:26,824 ან ოთხი ოპერაციების მაქს. 184 00:08:26,824 --> 00:08:28,365 მაგრამ ერთხელ, ის ყოველთვის სამი ან ოთხი. 185 00:08:28,365 --> 00:08:30,531 არ აქვს მნიშვნელობა, რამდენი ელემენტები ჩვენს სიაში, 186 00:08:30,531 --> 00:08:33,549 ის ყოველთვის სამი ან ოთხი ოპერაციები ისევე წაშლა ყოველთვის 187 00:08:33,549 --> 00:08:35,320 სამი ან ოთხი ოპერაციებში. 188 00:08:35,320 --> 00:08:36,919 ეს მუდმივი დრო. 189 00:08:36,919 --> 00:08:38,169 ასე რომ, ნამდვილად დიდი. 190 00:08:38,169 --> 00:08:40,620 >> მასივები, ვაკეთებდით რაღაც ჩასაგდები დალაგების. 191 00:08:40,620 --> 00:08:44,739 თქვენ, ალბათ, გახსოვთ, რომ ჩასმა ერთგვარი არ არის მუდმივი დრო ალგორითმი. 192 00:08:44,739 --> 00:08:46,030 ეს, ფაქტობრივად, საკმაოდ ძვირი. 193 00:08:46,030 --> 00:08:48,840 ასე რომ, ეს არის უკეთესი ჩასმა. 194 00:08:48,840 --> 00:08:51,840 მაგრამ, როგორც აღვნიშნე, საგნით დაკავშირებული სიაში ვიდეო, 195 00:08:51,840 --> 00:08:54,030 ჩვენ მივიღეთ downside აქ ძალიან, არა? 196 00:08:54,030 --> 00:08:57,580 ჩვენ დავკარგეთ უნარი შემთხვევით წვდომის ელემენტებს. 197 00:08:57,580 --> 00:09:02,310 ჩვენ არ შეგვიძლია ვთქვათ, მინდა ელემენტის ნომერი ოთხი ან ელემენტის ნომერი 10 უკავშირდება სიაში 198 00:09:02,310 --> 00:09:04,990 ანალოგიურად, რომ ჩვენ შეგვიძლია გავაკეთოთ, რომ მასივი 199 00:09:04,990 --> 00:09:08,630 ან ჩვენ შეგვიძლია მხოლოდ პირდაპირ ინდექსი ჩვენს მასივი ის ელემენტს. 200 00:09:08,630 --> 00:09:10,930 >> ასე რომ, ცდილობს იპოვოს ელემენტს უკავშირდება list-- 201 00:09:10,930 --> 00:09:15,880 თუ ჩხრეკის important-- შეიძლება ახლა მიიღოს წრფივი დროს. 202 00:09:15,880 --> 00:09:18,330 როგორც სიაში იღებს აღარ, შეიძლება მიიღოს დამატებით ერთი ნაბიჯი 203 00:09:18,330 --> 00:09:22,644 თითოეული ელემენტის სიაში იმისათვის, რომ იპოვოს ის, რაც ჩვენ ვეძებთ. 204 00:09:22,644 --> 00:09:23,560 ასე რომ, სავაჭრო ღ. 205 00:09:23,560 --> 00:09:25,780 არსებობს ცოტა პრო და con ელემენტი აქ. 206 00:09:25,780 --> 00:09:29,110 >> და ორმაგად დაკავშირებული სიები არ არიან ბოლო სახის მონაცემები სტრუქტურა კომბინაცია 207 00:09:29,110 --> 00:09:32,840 რომ ჩვენ ვსაუბრობთ, მიმდინარე ყველა ძირითადი შენობა 208 00:09:32,840 --> 00:09:34,865 ბლოკების C აყენებს ერთად. 209 00:09:34,865 --> 00:09:37,900 იმის გამო, რომ ის ფაქტი, რომ ჩვენ შეგვიძლია კიდევ უკეთესია, ვიდრე ეს 210 00:09:37,900 --> 00:09:41,970 შექმნათ მონაცემთა სტრუქტურა, რომელიც თქვენ შეძლებთ მოძებნოთ მეშვეობით 211 00:09:41,970 --> 00:09:43,360 მუდმივი დროს ძალიან. 212 00:09:43,360 --> 00:09:46,080 მაგრამ უფრო, რომ სხვა ვიდეო. 213 00:09:46,080 --> 00:09:47,150 >> მე Doug Lloyd. 214 00:09:47,150 --> 00:09:49,050 ეს არის CS50. 215 00:09:49,050 --> 00:09:50,877