1 00:00:00,000 --> 00:00:03,346 >> [CHWARAE CERDDORIAETH] 2 00:00:03,346 --> 00:00:05,258 3 00:00:05,258 --> 00:00:06,220 >> DOUG LLOYD: Pob hawl. 4 00:00:06,220 --> 00:00:08,140 Felly chwiliad deuaidd yn algorithm gallwn ddefnyddio 5 00:00:08,140 --> 00:00:10,530 i ddod o hyd elfen y tu mewn o amrywiaeth. 6 00:00:10,530 --> 00:00:14,710 Yn wahanol i chwilio llinol, mae'n gofyn am yn cael eu bodloni amod arbennig ymlaen llaw, 7 00:00:14,710 --> 00:00:19,020 ond mae'n llawer mwy effeithlon os bod cyflwr yw, mewn gwirionedd, wedi cyfarfod. 8 00:00:19,020 --> 00:00:20,470 >> Felly beth yw'r syniad yma? 9 00:00:20,470 --> 00:00:21,780 'i' rhaniad a gorchfygu. 10 00:00:21,780 --> 00:00:25,100 Rydym yn awyddus i leihau maint yr ardal chwilio hanner bob tro 11 00:00:25,100 --> 00:00:27,240 er mwyn dod o hyd i rif darged. 12 00:00:27,240 --> 00:00:29,520 Dyma lle y cyflwr yn dod i chwarae, er. 13 00:00:29,520 --> 00:00:32,740 Ni allwn ond trosoledd grym dileu hanner yr elfennau 14 00:00:32,740 --> 00:00:36,070 heb hyd yn oed edrych ar iddynt os y casgliad yn cael ei datrys. 15 00:00:36,070 --> 00:00:39,200 >> Os mai cymysgedd cyflawn i fyny, ni allwn yn unig allan o law 16 00:00:39,200 --> 00:00:42,870 taflu hanner o'r elfennau, gan fod nid ydym yn gwybod beth rydym yn taflu. 17 00:00:42,870 --> 00:00:45,624 Ond os bydd yr amrywiaeth yn cael eu didoli, gallwn wneud hynny, oherwydd ein 18 00:00:45,624 --> 00:00:48,040 yn gwybod bod popeth i'r chwith lle'r ydym ar hyn o bryd 19 00:00:48,040 --> 00:00:50,500 Mae'n rhaid i fod yn is na'r gwerth yr ydym yn hyn o bryd ar. 20 00:00:50,500 --> 00:00:52,300 Ac mae popeth i'r cywir o'n sefyllfa 21 00:00:52,300 --> 00:00:55,040 Mae'n rhaid i fod yn fwy na'r gwerth Ar hyn o bryd rydym yn edrych ar. 22 00:00:55,040 --> 00:00:58,710 >> Felly beth yw'r pseudocode camau ar gyfer chwilio deuaidd? 23 00:00:58,710 --> 00:01:02,310 Rydym yn ailadrodd y broses hon nes bod y array neu, wrth i ni symud ymlaen drwy, 24 00:01:02,310 --> 00:01:07,740 is-araeau, darnau llai o yr amrywiaeth gwreiddiol, o faint 0. 25 00:01:07,740 --> 00:01:10,960 Cyfrifwch y man canol o'r is amrywiaeth cyfredol. 26 00:01:10,960 --> 00:01:14,460 >> Os yw gwerth yr ydych yn chwilio amdano yw yn yr elfen honno y rhesi, rhoi'r gorau. 27 00:01:14,460 --> 00:01:15,030 Rydych yn ei chael yn. 28 00:01:15,030 --> 00:01:16,550 Mae hynny'n wych. 29 00:01:16,550 --> 00:01:19,610 Fel arall, os yw'r targed yn llai na'r hyn sydd yn y canol, 30 00:01:19,610 --> 00:01:23,430 felly os bydd y gwerth yr ydym yn chwilio am yn is na'r hyn a welwn, 31 00:01:23,430 --> 00:01:26,780 ailadrodd y broses hon eto, ond newid y pwynt diwedd, yn lle hynny 32 00:01:26,780 --> 00:01:29,300 o fod y gwreiddiol cwblhau amrywiaeth llawn, 33 00:01:29,300 --> 00:01:34,110 i fod yr un ar y chwith o ble yr ydym newydd edrych. 34 00:01:34,110 --> 00:01:38,940 >> Rydym yn gwybod bod y canol yn rhy uchel, neu y targed yn llai na'r canol, 35 00:01:38,940 --> 00:01:42,210 ac felly mae'n rhaid iddo fodoli, os yw'n yn bodoli o gwbl yn y array, 36 00:01:42,210 --> 00:01:44,660 rhywle i ochr chwith y man canol. 37 00:01:44,660 --> 00:01:48,120 Ac felly byddwn yn gosod y rhesi Lleoliad ychydig i'r chwith 38 00:01:48,120 --> 00:01:51,145 y man canol fel y man pen newydd. 39 00:01:51,145 --> 00:01:53,770 I'r gwrthwyneb, os yw'r targed fwy na'r hyn sydd yn y canol, 40 00:01:53,770 --> 00:01:55,750 rydym yn ei wneud yr union un fath broses, ond yn lle hynny rydym 41 00:01:55,750 --> 00:01:59,520 newid y man cychwyn i fod yn ychydig i'r dde o'r man canol 42 00:01:59,520 --> 00:02:00,680 rydym yn unig cyfrifo. 43 00:02:00,680 --> 00:02:03,220 Ac yna, rydym yn dechrau ar y broses eto. 44 00:02:03,220 --> 00:02:05,220 >> Gadewch i ddychmygu hyn, OK? 45 00:02:05,220 --> 00:02:08,620 Felly mae llawer yn digwydd ac ar fan hyn, ond dyma amrywiaeth o'r 15 elfen. 46 00:02:08,620 --> 00:02:11,400 Ac rydym yn mynd i fod yn cadw golwg o lot mwy o stwff y tro hwn. 47 00:02:11,400 --> 00:02:13,870 Felly, yn chwilio llinol, roeddem dim ond gofalu am darged. 48 00:02:13,870 --> 00:02:15,869 Ond y tro hwn rydym am poeni am ble rydym ni 49 00:02:15,869 --> 00:02:18,480 dechrau edrych, lle a ydym yn rhoi'r gorau i chwilio, 50 00:02:18,480 --> 00:02:21,876 a beth yw'r man canol y rhesi ar hyn o bryd. 51 00:02:21,876 --> 00:02:23,250 Felly dyma ni gyda chwiliad deuaidd. 52 00:02:23,250 --> 00:02:25,290 Rydym yn 'n bert lawer da i fynd, dde? 53 00:02:25,290 --> 00:02:28,650 Im 'jyst yn mynd i roi i lawr islaw fan set o fynegeion. 54 00:02:28,650 --> 00:02:32,430 Mae hyn yn y bôn yn unig pa elfen y rhesi rydym yn sôn am. 55 00:02:32,430 --> 00:02:34,500 Gyda chwiliad llinol, rydym yn gofal, yn gymmaint ag i ni 56 00:02:34,500 --> 00:02:36,800 angen gwybod faint o elfennau rydym yn ailadrodd drosodd, 57 00:02:36,800 --> 00:02:40,010 ond nid ydym yn poeni mewn gwirionedd beth elfen o bryd rydym yn edrych ar. 58 00:02:40,010 --> 00:02:41,014 Yn chwilio deuaidd, rydym yn ei wneud. 59 00:02:41,014 --> 00:02:42,930 Ac felly y rhai yn unig yno cyn lleied canllaw. 60 00:02:42,930 --> 00:02:44,910 >> Er mwyn i ni ddechrau, dde? 61 00:02:44,910 --> 00:02:46,240 Wel, nid yn eithaf. 62 00:02:46,240 --> 00:02:48,160 Cofiwch yr hyn a ddywedais am chwilio deuaidd? 63 00:02:48,160 --> 00:02:50,955 Ni allwn wneud hynny ar amrywiaeth heb eu didoli neu fel arall, 64 00:02:50,955 --> 00:02:55,820 nid ydym yn gwarantu bod y Nid yw elfennau neu werthoedd penodol yn cael eu 65 00:02:55,820 --> 00:02:57,650 yn ddamweiniol taflu pan rydym yn unig 66 00:02:57,650 --> 00:02:59,920 penderfynu anwybyddu hanner y rhesi. 67 00:02:59,920 --> 00:03:02,574 >> Felly cam un gyda chwiliad deuaidd yn rhaid i chi gael amrywiaeth didoli. 68 00:03:02,574 --> 00:03:05,240 A gallwch ddefnyddio unrhyw un o'r didoli algorithmau rydym wedi siarad am 69 00:03:05,240 --> 00:03:06,700 i fynd â chi i'r sefyllfa honno. 70 00:03:06,700 --> 00:03:10,370 Felly nawr, rydym mewn sefyllfa lle gallwn berfformio chwiliad deuaidd. 71 00:03:10,370 --> 00:03:12,560 >> Felly gadewch i ni ailadrodd y broses gam wrth gam a chadw 72 00:03:12,560 --> 00:03:14,830 golwg ar yr hyn sy'n digwydd wrth i ni fynd. 73 00:03:14,830 --> 00:03:17,980 Felly, y tro cyntaf mae angen i ni ei wneud yw cyfrifo bwynt canol y casgliad ar hyn o bryd. 74 00:03:17,980 --> 00:03:20,620 Wel, byddwn yn dweud ein bod, yn gyntaf i gyd, yn chwilio am y gwerth 19. 75 00:03:20,620 --> 00:03:22,290 Rydym yn ceisio dod o hyd i'r rhif 19. 76 00:03:22,290 --> 00:03:25,380 Yr elfen gyntaf y arae wedi ei lleoli yn fynegai sero, 77 00:03:25,380 --> 00:03:28,880 a'r elfen olaf y arae ei leoli yn fynegai 14. 78 00:03:28,880 --> 00:03:31,430 Ac felly byddwn yn galw rhai sy'n dechrau a diwedd. 79 00:03:31,430 --> 00:03:35,387 >> Felly, rydym yn cyfrifo y man canol gan gan ychwanegu 0 plws 14 wedi'i rannu â 2; 80 00:03:35,387 --> 00:03:36,720 canolbwynt eithaf syml. 81 00:03:36,720 --> 00:03:40,190 Ac gallwn ddweud bod y man canol yn awr 7. 82 00:03:40,190 --> 00:03:43,370 Felly, yn 15 yr hyn rydym yn chwilio amdano? 83 00:03:43,370 --> 00:03:43,940 Na, nid yw'n. 84 00:03:43,940 --> 00:03:45,270 Rydym yn chwilio am 19. 85 00:03:45,270 --> 00:03:49,400 Ond rydym yn gwybod bod 19 yn fwy na'r hyn a welsom yn y canol. 86 00:03:49,400 --> 00:03:52,470 >> Felly, yr hyn y gallwn ei wneud yw newid y man cychwyn 87 00:03:52,470 --> 00:03:57,280 i fod ychydig i'r dde o'r pwynt canol, ac ailadrodd y broses eto. 88 00:03:57,280 --> 00:04:01,690 A phan yr ydym yn gwneud hynny, yr ydym yn awr yn dweud y man cychwyn newydd yn lleoliad arae 8. 89 00:04:01,690 --> 00:04:07,220 Beth rydym wedi'i wneud yn effeithiol yn popeth hanwybyddu ar ochr chwith y 15. 90 00:04:07,220 --> 00:04:09,570 Rydym wedi dileu hanner o'r broblem, ac yn awr, 91 00:04:09,570 --> 00:04:13,510 yn hytrach na gorfod chwilio dros 15 elfen yn ein array, 92 00:04:13,510 --> 00:04:15,610 Dim ond rhaid i ni chwilio dros 7. 93 00:04:15,610 --> 00:04:17,706 Felly 8 yw'r man cychwyn newydd. 94 00:04:17,706 --> 00:04:19,600 14 yn dal i fod y pwynt diwedd. 95 00:04:19,600 --> 00:04:21,430 >> Ac yn awr, yr ydym yn mynd dros hyn eto. 96 00:04:21,430 --> 00:04:22,810 Rydym yn cyfrifo'r man canol newydd. 97 00:04:22,810 --> 00:04:27,130 8 plws 14 yw 22, wedi'i rannu â 2 yw 11. 98 00:04:27,130 --> 00:04:28,660 A yw hyn yn yr hyn rydym yn chwilio amdano? 99 00:04:28,660 --> 00:04:30,110 Na, nid yw'n. 100 00:04:30,110 --> 00:04:32,930 Rydym yn chwilio am werth sy'n yn llai na'r hyn yr ydym newydd o hyd. 101 00:04:32,930 --> 00:04:34,721 Felly rydym yn mynd i ailadrodd y broses eto. 102 00:04:34,721 --> 00:04:38,280 Rydym yn mynd i newid y pwynt diwedd i fod ychydig i'r chwith o'r man canol. 103 00:04:38,280 --> 00:04:41,800 Felly, y pwynt pen newydd yn dod yn 10. 104 00:04:41,800 --> 00:04:44,780 Ac yn awr, dyna'r unig ran o yr amrywiaeth mae'n rhaid i ni ddatrys drwy'r. 105 00:04:44,780 --> 00:04:48,460 Felly, rydym yn awr wedi dileu 12 o'r 15 elfen. 106 00:04:48,460 --> 00:04:51,550 Rydym yn gwybod, os 19 yn bodoli yn y array, mae'n 107 00:04:51,550 --> 00:04:57,210 Mae'n rhaid i fodoli rhywle rhwng yr elfen rhif 8 a rhif yr elfen 10. 108 00:04:57,210 --> 00:04:59,400 >> Felly, rydym yn cyfrifo'r man canol newydd eto. 109 00:04:59,400 --> 00:05:02,900 8 a 10 yw 18, wedi'i rannu â 2 yw 9. 110 00:05:02,900 --> 00:05:05,074 Ac yn yr achos hwn, edrych, y targed ar y canol. 111 00:05:05,074 --> 00:05:06,740 Gwelsom yn union yr hyn rydym yn chwilio amdano. 112 00:05:06,740 --> 00:05:07,780 Gallwn roi'r gorau iddi. 113 00:05:07,780 --> 00:05:10,561 Rydym yn cwblhau'n llwyddiannus chwiliad deuaidd. 114 00:05:10,561 --> 00:05:11,060 Iawn. 115 00:05:11,060 --> 00:05:13,930 Felly, rydym yn gwybod algorithm hwn yn gweithio os yw'r targed 116 00:05:13,930 --> 00:05:16,070 rhywle y tu mewn y rhesi. 117 00:05:16,070 --> 00:05:19,060 A yw hyn yn gweithio algorithm os nad yw'r targed yn y arae? 118 00:05:19,060 --> 00:05:20,810 Wel, gadewch i ni ddechrau ei unwaith eto, a'r tro hwn, 119 00:05:20,810 --> 00:05:23,380 gadewch i ni edrych ar gyfer yr elfen 16, sy'n weledol gallwn weld 120 00:05:23,380 --> 00:05:25,620 yn bodoli yn unrhyw le yn y rhesi. 121 00:05:25,620 --> 00:05:27,110 >> Y pwynt cychwyn unwaith eto 0. 122 00:05:27,110 --> 00:05:28,590 Y pwynt pen unwaith eto 14. 123 00:05:28,590 --> 00:05:32,490 Dyna'r mynegeion o'r cyntaf ac elfennau olaf y rhesi cyflawn. 124 00:05:32,490 --> 00:05:36,057 A byddwn yn mynd drwy'r broses rydym yn unig Aeth drwy'r eto, ceisio dod o hyd 16, 125 00:05:36,057 --> 00:05:39,140 hyd yn oed er eu golwg, y gallwn eisoes dweud nad yw'n mynd i fod yno. 126 00:05:39,140 --> 00:05:43,450 Rydym yn unig am wneud yn siŵr algorithm hwn Bydd, mewn gwirionedd, yn dal i weithio mewn rhyw ffordd 127 00:05:43,450 --> 00:05:46,310 ac nid dim ond yn ein gadael sownd mewn dolen ddiddiwedd. 128 00:05:46,310 --> 00:05:48,190 >> Felly, beth yw'r cam cyntaf? 129 00:05:48,190 --> 00:05:50,230 Cyfrifwch y man canol y rhesi ar hyn o bryd. 130 00:05:50,230 --> 00:05:52,790 Beth yw'r man canol y rhesi ar hyn o bryd? 131 00:05:52,790 --> 00:05:54,410 Wel, mae'n 7, dde? 132 00:05:54,410 --> 00:05:57,560 14 plws 0 rannu â 2 yw 7. 133 00:05:57,560 --> 00:05:59,280 Yw 15 yr hyn rydym yn chwilio amdano? 134 00:05:59,280 --> 00:05:59,780 Na 135 00:05:59,780 --> 00:06:02,930 Mae'n eithaf agos, ond rydym yn edrych am werth ychydig yn fwy na hynny. 136 00:06:02,930 --> 00:06:06,310 >> Felly, rydym yn gwybod ei fod yn mynd i yn unman i'r chwith o'r 15. 137 00:06:06,310 --> 00:06:08,540 Y targed yn fwy na beth sydd yn y man canol. 138 00:06:08,540 --> 00:06:12,450 Ac felly rydym yn gosod y man cychwyn newydd i fod ychydig i'r dde o'r canol. 139 00:06:12,450 --> 00:06:16,130 Mae'r canolbwynt ar hyn o bryd 7, felly gadewch i ni ddweud y man cychwyn newydd yw 8. 140 00:06:16,130 --> 00:06:18,130 A beth rydym wedi effeithiol wneud eto yn cael ei anwybyddu 141 00:06:18,130 --> 00:06:21,150 y cyfan hanner chwith y rhesi. 142 00:06:21,150 --> 00:06:23,750 >> Nawr, rydym yn ailadrodd y prosesu un mwy o amser. 143 00:06:23,750 --> 00:06:24,910 Cyfrifwch y man canol newydd. 144 00:06:24,910 --> 00:06:29,350 8 plws 14 yw 22, wedi'i rannu â 2 yw 11. 145 00:06:29,350 --> 00:06:31,060 A yw 23 yr hyn rydym yn chwilio amdano? 146 00:06:31,060 --> 00:06:31,870 Yn anffodus, dim. 147 00:06:31,870 --> 00:06:34,930 Rydym yn chwilio am werth sy'n llai na 23. 148 00:06:34,930 --> 00:06:37,850 Ac felly yn yr achos hwn, rydym yn mynd i newid y pwynt diwedd i fod yr un 149 00:06:37,850 --> 00:06:40,035 i'r chwith y man canol ar hyn o bryd. 150 00:06:40,035 --> 00:06:43,440 Mae'r canolbwynt ar hyn o bryd yw 11, ac felly byddwn yn gosod y pwynt pen newydd 151 00:06:43,440 --> 00:06:46,980 am y tro nesaf rydym yn mynd drwy'r broses hon i 10. 152 00:06:46,980 --> 00:06:48,660 >> Unwaith eto, rydym yn mynd drwy'r broses unwaith eto. 153 00:06:48,660 --> 00:06:49,640 Cyfrifwch y man canol. 154 00:06:49,640 --> 00:06:53,100 8 a 10 wedi'i rannu â 2 yw 9. 155 00:06:53,100 --> 00:06:54,750 A yw 19 yr hyn rydym yn chwilio amdano? 156 00:06:54,750 --> 00:06:55,500 Yn anffodus, dim. 157 00:06:55,500 --> 00:06:58,050 Rydym yn dal i chwilio am nifer llai na hynny. 158 00:06:58,050 --> 00:07:02,060 Felly, byddwn yn newid y diweddbwynt y tro hwn i fod ychydig i'r chwith o'r man canol. 159 00:07:02,060 --> 00:07:05,532 Mae'r canolbwynt ar 9 ar hyn o bryd, felly bydd y pwynt diwedd fod yn 8. 160 00:07:05,532 --> 00:07:07,920 Ac yn awr, rydym yn unig yn chwilio yn elfen amrywiaeth sengl. 161 00:07:07,920 --> 00:07:10,250 >> Beth yw pwynt canol yn arae hon? 162 00:07:10,250 --> 00:07:13,459 Wel, mae'n dechrau am 8, mae'n yn dod i ben yn 8, mae'r man canol yw 8. 163 00:07:13,459 --> 00:07:14,750 A yw bod yr hyn yr ydym yn chwilio amdano? 164 00:07:14,750 --> 00:07:16,339 A ydym yn chwilio am 17? 165 00:07:16,339 --> 00:07:17,380 Na, rydym yn chwilio am 16. 166 00:07:17,380 --> 00:07:20,160 Felly, os yw'n bodoli yn y casgliad, rhaid iddo fodoli rhywle 167 00:07:20,160 --> 00:07:21,935 i'r chwith o'r lle yr ydym ar hyn o bryd yn cael eu. 168 00:07:21,935 --> 00:07:23,060 Felly, beth ydym yn mynd i'w wneud? 169 00:07:23,060 --> 00:07:26,610 Wel, byddwn yn gosod y pwynt diwedd i fod yr un i'r chwith y man canol ar hyn o bryd. 170 00:07:26,610 --> 00:07:29,055 Felly, byddwn yn newid y pwynt diwedd i 7. 171 00:07:29,055 --> 00:07:32,120 A ydych yn gweld beth yn union ddigwyddodd yma, er bod? 172 00:07:32,120 --> 00:07:33,370 Chwiliwch am yma nawr. 173 00:07:33,370 --> 00:07:35,970 >> Start yn awr yn fwy na diwedd. 174 00:07:35,970 --> 00:07:39,620 I bob pwrpas, mae'r ddau yn dod i ben o'n array wedi croesi, 175 00:07:39,620 --> 00:07:42,252 a'r man cychwyn yw yn awr ar ôl y pwynt diwedd. 176 00:07:42,252 --> 00:07:43,960 Wel, nid yn gwneud hynny yn gwneud unrhyw synnwyr, dde? 177 00:07:43,960 --> 00:07:47,960 Felly nawr, yr hyn y gallwn ei ddweud yw ein bod cael amrywiaeth o is-maint 0. 178 00:07:47,960 --> 00:07:50,110 Ac unwaith y byddwn ni'n gotten i y pwynt hwn, y gallwn yn awr 179 00:07:50,110 --> 00:07:53,940 warantu y elfen 16 yn bodoli yn y casgliad, 180 00:07:53,940 --> 00:07:56,280 am fod y man cychwyn a phwynt diwedd wedi croesi. 181 00:07:56,280 --> 00:07:58,340 Ac felly nid yw'n yno. 182 00:07:58,340 --> 00:08:01,340 Yn awr, yn sylwi bod hyn ychydig yn yn wahanol na'r pwynt dechrau a diwedd 183 00:08:01,340 --> 00:08:02,900 pwyntio yr un fath. 184 00:08:02,900 --> 00:08:05,030 Os ydym wedi bod yn edrych am 17, byddai'n cael 185 00:08:05,030 --> 00:08:08,870 bod yn y array, a'r man cychwyn a phwynt diwedd y iteriad diwethaf 186 00:08:08,870 --> 00:08:11,820 cyn pwyntiau hynny groesi, byddem wedi dod o hyd 17 yno. 187 00:08:11,820 --> 00:08:15,510 Dim ond pan fyddant yn croesi y gallwn gwarantu nad yw'r elfen yn 188 00:08:15,510 --> 00:08:17,180 yn bodoli yn y rhesi. 189 00:08:17,180 --> 00:08:20,260 >> Felly gadewch i ni gymryd llawer llai o camau nag chwiliad llinol. 190 00:08:20,260 --> 00:08:23,250 Yn y sefyllfa waethaf, roedd gennym i rannu rhestr o elfennau n 191 00:08:23,250 --> 00:08:27,770 dro ar ôl tro yn ei hanner i ddod o hyd i'r targed, naill ai oherwydd yr elfen targed 192 00:08:27,770 --> 00:08:33,110 Bydd yn rhywle yn yr olaf rhannu, neu nid yw'n bodoli o gwbl. 193 00:08:33,110 --> 00:08:37,830 Felly, yn yr achos gwaethaf, mae'n rhaid i ni gwahanu y array-- ydych chi'n gwybod? 194 00:08:37,830 --> 00:08:40,510 Log amseroedd n; rydym rhaid i dorri y broblem 195 00:08:40,510 --> 00:08:42,610 yn ei hanner nifer penodol o weithiau. 196 00:08:42,610 --> 00:08:45,160 Bod nifer o weithiau yn log n. 197 00:08:45,160 --> 00:08:46,510 >> Beth yw'r senario achos gorau? 198 00:08:46,510 --> 00:08:48,899 Wel, yr ydym tro cyntaf cyfrifwch y man canol, 199 00:08:48,899 --> 00:08:50,190 rydym yn dod o hyd yr hyn rydym yn chwilio amdano. 200 00:08:50,190 --> 00:08:52,150 Ym mhob un o'r blaenorol enghreifftiau ar chwilio deuaidd 201 00:08:52,150 --> 00:08:55,489 rydym newydd mynd dros, os oedd gennym bod yn chwilio am yr elfen 15, 202 00:08:55,489 --> 00:08:57,030 byddem wedi canfod bod ar unwaith. 203 00:08:57,030 --> 00:08:58,321 Dyna oedd ar y dechrau. 204 00:08:58,321 --> 00:09:01,200 Dyna oedd canolbwynt y cynnig cyntaf ar raniad 205 00:09:01,200 --> 00:09:03,950 o is-adran i chwilio deuaidd. 206 00:09:03,950 --> 00:09:06,350 >> Ac felly yn y gwaethaf achos, chwilio deuaidd yn rhedeg 207 00:09:06,350 --> 00:09:11,580 yn n log, sy'n sylweddol well na chwilio llinol, yn yr achos gwaethaf. 208 00:09:11,580 --> 00:09:16,210 Yn yr achos gorau, deuaidd chwilio rhedeg mewn omega o 1. 209 00:09:16,210 --> 00:09:18,990 Felly chwiliad deuaidd yn llawer yn well na chwilio llinol, 210 00:09:18,990 --> 00:09:23,270 ond rhaid i chi ddelio â'r broses o didoli eich array gyntaf cyn y gallwch 211 00:09:23,270 --> 00:09:26,140 trosoledd grym chwiliad deuaidd. 212 00:09:26,140 --> 00:09:27,130 >> Rwy'n Doug Lloyd. 213 00:09:27,130 --> 00:09:29,470 Mae hyn yn CS 50. 214 00:09:29,470 --> 00:09:31,070