1 00:00:00,000 --> 00:00:03,381 >> [CHWARAE CERDDORIAETH] 2 00:00:03,381 --> 00:00:04,604 3 00:00:04,604 --> 00:00:05,520 DOUG LLOYD: Pob hawl. 4 00:00:05,520 --> 00:00:07,860 Felly, os ydych newydd orffen bod 'n fideo ar restrau yn unigol-cysylltiedig n chwith 5 00:00:07,860 --> 00:00:09,568 Gadewais chi oddi ar dipyn o Cliffhanger. 6 00:00:09,568 --> 00:00:12,790 Ond rwy'n falch eich bod yma i orffen stori rhestrau ddwbl-gysylltiedig. 7 00:00:12,790 --> 00:00:15,250 >> Felly, os ydych yn cofio o hynny fideo, buom yn siarad 8 00:00:15,250 --> 00:00:18,500 am y ffordd unigol-cysylltiedig rhestrau yn mynychu ein gallu 9 00:00:18,500 --> 00:00:22,090 i ddelio â gwybodaeth lle mae nifer o elfennau 10 00:00:22,090 --> 00:00:24,442 neu'r nifer o eitemau yn Gall rhestr dyfu neu crebachu. 11 00:00:24,442 --> 00:00:26,400 Gallwn yn awr yn delio â rhywbeth fel 'na, lle y 12 00:00:26,400 --> 00:00:28,310 nid oeddem yn gallu ymdrin â hi gyda arrays. 13 00:00:28,310 --> 00:00:30,560 >> Ond maent yn dioddef o un cyfyngiad beirniadol sy'n 14 00:00:30,560 --> 00:00:33,790 yw y gyda-gysylltiedig yn unigol rhestr, ni allwn ond byth yn symud 15 00:00:33,790 --> 00:00:36,200 i gyfeiriad sengl drwy'r rhestr. 16 00:00:36,200 --> 00:00:39,010 A'r unig sefyllfa go iawn lle y gall hynny fod yn broblem 17 00:00:39,010 --> 00:00:41,250 pan oedd yr oeddem yn ceisio dileu elfen sengl. 18 00:00:41,250 --> 00:00:46,000 Ac nid oeddem hyd yn oed yn trafod sut i wneud hynny mewn rhestr unigol-gysylltiedig mewn pseudocode. 19 00:00:46,000 --> 00:00:48,797 Mae'n sicr yn doable, ond gall fod yn dipyn o drafferth. 20 00:00:48,797 --> 00:00:50,630 Felly, os ydych yn cael eich hun mewn sefyllfa lle 21 00:00:50,630 --> 00:00:53,175 ydych yn ceisio dileu elfennau unigol o'r rhestr 22 00:00:53,175 --> 00:00:55,430 neu mae'n mynd i fod yn ofynnol y byddwch yn dileu 23 00:00:55,430 --> 00:00:57,970 elfennau unigol o y rhestr, efallai y byddwch am 24 00:00:57,970 --> 00:01:02,090 ystyried defnyddio-cysylltu'n ddwbl rhestru yn hytrach na rhestr yn unigol-gysylltiedig. 25 00:01:02,090 --> 00:01:06,320 Oherwydd bod rhestrau ddwbl-gysylltiedig ydych yn caniatáu i symud ymlaen ac yn ôl 26 00:01:06,320 --> 00:01:09,340 drwy'r rhestr yn hytrach na dim ond ymlaen drwy'r list-- 27 00:01:09,340 --> 00:01:13,950 dim ond drwy ychwanegu un elfen ychwanegol at ein diffiniad strwythur 28 00:01:13,950 --> 00:01:16,690 ar gyfer y rhestr nôd ddwbl-gysylltiedig. 29 00:01:16,690 --> 00:01:19,770 >> Unwaith eto, os nad ydych yn mynd i yn cael ei ddileu elfennau unigol 30 00:01:19,770 --> 00:01:24,810 o'r list-- oherwydd ein bod yn ychwanegu maes yn ychwanegol at ein strwythur 31 00:01:24,810 --> 00:01:28,340 ddiffiniad, y nodau eu hunain ar gyfer rhestrau ddwbl-cysylltiedig 32 00:01:28,340 --> 00:01:29,550 yn mynd i fod yn fwy. 33 00:01:29,550 --> 00:01:31,600 Maent yn mynd i gymryd mwy o gof bytes. 34 00:01:31,600 --> 00:01:34,160 Ac felly os nad yw hyn yn rhywbeth rydych yn mynd i angen iddynt ei wneud, 35 00:01:34,160 --> 00:01:36,300 efallai y byddwch yn penderfynu ei fod yn Nid yw yn werth y fasnach off 36 00:01:36,300 --> 00:01:39,360 i gael i dreulio'r ychwanegol bytes o gof sy'n ofynnol 37 00:01:39,360 --> 00:01:43,940 am restr ddwbl-gysylltu os nad ydych yn mynd i fod yn dileu elfennau unigol. 38 00:01:43,940 --> 00:01:46,760 Ond maent hefyd yn oer ar gyfer pethau eraill hefyd. 39 00:01:46,760 --> 00:01:51,260 >> Felly, fel y dywedais, rydym yn unig rhaid i ni ychwanegu un maes unigol i'n strwythur 40 00:01:51,260 --> 00:01:55,360 definition-- syniad hwn o pwyntydd Blaenorol. 41 00:01:55,360 --> 00:01:58,620 Felly, gyda rhestr yn unigol-cysylltiedig, rydym yn yn cael y gwerth a'r pwyntydd Next, 42 00:01:58,620 --> 00:02:02,850 felly mae'r rhestr ddwbl-gysylltiedig yn unig wedi ffordd o symud yn ôl hefyd. 43 00:02:02,850 --> 00:02:04,960 >> Nawr yn y-gysylltiedig yn unigol Rhestr fideo, buom yn siarad 44 00:02:04,960 --> 00:02:07,210 am y rhain yw pump o'r prif bethau y mae angen i chi fod 45 00:02:07,210 --> 00:02:09,449 gallu ei wneud i weithio gyda rhestrau cysylltiedig. 46 00:02:09,449 --> 00:02:12,880 Ac ar gyfer y rhan fwyaf o'r rhain, mae'r ffaith ei fod yn rhestr ddwbl-cysylltiedig 47 00:02:12,880 --> 00:02:14,130 Nid mewn gwirionedd yn naid fawr. 48 00:02:14,130 --> 00:02:17,936 Gall Rydym yn dal i chwilio drwy at jyst symud ymlaen o'r dechrau i'r diwedd. 49 00:02:17,936 --> 00:02:20,810 Gall Rydym yn dal i greu nod allan o awyr denau, 'n bert lawer yr un ffordd. 50 00:02:20,810 --> 00:02:23,591 Gallwn ddileu rhestri 'n bert yr un modd hefyd. 51 00:02:23,591 --> 00:02:25,340 Yr unig bethau sy'n yn ychydig yn wahanol, 52 00:02:25,340 --> 00:02:28,970 mewn gwirionedd, yn cael eu mewnosod nodau newydd i mewn i'r rhestr, 53 00:02:28,970 --> 00:02:33,722 a byddwn yn olaf yn siarad am ddileu elfen unigol o'r rhestr hefyd. 54 00:02:33,722 --> 00:02:35,430 Unwaith eto, 'n bert lawer y tri arall, rydym yn 55 00:02:35,430 --> 00:02:37,888 Nid yw mynd i siarad am nhw ar hyn o bryd oherwydd eu bod yn unig 56 00:02:37,888 --> 00:02:43,920 mân iawn tweaks ar y syniadau a drafodwyd yn y rhestr fideo yn unigol-gysylltiedig. 57 00:02:43,920 --> 00:02:46,292 >> Felly gadewch i ni mewnosod nod newydd i mewn i restr ddwbl-gysylltiedig. 58 00:02:46,292 --> 00:02:48,750 Rydym yn siarad am wneud hyn ar gyfer rhestrau fesul un-cysylltu'n hefyd, 59 00:02:48,750 --> 00:02:52,020 ond mae un neu ddau o ychwanegol dal gyda rhestrau ddwbl-gysylltiedig. 60 00:02:52,020 --> 00:02:55,280 Rydym yn [? fynd heibio?] yn y pen y rhestru yma ac mae rhai gwerth mympwyol, 61 00:02:55,280 --> 00:02:58,600 ac rydym am gael y pennaeth newydd y rhestr allan o'r swyddogaeth hon. 62 00:02:58,600 --> 00:03:01,414 Dyna pam ei bod yn dychwelyd yn seren dllnode. 63 00:03:01,414 --> 00:03:02,330 Felly beth yw'r camau? 64 00:03:02,330 --> 00:03:04,496 Maent yn, unwaith eto, yn debyg iawn i restrau yn unigol-cysylltiedig 65 00:03:04,496 --> 00:03:05,670 gydag un ychwanegiad ychwanegol. 66 00:03:05,670 --> 00:03:08,900 Rydym am dyrannu lle ar gyfer newydd nod a gwirio i wneud yn siŵr ei fod yn ddilys. 67 00:03:08,900 --> 00:03:11,510 Rydym yn awyddus i lenwi'r nod fyny gyda beth bynnag wybodaeth yr ydym yn 68 00:03:11,510 --> 00:03:12,564 eisiau rhoi ynddo. 69 00:03:12,564 --> 00:03:15,480 Y peth olaf mae angen i ni do-- i'r beth ychwanegol mae angen i ni ei wneud, rather-- 70 00:03:15,480 --> 00:03:19,435 yw i osod y pwyntydd Blaenorol o'r hen bennaeth y rhestr. 71 00:03:19,435 --> 00:03:21,310 Cofiwch fod oherwydd bod rhestrau o ddwbl-gysylltiedig, 72 00:03:21,310 --> 00:03:23,110 gallwn symud ymlaen ac backwards-- pa 73 00:03:23,110 --> 00:03:27,080 yn golygu bod pob nod mewn gwirionedd yn bwyntiau i ddau nodau arall yn hytrach na dim ond un. 74 00:03:27,080 --> 00:03:29,110 Ac felly mae angen i ni atgyweiria yr hen bennaeth y rhestr 75 00:03:29,110 --> 00:03:32,151 i bwynt yn ôl at y pennaeth newydd y y rhestr cysylltiedig, a oedd yn rhywbeth 76 00:03:32,151 --> 00:03:33,990 nad oedd yn rhaid i ni ei wneud o'r blaen. 77 00:03:33,990 --> 00:03:37,420 Ac fel o'r blaen, rydym yn unig dychwelyd Pointer i bennaeth newydd y rhestr. 78 00:03:37,420 --> 00:03:38,220 >> Felly dyma restr. 79 00:03:38,220 --> 00:03:40,144 Rydym am i fewnosod 12 i mewn i rhestr hon. 80 00:03:40,144 --> 00:03:42,060 Sylwch fod y diagram ychydig yn wahanol. 81 00:03:42,060 --> 00:03:47,710 Mae pob nod yn cynnwys tair fields-- data, ac pwyntydd Next mewn coch, 82 00:03:47,710 --> 00:03:50,170 ac mae pwyntydd blaenorol mewn glas. 83 00:03:50,170 --> 00:03:54,059 Daw Nid oes dim cyn y 15 nod, felly mae ei pwyntydd blaenorol yn null. 84 00:03:54,059 --> 00:03:55,350 Mae'n cychwyn y rhestr. 85 00:03:55,350 --> 00:03:56,560 Does dim byd ger ei fron. 86 00:03:56,560 --> 00:04:03,350 A dim byd yn dod ar ôl y 10 nod, ac felly mae'n pwyntydd nesaf null hefyd. 87 00:04:03,350 --> 00:04:05,616 >> Felly gadewch i ni ychwanegu 12 at y rhestr hon. 88 00:04:05,616 --> 00:04:08,070 Mae angen [Anghlywadwy] lle ar gyfer y nôd. 89 00:04:08,070 --> 00:04:11,480 Rydym yn rhoi 12 tu mewn iddo. 90 00:04:11,480 --> 00:04:14,840 Ac yna eto, mae angen i ni fod yn wirioneddol yn ofalus i beidio i dorri'r gadwyn. 91 00:04:14,840 --> 00:04:17,144 Rydym yn awyddus i ad-drefnu arwyddion yn y drefn gywir. 92 00:04:17,144 --> 00:04:19,519 Ac weithiau a allai mean-- fel y byddwn yn gweld yn arbennig 93 00:04:19,519 --> 00:04:24,120 gyda delete-- a wnawn gael rhywfaint o awgrymiadau ddi-waith, ond mae hynny'n iawn. 94 00:04:24,120 --> 00:04:25,750 >> Felly beth ydym ni eisiau ei wneud yn gyntaf? 95 00:04:25,750 --> 00:04:28,290 Byddwn yn argymell y pethau dylech yn ôl pob tebyg 96 00:04:28,290 --> 00:04:35,350 gwneud yw i lenwi'r awgrymiadau o'r 12 nod cyn i chi gyffwrdd unrhyw un arall. 97 00:04:35,350 --> 00:04:38,640 Felly, yr hyn sy'n 12 yn mynd i bwyntio at nesaf? 98 00:04:38,640 --> 00:04:39,860 15. 99 00:04:39,860 --> 00:04:42,430 Beth sy'n dod cyn 12? 100 00:04:42,430 --> 00:04:43,640 Dim byd. 101 00:04:43,640 --> 00:04:46,280 Nawr rydym wedi llenwi'r Gwybodaeth ychwanegol mewn 12 102 00:04:46,280 --> 00:04:49,320 felly mae wedi Blaenorol, Next, a gwerth. 103 00:04:49,320 --> 00:04:53,505 >> Nawr gallwn gael 15-- hon ychwanegol cam oeddem yn sôn about-- i ni 104 00:04:53,505 --> 00:04:56,590 yn gallu cael 15 pwynt yn ôl i 12. 105 00:04:56,590 --> 00:04:59,634 Ac yn awr gallwn symud y pennaeth y rhestr yn gysylltiedig â hefyd fod yn 12. 106 00:04:59,634 --> 00:05:02,550 Felly mae'n eithaf tebyg i'r hyn yr ydym yn ei wneud gyda rhestrau unigol-cysylltiedig, 107 00:05:02,550 --> 00:05:06,940 ac eithrio ar gyfer y cam ychwanegol o cysylltu'r hen bennaeth y rhestr 108 00:05:06,940 --> 00:05:09,810 yn ôl at y pennaeth newydd y rhestr. 109 00:05:09,810 --> 00:05:12,170 >> Nawr, gadewch i ni o'r diwedd dileu cainc o restr cysylltiedig. 110 00:05:12,170 --> 00:05:14,350 Felly, gadewch i ni ddweud ein bod wedi rhyw swyddogaeth arall sydd 111 00:05:14,350 --> 00:05:18,080 yn dod o hyd i nod yr ydym am ddileu'r ac wedi rhoi pwyntydd i union 112 00:05:18,080 --> 00:05:19,710 y nôd yr ydym am ddileu. 113 00:05:19,710 --> 00:05:22,360 Nid ydym yn hyd yn oed yn dweud y need-- pen yn dal i ddatgan yn fyd-eang. 114 00:05:22,360 --> 00:05:23,590 Nid oes angen pen Rydym yma. 115 00:05:23,590 --> 00:05:26,830 Mae pob swyddogaeth hon yn ei wneud yw rydym wedi dod o hyd i pwyntydd i'r union y nôd ydym 116 00:05:26,830 --> 00:05:28,090 eisiau cael gwared ar. 117 00:05:28,090 --> 00:05:28,940 Gadewch i ni gael gwared ohono. 118 00:05:28,940 --> 00:05:31,859 Mae'n llawer haws gyda rhestrau ddwbl-gysylltiedig. 119 00:05:31,859 --> 00:05:33,650 First-- ei fod mewn gwirionedd dim ond cwpl o bethau. 120 00:05:33,650 --> 00:05:38,760 Jyst angen i ni osod y cyfagos awgrymiadau nodau 'fel eu bod yn hepgor 121 00:05:38,760 --> 00:05:40,240 y nôd ydym am ddileu. 122 00:05:40,240 --> 00:05:43,484 Ac yna gallwn ddileu y nod. 123 00:05:43,484 --> 00:05:45,150 Felly unwaith eto, rydym yn jyst yn mynd drwy fan hyn. 124 00:05:45,150 --> 00:05:49,625 Mae'n debyg Rydym wedi penderfynu y rydym am ddileu'r X. nôd 125 00:05:49,625 --> 00:05:51,500 Ac eto, yr hyn rwy'n gwneud Yma-- gan y way-- 126 00:05:51,500 --> 00:05:54,580 yn achos cyffredinol ar gyfer nod sydd yn y canol. 127 00:05:54,580 --> 00:05:56,547 Mae un neu ddau o cafeatau ychwanegol y byddwch yn 128 00:05:56,547 --> 00:05:59,380 angen ystyried pan fyddwch yn dileu y cychwyn cyntaf y rhestr 129 00:05:59,380 --> 00:06:01,040 neu ddiwedd y rhestr. 130 00:06:01,040 --> 00:06:03,730 Mae un neu ddau o arbennig achosion cornel i ddelio â yno. 131 00:06:03,730 --> 00:06:07,960 >> Felly, mae hyn yn gweithio i ddileu unrhyw node yng nghanol y un list-- sy'n 132 00:06:07,960 --> 00:06:11,550 Mae gan pwyntydd dilys ymlaen ac mae pwyntydd dilys yn ôl, 133 00:06:11,550 --> 00:06:14,460 cyfreithlon pwyntydd Blaenorol a Nesaf. 134 00:06:14,460 --> 00:06:16,530 Unwaith eto, os ydych yn gweithio gyda'r dod i ben, byddwch yn 135 00:06:16,530 --> 00:06:18,500 Mae angen i drin y rhai ychydig yn wahanol, 136 00:06:18,500 --> 00:06:19,570 ac nid ydym yn mynd i siarad am hynny yn awr. 137 00:06:19,570 --> 00:06:21,319 Ond mae'n debyg y gallwch chyfrif i maes beth sydd angen 138 00:06:21,319 --> 00:06:24,610 i'w wneud yn unig drwy wylio fideo hwn. 139 00:06:24,610 --> 00:06:28,910 >> Felly rydym wedi hynysu X. X yw y nôd rydym eisiau dileu oddi ar y rhestr. 140 00:06:28,910 --> 00:06:30,140 Beth ydym yn ei wneud? 141 00:06:30,140 --> 00:06:32,800 Yn gyntaf, mae angen i aildrefnu yr awgrymiadau tu allan. 142 00:06:32,800 --> 00:06:35,815 Mae angen i ni ail-drefnu 9 yn nesaf i sgip dros 13 143 00:06:35,815 --> 00:06:38,030 a phwynt i 10-- pa yr hyn yr ydym wedi ei wneud yn unig. 144 00:06:38,030 --> 00:06:41,180 Ac mae angen i ni hefyd aildrefnu 10 oed Blaenorol 145 00:06:41,180 --> 00:06:44,610 i bwyntio i 9 yn lle pwyntio at 13. 146 00:06:44,610 --> 00:06:46,490 >> Felly unwaith eto, dyma oedd y diagram i ddechrau. 147 00:06:46,490 --> 00:06:47,730 Roedd hyn yn ein cadwyn. 148 00:06:47,730 --> 00:06:51,027 Mae angen i ni sgip dros 13, ond mae angen hefyd i warchod 149 00:06:51,027 --> 00:06:52,110 uniondeb y rhestr. 150 00:06:52,110 --> 00:06:54,680 Nid ydym am i golli unrhyw gwybodaeth yn y ddau gyfeiriad. 151 00:06:54,680 --> 00:06:59,620 Felly mae angen i aildrefnu yr awgrymiadau yn ofalus 152 00:06:59,620 --> 00:07:02,240 felly nid ydym yn torri'r gadwyn o gwbl. 153 00:07:02,240 --> 00:07:05,710 >> Felly, gallwn ddweud 9 yn pwyntydd Nesaf yn cyfeirio at yr un lle 154 00:07:05,710 --> 00:07:08,040 bod tri ar ddeg yn Next pwyntydd pwyntiau ar hyn o bryd. 155 00:07:08,040 --> 00:07:10,331 Oherwydd ein bod yn y pen draw mynd i eisiau i sgip dros 13. 156 00:07:10,331 --> 00:07:13,750 Felly ble bynnag 13 pwynt nesaf, byddwch yn eisiau naw i bwynt yno yn lle hynny. 157 00:07:13,750 --> 00:07:15,200 Felly dyna hynny. 158 00:07:15,200 --> 00:07:20,370 Ac yna ble bynnag 13 pwynt yn ôl i, beth bynnag a ddaw cyn 13, 159 00:07:20,370 --> 00:07:24,800 rydym am 10 i bwynt at hynny yn hytrach na 13. 160 00:07:24,800 --> 00:07:29,290 Yn awr yn sylwi, os byddwch yn dilyn y saethau, gallwn alw heibio 13 161 00:07:29,290 --> 00:07:32,380 heb holi i golli unrhyw wybodaeth. 162 00:07:32,380 --> 00:07:36,002 Rydym wedi cadw cyfanrwydd y rhestr, symud y ddau ymlaen ac yn ôl. 163 00:07:36,002 --> 00:07:38,210 Ac yna y gallwn yn unig fath o lanhau ychydig bach 164 00:07:38,210 --> 00:07:40,930 drwy dynnu ar y rhestr at ei gilydd. 165 00:07:40,930 --> 00:07:43,270 Felly, rydym yn haildrefnu y awgrymiadau ar y naill ochr. 166 00:07:43,270 --> 00:07:46,231 Ac yna rydym yn rhyddhau X y nod a oedd yn cynnwys 13, 167 00:07:46,231 --> 00:07:47,480 ac nid oeddem yn torri'r gadwyn. 168 00:07:47,480 --> 00:07:50,980 Felly, rydym yn gwneud yn dda. 169 00:07:50,980 --> 00:07:53,000 >> Nodyn Terfynol yma ar restrau cysylltiedig. 170 00:07:53,000 --> 00:07:55,990 Felly y ddau singly- ac yn ddwbl-cysylltiedig rhestrau, fel yr ydym wedi gweld, 171 00:07:55,990 --> 00:07:58,959 cefnogaeth mewnosod 'n sylweddol effeithlon a dileu elfennau. 172 00:07:58,959 --> 00:08:00,750 Gallwch 'n bert lawer yn ei wneud mewn pryd gyson. 173 00:08:00,750 --> 00:08:03,333 Beth oedd yn rhaid i ni ei wneud i ddileu elfen yn unig eiliad yn ôl? 174 00:08:03,333 --> 00:08:04,440 Rydym yn symud un pwyntydd. 175 00:08:04,440 --> 00:08:05,920 Rydym yn symud pwyntydd arall. 176 00:08:05,920 --> 00:08:07,915 Rydym yn rhyddhau Cymerodd X-- tri gweithrediadau. 177 00:08:07,915 --> 00:08:14,500 Mae bob amser yn cymryd tair gweithrediadau i dileu y node-- i ryddhau un nod. 178 00:08:14,500 --> 00:08:15,280 >> Sut ydym yn mewnosod? 179 00:08:15,280 --> 00:08:17,280 Wel, rydym yn unig bob amser tacio ar y dechrau 180 00:08:17,280 --> 00:08:19,400 os ydym yn mewnosod yn effeithlon. 181 00:08:19,400 --> 00:08:21,964 Felly mae angen i rearrange-- yn dibynnu ar os yw'n 182 00:08:21,964 --> 00:08:24,380 a singly- neu ddwbl-cysylltiedig rhestr, efallai y bydd angen i ni ei wneud tri 183 00:08:24,380 --> 00:08:26,824 neu max pedwar gweithrediad. 184 00:08:26,824 --> 00:08:28,365 Ond unwaith eto, mae bob amser tri neu bedwar. 185 00:08:28,365 --> 00:08:30,531 Nid oes ots faint o elfennau yn ein rhestr, 186 00:08:30,531 --> 00:08:33,549 mae bob amser yn dair neu bedair operations-- yn union fel dileu bob amser 187 00:08:33,549 --> 00:08:35,320 tri neu pedwar gweithrediad. 188 00:08:35,320 --> 00:08:36,919 Mae'n amser yn gyson. 189 00:08:36,919 --> 00:08:38,169 Felly dyna wirioneddol wych. 190 00:08:38,169 --> 00:08:40,620 >> Gyda araeau, rydym yn ei wneud rhywbeth fel math fewnosod. 191 00:08:40,620 --> 00:08:44,739 Mae'n debyg y byddwch yn cofio bod mewnosod Nid yw fath yn algorithm amser cyson. 192 00:08:44,739 --> 00:08:46,030 Mae'n mewn gwirionedd yn eithaf drud. 193 00:08:46,030 --> 00:08:48,840 Felly, mae hyn yn llawer gwell i fewnosod. 194 00:08:48,840 --> 00:08:51,840 Ond fel y soniais yn y yn unigol-gysylltu rhestr fideo, 195 00:08:51,840 --> 00:08:54,030 mae gennym anfantais yma hefyd, dde? 196 00:08:54,030 --> 00:08:57,580 Rydyn ni wedi colli'r gallu i gael mynediad at elfennau hap. 197 00:08:57,580 --> 00:09:02,310 Ni allwn ddweud, yr wyf am yr elfen rhif pedwar neu elfen rif 10 o restr cysylltiedig 198 00:09:02,310 --> 00:09:04,990 yr un ffordd y gallwn gwneud hynny gydag amrywiaeth 199 00:09:04,990 --> 00:09:08,630 neu a allwn yn unig yn uniongyrchol mynegai i mewn i elfen ein casgliad ar. 200 00:09:08,630 --> 00:09:10,930 >> Ac felly ceisio dod o hyd i elfen mewn list-- cysylltiedig 201 00:09:10,930 --> 00:09:15,880 os chwilio yn important-- Efallai yn awr yn cymryd amser llinol. 202 00:09:15,880 --> 00:09:18,330 Gan fod y rhestr yn cael mwy o amser, mae'n Gallai cymryd un cam ychwanegol 203 00:09:18,330 --> 00:09:22,644 ar gyfer pob elfen unigol yn y rhestr yn Er mwyn dod o hyd i beth yr ydym yn chwilio amdano. 204 00:09:22,644 --> 00:09:23,560 Felly mae 'na offs masnach. 205 00:09:23,560 --> 00:09:25,780 Mae 'na dipyn o pro ac elfen con yma. 206 00:09:25,780 --> 00:09:29,110 >> Ac nid y rhestrau ddwbl-gysylltiedig yn cael eu math olaf o gyfuniad strwythur data 207 00:09:29,110 --> 00:09:32,840 y byddwn yn siarad am, gan ystyried yr holl adeiladu sylfaenol 208 00:09:32,840 --> 00:09:34,865 blociau o C yn rhoi at ei gilydd. 209 00:09:34,865 --> 00:09:37,900 Oherwydd yn wir, y gallwn hyd yn oed yn gwneud yn well na hyn 210 00:09:37,900 --> 00:09:41,970 i greu strwythur data y efallai y byddwch yn gallu chwilio trwy 211 00:09:41,970 --> 00:09:43,360 mewn amser cyson hefyd. 212 00:09:43,360 --> 00:09:46,080 Ond yn fwy am hynny yn y fideo arall. 213 00:09:46,080 --> 00:09:47,150 >> Rwy'n Doug Lloyd. 214 00:09:47,150 --> 00:09:49,050 Mae hyn yn CS50. 215 00:09:49,050 --> 00:09:50,877