1 00:00:07,720 --> 00:00:10,950 [Powered by Google Translate] Rydych chi wedi clywed yn ôl pob tebyg mae pobl yn siarad am algorithm gyflym nac yn effeithlon 2 00:00:10,950 --> 00:00:13,090 am weithredu eich tasg benodol, 3 00:00:13,090 --> 00:00:16,110 ond beth yn union mae'n ei olygu i algorithm i fod yn gyflym nac yn effeithlon? 4 00:00:16,110 --> 00:00:18,580 Wel, nid yw'n sôn am fesur mewn amser real, 5 00:00:18,580 --> 00:00:20,500 fel eiliadau neu funudau. 6 00:00:20,500 --> 00:00:22,220 Mae hyn oherwydd bod caledwedd cyfrifiadurol 7 00:00:22,220 --> 00:00:24,260 a meddalwedd yn amrywio yn sylweddol. 8 00:00:24,260 --> 00:00:26,020 Efallai fy rhaglen yn rhedeg yn arafach na chi, 9 00:00:26,020 --> 00:00:28,000 gan fy mod yn rhedeg ar gyfrifiadur hŷn, 10 00:00:28,000 --> 00:00:30,110 neu oherwydd fy mod yn digwydd bod yn chwarae gêm fideo ar-lein 11 00:00:30,110 --> 00:00:32,670 ar yr un pryd, sy'n meddiannu'r holl fy nghof, 12 00:00:32,670 --> 00:00:35,400 neu efallai y byddaf yn cynnal fy rhaglen trwy feddalwedd gwahanol 13 00:00:35,400 --> 00:00:37,550 sy'n cyfathrebu gyda'r peiriant yn wahanol ar lefel isel. 14 00:00:37,550 --> 00:00:39,650 Mae fel chymharu afalau ac orennau. 15 00:00:39,650 --> 00:00:41,940 Dim ond oherwydd fy nghyfrifiadur arafach cymryd mwy o amser 16 00:00:41,940 --> 00:00:43,410 nag un chi i roi yn ôl ateb 17 00:00:43,410 --> 00:00:45,510 nid yw'n golygu bod gennych yr algorithm yn fwy effeithlon. 18 00:00:45,510 --> 00:00:48,830 >> Felly, gan na allwn uniongyrchol gymharu runtimes o raglenni 19 00:00:48,830 --> 00:00:50,140 mewn eiliadau neu funudau, 20 00:00:50,140 --> 00:00:52,310 sut rydym yn cymharu 2 algorithmau gwahanol 21 00:00:52,310 --> 00:00:55,030 waeth beth yw eu caledwedd neu feddalwedd amgylchedd? 22 00:00:55,030 --> 00:00:58,000 Er mwyn creu ffordd fwy unffurf o fesur effeithlonrwydd algorithmig, 23 00:00:58,000 --> 00:01:00,360 gwyddonwyr cyfrifiadurol a mathemategwyr wedi dyfeisio 24 00:01:00,360 --> 00:01:03,830 cysyniadau ar gyfer mesur cymhlethdod asymptotic o raglen 25 00:01:03,830 --> 00:01:06,110 a nodiant o'r enw 'Ohnotation Mawr' 26 00:01:06,110 --> 00:01:08,320 ar gyfer disgrifio hyn. 27 00:01:08,320 --> 00:01:10,820 Mae'r diffiniad ffurfiol yw bod y ffwythiant f (x) 28 00:01:10,820 --> 00:01:13,390 yn rhedeg ar y drefn g (x) 29 00:01:13,390 --> 00:01:15,140 os oes yn bodoli rhywfaint o werth (x), x ₀ a 30 00:01:15,140 --> 00:01:17,630 rhai cyson, C, y 31 00:01:17,630 --> 00:01:19,340 f (x) yn llai na neu'n hafal i 32 00:01:19,340 --> 00:01:21,230 bod yn gyson weithiau g (x) 33 00:01:21,230 --> 00:01:23,190 ar gyfer pob x yn fwy na x ₀. 34 00:01:23,190 --> 00:01:25,290 >> Ond peidiwch â bod ofn i ffwrdd gan y diffiniad ffurfiol. 35 00:01:25,290 --> 00:01:28,020 Beth mae hyn mewn gwirionedd yn ei olygu yn llai termau damcaniaethol? 36 00:01:28,020 --> 00:01:30,580 Wel, yn y bôn yn ffordd o ddadansoddi 37 00:01:30,580 --> 00:01:33,580 pa mor gyflym runtime rhaglen yn tyfu asymptotically. 38 00:01:33,580 --> 00:01:37,170 Hynny yw, gan fod y maint eich mewnbwn yn cynyddu tuag at anfeidredd, 39 00:01:37,170 --> 00:01:41,390 ddweud, eich bod yn didoli amrywiaeth o faint 1,000 o'i gymharu â amrywiaeth o faint 10. 40 00:01:41,390 --> 00:01:44,950 Sut mae'r Rhedeg eich rhaglen yn tyfu? 41 00:01:44,950 --> 00:01:47,390 Er enghraifft, dychmygwch cyfrif y nifer o gymeriadau 42 00:01:47,390 --> 00:01:49,350 mewn llinyn y ffordd symlaf 43 00:01:49,350 --> 00:01:51,620  trwy gerdded trwy'r llinyn cyfan 44 00:01:51,620 --> 00:01:54,790 llythyr-by-lythyr ac ychwanegu 1 at cownter ar gyfer pob cymeriad. 45 00:01:55,700 --> 00:01:58,420 Mae'r algorithm yn cael ei ddweud i redeg mewn amser llinol 46 00:01:58,420 --> 00:02:00,460 mewn perthynas â nifer o gymeriadau, 47 00:02:00,460 --> 00:02:02,670 'N' yn y llinyn. 48 00:02:02,670 --> 00:02:04,910 Yn fyr, mae'n rhedeg yn O (n). 49 00:02:05,570 --> 00:02:07,290 Pam fod hyn? 50 00:02:07,290 --> 00:02:09,539 Wel, gan ddefnyddio'r dull hwn, yr amser sydd ei angen 51 00:02:09,539 --> 00:02:11,300 i groesi'r llinyn cyfan 52 00:02:11,300 --> 00:02:13,920 yn gymesur â nifer o gymeriadau. 53 00:02:13,920 --> 00:02:16,480 Cyfrif y nifer o gymeriadau mewn llinyn 20-cymeriad 54 00:02:16,480 --> 00:02:18,580 yn mynd i cymryd dwywaith cyhyd ag y mae'n ei gymryd 55 00:02:18,580 --> 00:02:20,330 i gyfrif y cymeriadau mewn llinyn 10-gymeriad, 56 00:02:20,330 --> 00:02:23,000 oherwydd bod yn rhaid i chi edrych ar yr holl gymeriadau 57 00:02:23,000 --> 00:02:25,740 ac mae pob cymeriad yn cymryd yr un faint o amser i edrych ar. 58 00:02:25,740 --> 00:02:28,050 Wrth i chi gynyddu nifer y cymeriadau, 59 00:02:28,050 --> 00:02:30,950 Bydd y runtime cynyddu llinol gyda hyd mewnbwn. 60 00:02:30,950 --> 00:02:33,500 >> Nawr, dychmygwch os byddwch yn penderfynu bod amser llinol, 61 00:02:33,500 --> 00:02:36,390 O (n), nid yn unig oedd yn ddigon cyflym i chi? 62 00:02:36,390 --> 00:02:38,750 Efallai eich bod yn storio llinynnau enfawr, 63 00:02:38,750 --> 00:02:40,450 ac ni allwch fforddio'r amser ychwanegol y byddai'n ei gymryd 64 00:02:40,450 --> 00:02:44,000 i deithio ar draws eu holl gymeriadau cyfrif un-wrth-un. 65 00:02:44,000 --> 00:02:46,650 Felly, byddwch yn penderfynu i roi cynnig ar rywbeth gwahanol. 66 00:02:46,650 --> 00:02:49,270 Beth os ydych yn digwydd i eisoes yn storio nifer y nodau 67 00:02:49,270 --> 00:02:52,690 yn y llinyn, dyweder, mewn newidyn a elwir yn 'Len,' 68 00:02:52,690 --> 00:02:54,210 yn gynnar yn y rhaglen, 69 00:02:54,210 --> 00:02:57,800 cyn i chi storio hyd yn oed y cymeriad cyntaf yn eich llinyn? 70 00:02:57,800 --> 00:02:59,980 Yna, mae pob byddai'n rhaid i chi ei wneud yn awr i ddarganfod hyd llinyn, 71 00:02:59,980 --> 00:03:02,570 yw gwirio beth yw gwerth y newidyn yn. 72 00:03:02,570 --> 00:03:05,530 Ni fyddai rhaid i chi edrych ar y llinyn ei hun o gwbl, 73 00:03:05,530 --> 00:03:08,160 a chael gafael ar y gwerth newidyn fel Len yn cael ei ystyried 74 00:03:08,160 --> 00:03:11,100 llawdriniaeth amser asymptotically gyson, 75 00:03:11,100 --> 00:03:13,070 neu O (1). 76 00:03:13,070 --> 00:03:17,110 Pam fod hyn? Wel, cofio beth cymhlethdod asymptotic olygu. 77 00:03:17,110 --> 00:03:19,100 Sut mae'r newid runtime gan fod maint 78 00:03:19,100 --> 00:03:21,400 eich mewnbwn yn tyfu? 79 00:03:21,400 --> 00:03:24,630 >> Dywedwch eich bod chi yn ceisio cael y nifer o gymeriadau mewn llinyn mwy. 80 00:03:24,630 --> 00:03:26,960 Wel, ni fyddai ots pa mor fawr ydych yn gwneud y llinyn, 81 00:03:26,960 --> 00:03:28,690 hyd yn oed filiwn nod o hyd, 82 00:03:28,690 --> 00:03:31,150 bob byddai'n rhaid i chi ei wneud i ddod o hyd i hyd y llinyn gyda dull hwn, 83 00:03:31,150 --> 00:03:33,790 yw darllen y gwerth y len amrywiol, 84 00:03:33,790 --> 00:03:35,440 a wnaethoch eisoes. 85 00:03:35,440 --> 00:03:38,200 Mae'r, hyd mewnbwn hynny yw, hyd y llinyn ydych yn ceisio dod o hyd, 86 00:03:38,200 --> 00:03:41,510 nid yw'n effeithio o gwbl pa mor gyflym eich rhaglen yn rhedeg. 87 00:03:41,510 --> 00:03:44,550 Byddai hyn yn rhan o'ch rhaglen yn rhedeg yr un mor gyflym ar linyn un cymeriad 88 00:03:44,550 --> 00:03:46,170 a llinyn mil-gymeriad, 89 00:03:46,170 --> 00:03:49,140 a dyna pam y byddai hyn rhaglen yn cael ei gyfeirio ato fel rhedeg mewn amser cyson 90 00:03:49,140 --> 00:03:51,520 mewn perthynas â maint y mewnbwn. 91 00:03:51,520 --> 00:03:53,920 >> Wrth gwrs, mae yna anfantais. 92 00:03:53,920 --> 00:03:55,710 Byddwch yn treulio o le cof ychwanegol ar eich cyfrifiadur 93 00:03:55,710 --> 00:03:57,380 storio y newidyn 94 00:03:57,380 --> 00:03:59,270 a'r amser ychwanegol y mae'n ei gymryd i chi 95 00:03:59,270 --> 00:04:01,490 i wneud y storio gwirioneddol y newidyn, 96 00:04:01,490 --> 00:04:03,390 ond mae'r pwynt yn dal i sefyll, 97 00:04:03,390 --> 00:04:05,060 darganfod pa mor hir eich llinyn yn 98 00:04:05,060 --> 00:04:07,600 nid yw'n dibynnu ar hyd y llinyn o gwbl. 99 00:04:07,600 --> 00:04:10,720 Felly, mae'n rhedeg yn O (1) neu amser cyson. 100 00:04:10,720 --> 00:04:13,070 Mae hyn yn sicr nid o reidrwydd yn golygu 101 00:04:13,070 --> 00:04:15,610 bod eich cod yn rhedeg mewn 1 cam, 102 00:04:15,610 --> 00:04:17,470 ond ni waeth faint o gamau y mae, 103 00:04:17,470 --> 00:04:20,019 os nad yw'n newid gyda maint y mewnbynnau, 104 00:04:20,019 --> 00:04:23,420 mae'n dal i fod asymptotically gyson yr ydym yn eu cynrychioli fel O (1). 105 00:04:23,420 --> 00:04:25,120 >> Fel mae'n debyg y gallwch ddyfalu, 106 00:04:25,120 --> 00:04:27,940 mae yna nifer o wahanol runtimes O mawr i fesur algorithmau â hwy. 107 00:04:27,940 --> 00:04:32,980 O (n) ² algorithmau yn asymptotically arafach na O (n) algorithmau. 108 00:04:32,980 --> 00:04:35,910 Hynny yw, gan fod nifer o elfennau (n) yn tyfu, 109 00:04:35,910 --> 00:04:39,280 yn y pen draw bydd O (n) ² algorithmau yn cymryd mwy o amser 110 00:04:39,280 --> 00:04:41,000 na O (n) algorithmau i redeg. 111 00:04:41,000 --> 00:04:43,960 Nid yw hyn yn golygu O (n) algorithmau bob amser yn rhedeg yn gyflymach 112 00:04:43,960 --> 00:04:46,410 na O (n) ² algorithms, hyd yn oed yn yr un amgylchedd, 113 00:04:46,410 --> 00:04:48,080 ar yr un caledwedd. 114 00:04:48,080 --> 00:04:50,180 Efallai ar gyfer meintiau mewnbwn bach, 115 00:04:50,180 --> 00:04:52,900  gallai'r O (n) ² algorithm yn gweithio mewn gwirionedd yn gyflymach, 116 00:04:52,900 --> 00:04:55,450 ond, yn y pen draw, gan fod maint yn cynyddu mewnbwn 117 00:04:55,450 --> 00:04:58,760 tuag at anfeidredd, y (n) O runtime ² algorithm yn 118 00:04:58,760 --> 00:05:02,000 yn y pen draw Eclipse y runtime y algorithm O (n). 119 00:05:02,000 --> 00:05:04,230 Yn union fel unrhyw swyddogaeth mathemategol gwadratig 120 00:05:04,230 --> 00:05:06,510  yn y pen draw goddiweddyd unrhyw swyddogaeth llinellol, 121 00:05:06,510 --> 00:05:09,200 ni waeth faint o pen gychwyn y swyddogaeth llinellol yn dechrau i ffwrdd gyda. 122 00:05:10,010 --> 00:05:12,000 Os ydych chi'n gweithio gyda symiau mawr o ddata, 123 00:05:12,000 --> 00:05:15,510 algorithmau sy'n rhedeg yn O (n) y gall ² amser mewn gwirionedd yn y pen draw arafu eich rhaglen, 124 00:05:15,510 --> 00:05:17,770 ond ar gyfer meintiau mewnbwn bach, 125 00:05:17,770 --> 00:05:19,420 mae'n debyg na fydd hyd yn oed yn sylwi. 126 00:05:19,420 --> 00:05:21,280 >> Arall cymhlethdod asymptotic yw, 127 00:05:21,280 --> 00:05:24,420 amser logarithmig, O (n log). 128 00:05:24,420 --> 00:05:26,340 Un enghraifft o algorithm sy'n rhedeg hyn yn gyflym 129 00:05:26,340 --> 00:05:29,060 yw'r algorithm chwilio deuaidd clasurol, 130 00:05:29,060 --> 00:05:31,850 gyfer dod o hyd elfen mewn rhestr eisoes wedi ei ddidoli o elfennau. 131 00:05:31,850 --> 00:05:33,400 >> Os nad ydych yn gwybod pa chwiliad deuaidd yn ei wneud, 132 00:05:33,400 --> 00:05:35,170 'N annhymerus' esbonio i chi yn gyflym iawn. 133 00:05:35,170 --> 00:05:37,020 Dewch i ddweud eich bod yn chwilio am y rhif 3 134 00:05:37,020 --> 00:05:40,200 yn y amrywiaeth o gyfanrifau. 135 00:05:40,200 --> 00:05:42,140 Mae'n edrych ar yr elfen ganol y rhesi 136 00:05:42,140 --> 00:05:46,830 ac yn gofyn, "A yw'r elfen rwyf am fwy na, hafal i, neu'n llai na hyn?" 137 00:05:46,830 --> 00:05:49,150 Os yw'n gyfartal, yna fawr. Byddwch yn dod o hyd i'r elfen, ac rydych yn ei wneud. 138 00:05:49,150 --> 00:05:51,300 Os yw'n fwy, yna rydych yn gwybod yr elfen 139 00:05:51,300 --> 00:05:53,440 rhaid iddo fod yn yr ochr dde y rhesi, 140 00:05:53,440 --> 00:05:55,200 a gallwch edrych yn unig ar hynny yn y dyfodol, 141 00:05:55,200 --> 00:05:57,690 ac os yw'n llai, yna rydych yn gwybod mae'n rhaid iddo fod yn yr ochr chwith. 142 00:05:57,690 --> 00:06:00,980 Ailadroddir y broses hon wedyn gyda'r amrywiaeth llai faint 143 00:06:00,980 --> 00:06:02,870 hyd nes yr elfen gywir yn cael ei ganfod. 144 00:06:08,080 --> 00:06:11,670 >> Mae'r algorithm pwerus yn torri'r maint amrywiaeth yn hanner gyda pob gweithrediad. 145 00:06:11,670 --> 00:06:14,080 Felly, i ddod o hyd i elfen mewn arae datrys o faint 8, 146 00:06:14,080 --> 00:06:16,170 ar y mwyaf (logio ₂ 8), 147 00:06:16,170 --> 00:06:18,450 neu 3 o'r gweithrediadau hyn, 148 00:06:18,450 --> 00:06:22,260 Bydd yr elfen gwirio canol, yna torri'r amrywiaeth yn ei hanner yn cael ei angen, 149 00:06:22,260 --> 00:06:25,670 tra bod amrywiaeth o maint 16 yn cymryd (logio ₂ 16), 150 00:06:25,670 --> 00:06:27,480 neu 4 gweithrediadau. 151 00:06:27,480 --> 00:06:30,570 Dyna dim ond 1 gweithrediad mwy o amrywiaeth dyblu-maint. 152 00:06:30,570 --> 00:06:32,220 Ddyblu maint y rhesi 153 00:06:32,220 --> 00:06:35,160 cynyddu'r runtime gan dim ond 1 darn o cod hwn. 154 00:06:35,160 --> 00:06:37,770 Unwaith eto, gwirio elfen ganol y rhestr, yna hollti. 155 00:06:37,770 --> 00:06:40,440 Felly, dywedir i weithredu mewn amser logarithmig, 156 00:06:40,440 --> 00:06:42,440 O (n log). 157 00:06:42,440 --> 00:06:44,270 Ond arhoswch, y dywedwch, 158 00:06:44,270 --> 00:06:47,510 Nid yw hyn yn dibynnu ar ble yn y rhestr yr elfen rydych yn chwilio amdano yw? 159 00:06:47,510 --> 00:06:50,090 Beth os bydd yr elfen gyntaf ydych yn edrych ar digwydd i fod yn yr un cywir? 160 00:06:50,090 --> 00:06:52,040 Yna, dim ond yn cymryd 1 gweithrediad, 161 00:06:52,040 --> 00:06:54,310 ni waeth pa mor fawr yw'r rhestr yn. 162 00:06:54,310 --> 00:06:56,310 >> Wel, dyna pam mae gwyddonwyr cyfrifiadurol delerau mwy 163 00:06:56,310 --> 00:06:58,770 ar gyfer cymhlethdod asymptotic sy'n adlewyrchu orau-achos 164 00:06:58,770 --> 00:07:01,050 a gwaethaf perfformiadau o algorithm. 165 00:07:01,050 --> 00:07:03,320 Yn fwy priodol, y terfynau uchaf ac isaf 166 00:07:03,320 --> 00:07:05,090 ar y runtime. 167 00:07:05,090 --> 00:07:07,660 Yn yr achos gorau ar gyfer chwiliad deuaidd, ein elfen yn 168 00:07:07,660 --> 00:07:09,330 iawn yno yn y canol, 169 00:07:09,330 --> 00:07:11,770 a byddwch yn ei gael mewn pryd yn gyson, 170 00:07:11,770 --> 00:07:14,240 ni waeth pa mor fawr yw'r gweddill y rhesi yn. 171 00:07:15,360 --> 00:07:17,650 Y symbol a ddefnyddir ar gyfer hyn yw Ω. 172 00:07:17,650 --> 00:07:19,930 Felly, mae'r algorithm yn cael ei ddweud i redeg yn Ω (1). 173 00:07:19,930 --> 00:07:21,990 Yn yr achos gorau, mae'n dod o hyd i'r elfen yn gyflym, 174 00:07:21,990 --> 00:07:24,200 ni waeth pa mor fawr yr amrywiaeth yw, 175 00:07:24,200 --> 00:07:26,050 ond yn yr achos gwaethaf, 176 00:07:26,050 --> 00:07:28,690 mae'n rhaid iddo berfformio (log n) gwiriadau rhannu 177 00:07:28,690 --> 00:07:31,030 y rhesi i ddod o hyd i'r elfen cywir. 178 00:07:31,030 --> 00:07:34,270 Ffiniau gwaethaf uchaf yn cael eu cyfeirio at y mawr "O" eich bod eisoes yn gwybod. 179 00:07:34,270 --> 00:07:38,080 Felly, mae'n O (log n), ond Ω (1). 180 00:07:38,080 --> 00:07:40,680 >> Mae chwiliad llinol, ar y llaw arall, 181 00:07:40,680 --> 00:07:43,220 yr ydych yn cerdded drwy bob elfen o'r rhesi 182 00:07:43,220 --> 00:07:45,170 i ddod o hyd i'r un yr ydych ei eisiau, 183 00:07:45,170 --> 00:07:47,420 ar Ω gorau (1). 184 00:07:47,420 --> 00:07:49,430 Unwaith eto, yr elfen gyntaf i chi ei eisiau. 185 00:07:49,430 --> 00:07:51,930 Felly, nid oes ots pa mor fawr yw'r casgliad yn. 186 00:07:51,930 --> 00:07:54,840 Yn yr achos gwaethaf, mae'n elfen olaf yn y casgliad. 187 00:07:54,840 --> 00:07:58,560 Felly, rhaid i chi gerdded drwy'r holl elfennau n yn yr amrywiaeth o hyd iddi, 188 00:07:58,560 --> 00:08:02,170 yn hoffi pe baech yn edrych am 3. 189 00:08:04,320 --> 00:08:06,030 Felly, mae'n rhedeg mewn amser O (n) 190 00:08:06,030 --> 00:08:09,330 oherwydd ei fod yn gymesur â nifer o elfennau yn y rhesi. 191 00:08:10,800 --> 00:08:12,830 >> Un symbol mwy a ddefnyddir yn Θ. 192 00:08:12,830 --> 00:08:15,820 Gall hyn gael ei ddefnyddio i ddisgrifio algorithmau lle yr achosion gorau a gwaethaf 193 00:08:15,820 --> 00:08:17,440 yr un fath. 194 00:08:17,440 --> 00:08:20,390 Mae hyn yn wir yn y algorithmau llinyn-hyd buom yn siarad am gynharach. 195 00:08:20,390 --> 00:08:22,780 Hynny yw, os ydym yn ei storio mewn newidyn cyn 196 00:08:22,780 --> 00:08:25,160 byddwn yn storio y llinyn a chael mynediad iddo yn ddiweddarach mewn amser cyson. 197 00:08:25,160 --> 00:08:27,920 Ni waeth pa rif 198 00:08:27,920 --> 00:08:30,130 rydym yn storio yn y newidyn, bydd rhaid i ni edrych arno. 199 00:08:33,110 --> 00:08:35,110 Mae'r achos gorau yw, yr ydym yn edrych arno 200 00:08:35,110 --> 00:08:37,120 a darganfyddwch hyd y llinyn. 201 00:08:37,120 --> 00:08:39,799 Felly Ω (1) neu orau-achos cysonyn amser. 202 00:08:39,799 --> 00:08:41,059 Mae'r achos gwaethaf yw, 203 00:08:41,059 --> 00:08:43,400 rydym yn edrych arno ac yn dod o hyd i hyd y llinyn. 204 00:08:43,400 --> 00:08:47,300 Felly, O (1) neu amser cyson yn achos gwaethaf. 205 00:08:47,300 --> 00:08:49,180 Felly, gan fod yr achos gorau ac achosion gwaethaf yr un fath, 206 00:08:49,180 --> 00:08:52,520 gall hyn fod yn dweud i redeg mewn amser Θ (1). 207 00:08:54,550 --> 00:08:57,010 >> I grynhoi, mae gennym ffyrdd da o reswm am godau effeithlonrwydd 208 00:08:57,010 --> 00:09:00,110 heb wybod dim am y tro byd go iawn yn eu cymryd i redeg, 209 00:09:00,110 --> 00:09:02,270 sy'n cael ei heffeithio gan nifer o ffactorau y tu allan, 210 00:09:02,270 --> 00:09:04,190 gan gynnwys caledwedd gwahanol, meddalwedd, 211 00:09:04,190 --> 00:09:06,040 neu fanylion eich cod. 212 00:09:06,040 --> 00:09:08,380 Hefyd, mae'n ein galluogi i resymu yn dda am beth fydd yn digwydd 213 00:09:08,380 --> 00:09:10,180 pan fydd maint y cynnydd mewnbynnau. 214 00:09:10,180 --> 00:09:12,490 >> Os ydych yn rhedeg yn O (n) ² algorithm, 215 00:09:12,490 --> 00:09:15,240 neu waeth, a O (2 ⁿ) algorithm, 216 00:09:15,240 --> 00:09:17,170 un o'r mathau sy'n tyfu gyflymaf, 217 00:09:17,170 --> 00:09:19,140 byddwch chi wir yn dechrau sylwi ar yr arafu 218 00:09:19,140 --> 00:09:21,220 pan fyddwch yn dechrau gweithio gyda symiau mwy o ddata. 219 00:09:21,220 --> 00:09:23,590 >> Dyna cymhlethdod asymptotic. Diolch.