1 00:00:00,000 --> 00:00:03,346 >> [Muzika] 2 00:00:03,346 --> 00:00:05,258 3 00:00:05,258 --> 00:00:06,220 >> DOUG Lloyd: Në rregull. 4 00:00:06,220 --> 00:00:08,140 Pra, kërko binar është një Algorithm ne mund të përdorim 5 00:00:08,140 --> 00:00:10,530 për të gjetur një element brenda një grup. 6 00:00:10,530 --> 00:00:14,710 Ndryshe kërkim lineare, ajo kërkon një kusht të veçantë të plotësohen paraprakisht, 7 00:00:14,710 --> 00:00:19,020 por ajo është aq shumë më efikas nëse se gjendja është, në fakt, u takuan. 8 00:00:19,020 --> 00:00:20,470 >> Pra, çfarë është ideja këtu? 9 00:00:20,470 --> 00:00:21,780 është përça dhe sundo. 10 00:00:21,780 --> 00:00:25,100 Ne duam të zvogëluar madhësinë e zona e kërkimit nga gjysmë çdo herë 11 00:00:25,100 --> 00:00:27,240 në mënyrë që të gjeni një numër të synuar. 12 00:00:27,240 --> 00:00:29,520 Kjo është ajo ku se gjendja vjen në lojë, edhe pse. 13 00:00:29,520 --> 00:00:32,740 Ne vetëm mund të levave fuqinë e eliminimin gjysma e elementeve 14 00:00:32,740 --> 00:00:36,070 edhe pa e kërkuar në ata nëse array është e renditura. 15 00:00:36,070 --> 00:00:39,200 >> Në qoftë se kjo është një përzierje e plotë lart, ne nuk mund vetëm nga dora 16 00:00:39,200 --> 00:00:42,870 hidhni gjysmën e elementeve, sepse ne nuk e dimë se çfarë ne jemi hidhni. 17 00:00:42,870 --> 00:00:45,624 Por në qoftë se array është e renditura, ne mund ta bëjmë këtë, sepse ne 18 00:00:45,624 --> 00:00:48,040 e di se çdo gjë në la e ku ne aktualisht jemi të 19 00:00:48,040 --> 00:00:50,500 duhet të jetë më e ulët se Vlera ne jemi aktualisht në. 20 00:00:50,500 --> 00:00:52,300 Dhe çdo gjë të e drejta e ku jemi 21 00:00:52,300 --> 00:00:55,040 duhet të jetë më i madh se vlera ne jemi aktualisht në kërkim në. 22 00:00:55,040 --> 00:00:58,710 >> Pra, çfarë është pseudokod hapat për kërkimin binar? 23 00:00:58,710 --> 00:01:02,310 Ne përsëris këtë proces deri në grup ose, si ne të vazhdojë përmes, 24 00:01:02,310 --> 00:01:07,740 nën vargjeve, copa të vogla të array origjinal, është i madhësisë 0. 25 00:01:07,740 --> 00:01:10,960 Llogarit midpoint e array aktuale sub. 26 00:01:10,960 --> 00:01:14,460 >> Nëse vlera jeni duke kërkuar për të është në këtë element të vektorit, të ndaluar. 27 00:01:14,460 --> 00:01:15,030 Keni gjetur atë. 28 00:01:15,030 --> 00:01:16,550 Kjo është e madhe. 29 00:01:16,550 --> 00:01:19,610 Përndryshe, në qoftë se objektivi është më pak se çfarë është në mes, 30 00:01:19,610 --> 00:01:23,430 kështu që nëse vlera ne jemi duke kërkuar për të është më e ulët se ajo që ne shohim, 31 00:01:23,430 --> 00:01:26,780 përsëris këtë proces përsëri, por ndryshojë pikën fund, në vend 32 00:01:26,780 --> 00:01:29,300 për të qenë origjinale përfunduar koleksion të plotë, 33 00:01:29,300 --> 00:01:34,110 të jetë vetëm në të majtë e ku ne vetëm shikuar. 34 00:01:34,110 --> 00:01:38,940 >> Ne e dinim se mesme ishte shumë i lartë, ose objektivi ishte më pak se mes, 35 00:01:38,940 --> 00:01:42,210 dhe kështu ajo duhet të ekzistojë, nëse ajo ekziston fare në grup, 36 00:01:42,210 --> 00:01:44,660 diku në të majtë të midpoint. 37 00:01:44,660 --> 00:01:48,120 Dhe kështu që ne do të vendosur array vend vetëm në të majtë 38 00:01:48,120 --> 00:01:51,145 i midpoint si pikë e re në fund. 39 00:01:51,145 --> 00:01:53,770 Në anën tjetër, në qoftë se objektivi është më të madhe se ajo që është në mes, 40 00:01:53,770 --> 00:01:55,750 ne bëjmë të njëjtën gjë e saktë proces, por në vend të kësaj ne 41 00:01:55,750 --> 00:01:59,520 ndryshojë pikënisjen të jetë vetëm në të djathtë të midpoint 42 00:01:59,520 --> 00:02:00,680 ne vetëm llogaritur. 43 00:02:00,680 --> 00:02:03,220 Dhe pastaj, ne fillojmë procesin përsëri. 44 00:02:03,220 --> 00:02:05,220 >> Le të kujtoj këtë, në rregull? 45 00:02:05,220 --> 00:02:08,620 Pra, ka një shumë ndodh dhe në këtu, por këtu është një grup prej 15 elementeve. 46 00:02:08,620 --> 00:02:11,400 Dhe ne jemi duke shkuar për të mbajtur gjurmët e një shumë më të gjëra në këtë kohë. 47 00:02:11,400 --> 00:02:13,870 Pra, në kërkim linear, ne ishim vetëm kujdeset për një objektiv. 48 00:02:13,870 --> 00:02:15,869 Por këtë herë ne duam të kujdes për ku jemi ne 49 00:02:15,869 --> 00:02:18,480 filluar të duken, ku jemi ndalur duke kërkuar, 50 00:02:18,480 --> 00:02:21,876 dhe çfarë është midpoint e array aktuale. 51 00:02:21,876 --> 00:02:23,250 Pra, këtu ne do të shkojmë me kërkimin binar. 52 00:02:23,250 --> 00:02:25,290 Ne jemi shumë e shumë të mirë për të shkuar, e drejtë? 53 00:02:25,290 --> 00:02:28,650 Unë jam vetëm duke shkuar për të vënë poshtë poshtë këtu një grup i treguesve. 54 00:02:28,650 --> 00:02:32,430 Kjo është në thelb vetëm ajo që elementi e grup ne jemi duke folur rreth. 55 00:02:32,430 --> 00:02:34,500 Me kërkimin lineare, ne kujdes, duke qenë se ne 56 00:02:34,500 --> 00:02:36,800 duhet të dini se sa Elementet ne jemi iterating mbi, 57 00:02:36,800 --> 00:02:40,010 por ne fakt nuk e kujdesit çfarë element ne jemi aktualisht në kërkim në. 58 00:02:40,010 --> 00:02:41,014 Në kërkim binar, ne bëjmë. 59 00:02:41,014 --> 00:02:42,930 Dhe kështu ata janë vetëm atje si një udhëzues të vogël. 60 00:02:42,930 --> 00:02:44,910 >> Pra, ne mund të fillojnë, apo jo? 61 00:02:44,910 --> 00:02:46,240 E pra, jo fare. 62 00:02:46,240 --> 00:02:48,160 Mos harroni atë që kam thënë për kërkimin binar? 63 00:02:48,160 --> 00:02:50,955 Ne nuk mund ta bëjë këtë në një array Unsorted ose tjetër, 64 00:02:50,955 --> 00:02:55,820 ne nuk jemi të garantuar se elemente ose vlerat e caktuara nuk janë të 65 00:02:55,820 --> 00:02:57,650 të qenit aksidentalisht fshi kur ne vetëm 66 00:02:57,650 --> 00:02:59,920 vendosni të injorojë gjysmën e vektorit. 67 00:02:59,920 --> 00:03:02,574 >> Pra, hap një me kërkimin binar është që ju duhet të keni një rrjet të renditura. 68 00:03:02,574 --> 00:03:05,240 Dhe ju mund të përdorni ndonjë nga klasifikim Algoritme ne kemi biseduar për 69 00:03:05,240 --> 00:03:06,700 për të merrni ju në atë pozitë. 70 00:03:06,700 --> 00:03:10,370 Deri tani, ne jemi në një pozicion ku ne mund të kryejë kërkimin binar. 71 00:03:10,370 --> 00:03:12,560 >> Pra, le të përsëris procesin hap pas hapi dhe për të mbajtur 72 00:03:12,560 --> 00:03:14,830 gjurmët e asaj që po ndodh si të shkojmë. 73 00:03:14,830 --> 00:03:17,980 Pra, së pari ne duhet të bëjmë është të llogaritur midpoint e array aktuale. 74 00:03:17,980 --> 00:03:20,620 E pra, ne do të themi ne jemi, së pari të gjithë, duke kërkuar për vlerën 19. 75 00:03:20,620 --> 00:03:22,290 Ne jemi duke u përpjekur për të gjetur numrin 19. 76 00:03:22,290 --> 00:03:25,380 Elementi i parë i kësaj grup është vendosur në indeksin zero, 77 00:03:25,380 --> 00:03:28,880 dhe elementi i fundit i kësaj grup është vendosur në indeksin e 14. 78 00:03:28,880 --> 00:03:31,430 Dhe kështu që ne do të thërrasë ato fillimin dhe fundin. 79 00:03:31,430 --> 00:03:35,387 >> Pra, ne llogarisim midpoint nga duke shtuar plus 14 0 ndarë nga 2; 80 00:03:35,387 --> 00:03:36,720 midpoint shumë i thjeshtë. 81 00:03:36,720 --> 00:03:40,190 Dhe ne mund të themi se midpoint tani është 7. 82 00:03:40,190 --> 00:03:43,370 Pra është 15 ajo që ne jemi duke kërkuar për? 83 00:03:43,370 --> 00:03:43,940 Jo nuk eshte. 84 00:03:43,940 --> 00:03:45,270 Ne jemi në kërkim 19. 85 00:03:45,270 --> 00:03:49,400 Por ne e dimë se 19 është më i madh se ajo që kemi gjetur në mes. 86 00:03:49,400 --> 00:03:52,470 >> Pra, çfarë mund të bëjmë është ndryshojë pikënisjen 87 00:03:52,470 --> 00:03:57,280 të jetë vetëm në të djathtë e midpoint, dhe përsërisin procesin përsëri. 88 00:03:57,280 --> 00:04:01,690 Dhe kur e bëjmë këtë, ne tani thonë se pikë e re e fillimit është koleksion vend 8. 89 00:04:01,690 --> 00:04:07,220 Ajo që ne kemi bërë në mënyrë efektive është gjithçka injoruar në të majtë të 15. 90 00:04:07,220 --> 00:04:09,570 Ne e kemi eliminuar gjysmën e problemit, dhe tani, 91 00:04:09,570 --> 00:04:13,510 në vend që të kërkoni mbi 15 elemente në grup tonë, 92 00:04:13,510 --> 00:04:15,610 ne vetëm duhet të kërkoni mbi 7. 93 00:04:15,610 --> 00:04:17,706 Pra 8 është pikë e re e fillimit. 94 00:04:17,706 --> 00:04:19,600 14 është ende pikë në fund. 95 00:04:19,600 --> 00:04:21,430 >> Dhe tani, ne do të shkojmë mbi këtë përsëri. 96 00:04:21,430 --> 00:04:22,810 Ne llogarisim midpoint e ri. 97 00:04:22,810 --> 00:04:27,130 8 plus 14 është 22, të ndarë nga 2 është 11. 98 00:04:27,130 --> 00:04:28,660 A është kjo ajo që ne jemi duke kërkuar për? 99 00:04:28,660 --> 00:04:30,110 Jo nuk eshte. 100 00:04:30,110 --> 00:04:32,930 Ne jemi duke kërkuar për një vlerë që është më pak se ajo që ne vetëm e gjeti. 101 00:04:32,930 --> 00:04:34,721 Pra, ne jemi duke shkuar për të përsëritur procesi përsëri. 102 00:04:34,721 --> 00:04:38,280 Ne jemi duke shkuar për të ndryshuar pikën në fund të të jetë vetëm në të majtë të midpoint. 103 00:04:38,280 --> 00:04:41,800 Pra, pikë e re në fund të bëhet 10. 104 00:04:41,800 --> 00:04:44,780 Dhe tani, kjo është vetëm një pjesë e array ne kemi për të zgjidhur nëpërmjet. 105 00:04:44,780 --> 00:04:48,460 Pra, ne kemi eliminuar tani 12 e 15 elementeve. 106 00:04:48,460 --> 00:04:51,550 Ne e dimë se nëse 19 ekziston në grup, atë 107 00:04:51,550 --> 00:04:57,210 duhet të ekzistojë diku në mes të elementit numër 8 dhe element numër 10. 108 00:04:57,210 --> 00:04:59,400 >> Pra, ne llogarisim midpoint e re përsëri. 109 00:04:59,400 --> 00:05:02,900 8 plus 10 është 18, të ndarë nga 2 është 9. 110 00:05:02,900 --> 00:05:05,074 Dhe në këtë rast, ja, Objektivi është në mes. 111 00:05:05,074 --> 00:05:06,740 Ne kemi gjetur pikërisht ajo që ne jemi duke kërkuar për të. 112 00:05:06,740 --> 00:05:07,780 Ne mund të ndalet. 113 00:05:07,780 --> 00:05:10,561 Ne përfundoi me sukses një kërkim binar. 114 00:05:10,561 --> 00:05:11,060 Në rregull. 115 00:05:11,060 --> 00:05:13,930 Pra, ne e dimë këtë algoritmi punon në qoftë se objektivi është 116 00:05:13,930 --> 00:05:16,070 diku brenda array. 117 00:05:16,070 --> 00:05:19,060 E bën këtë punë algorithm nëse objektiv nuk është grup? 118 00:05:19,060 --> 00:05:20,810 E pra, le të fillojë atë përsëri, dhe këtë herë, 119 00:05:20,810 --> 00:05:23,380 le të shohim për elementin 16, e cila vizualisht ne mund të shohim 120 00:05:23,380 --> 00:05:25,620 nuk ekziston askund në rrjet. 121 00:05:25,620 --> 00:05:27,110 >> Pika e fillimit është përsëri 0. 122 00:05:27,110 --> 00:05:28,590 Pika Fundi është përsëri 14. 123 00:05:28,590 --> 00:05:32,490 Ata janë indekset e parë dhe Elementet e fundit të vektorit të plotë. 124 00:05:32,490 --> 00:05:36,057 Dhe ne do të kalojnë nëpër procesin e ne vetëm shkoi nëpër përsëri, duke u përpjekur për të gjetur 16, 125 00:05:36,057 --> 00:05:39,140 edhe pse me sy, ne tashmë mund të them se kjo nuk do të jetë atje. 126 00:05:39,140 --> 00:05:43,450 Ne vetëm duam të sigurohemi këtë algorithm do të, në fakt, ende punojnë në një farë mënyre 127 00:05:43,450 --> 00:05:46,310 dhe jo vetëm të na lënë mbërthyer në një lak të pafund. 128 00:05:46,310 --> 00:05:48,190 >> Pra, çfarë është hapi i parë? 129 00:05:48,190 --> 00:05:50,230 Llogarit midpoint e array aktuale. 130 00:05:50,230 --> 00:05:52,790 Çfarë është midpoint e array aktuale? 131 00:05:52,790 --> 00:05:54,410 E pra, kjo është 7, e drejtë? 132 00:05:54,410 --> 00:05:57,560 14 plus 0 ndarë nga 2 është 7. 133 00:05:57,560 --> 00:05:59,280 Është 15 atë që ne jemi duke kërkuar për? 134 00:05:59,280 --> 00:05:59,780 Jo. 135 00:05:59,780 --> 00:06:02,930 Është mjaft i afërt, por ne jemi duke kërkuar për një vlerë pak më të madhe se kaq. 136 00:06:02,930 --> 00:06:06,310 >> Pra, ne e dimë se ajo do të të jetë askund në të majtë të 15. 137 00:06:06,310 --> 00:06:08,540 Objektiv është më e madhe se çfarë është në midpoint. 138 00:06:08,540 --> 00:06:12,450 Dhe kështu që ne kemi vendosur pikë të re të fillojë të të jetë vetëm për të drejtën e mes. 139 00:06:12,450 --> 00:06:16,130 Midpoint është aktualisht 7, kështu që le të themi pika e re e fillimit është 8. 140 00:06:16,130 --> 00:06:18,130 Dhe ajo që ne kemi në mënyrë efektive bërë përsëri është injoruar 141 00:06:18,130 --> 00:06:21,150 të gjithë gjysmën e majtë të vektorit. 142 00:06:21,150 --> 00:06:23,750 >> Tani, ne përsëris procesin e një më shumë kohë. 143 00:06:23,750 --> 00:06:24,910 Llogaritni midpoint e ri. 144 00:06:24,910 --> 00:06:29,350 8 plus 14 është 22, të ndarë nga 2 është 11. 145 00:06:29,350 --> 00:06:31,060 Është 23 atë që ne jemi duke kërkuar për? 146 00:06:31,060 --> 00:06:31,870 Për fat të keq, nuk ka. 147 00:06:31,870 --> 00:06:34,930 Ne jemi duke kërkuar për një vlerë të që është më pak se 23. 148 00:06:34,930 --> 00:06:37,850 Dhe kështu në këtë rast, ne jemi duke shkuar për të ndryshuar pikën fund të jetë vetëm 149 00:06:37,850 --> 00:06:40,035 në të majtë të midpoint e tanishëm. 150 00:06:40,035 --> 00:06:43,440 Midpoint aktual është 11, dhe kështu që ne do të vendosur në pikën e re në fund 151 00:06:43,440 --> 00:06:46,980 për herën tjetër ne do të shkojmë përmes këtij procesi deri në 10. 152 00:06:46,980 --> 00:06:48,660 >> Përsëri, ne do të shkojmë nëpër procesin përsëri. 153 00:06:48,660 --> 00:06:49,640 Llogarit midpoint. 154 00:06:49,640 --> 00:06:53,100 8 plus 10 ndarë nga 2 është 9. 155 00:06:53,100 --> 00:06:54,750 Është 19 atë që ne jemi duke kërkuar për? 156 00:06:54,750 --> 00:06:55,500 Për fat të keq, nuk ka. 157 00:06:55,500 --> 00:06:58,050 Ne jemi ende në kërkim të një numër më pak se. 158 00:06:58,050 --> 00:07:02,060 Pra, ne do të ndryshojë pikën e fundit këtë herë të jetë vetëm në të majtë të midpoint. 159 00:07:02,060 --> 00:07:05,532 Midpoint është aktualisht 9, kështu që pikë në fund do të jetë 8. 160 00:07:05,532 --> 00:07:07,920 Dhe tani, ne jemi vetëm në kërkim në një grup të vetëm element. 161 00:07:07,920 --> 00:07:10,250 >> Çfarë është midpoint e kësaj grup? 162 00:07:10,250 --> 00:07:13,459 E pra, ajo fillon në 8, ajo përfundon në 8, midpoint është 8. 163 00:07:13,459 --> 00:07:14,750 A është kjo ajo që ne jemi duke kërkuar për? 164 00:07:14,750 --> 00:07:16,339 A jemi duke kërkuar për 17? 165 00:07:16,339 --> 00:07:17,380 Jo, ne jemi duke kërkuar për 16. 166 00:07:17,380 --> 00:07:20,160 Pra, nëse ajo ekziston në grup, ajo duhet të ekzistojë diku 167 00:07:20,160 --> 00:07:21,935 në të majtë të ku ne aktualisht janë. 168 00:07:21,935 --> 00:07:23,060 Pra, çfarë do të shkojmë të bëjmë? 169 00:07:23,060 --> 00:07:26,610 E pra, ne do të vënë pikën në fund të jetë vetëm në të majtë të midpoint e tanishëm. 170 00:07:26,610 --> 00:07:29,055 Pra, ne do të ndryshojë pikën fund në 7. 171 00:07:29,055 --> 00:07:32,120 A e shihni se çfarë sapo ka ndodhur këtu, edhe pse? 172 00:07:32,120 --> 00:07:33,370 Look up këtu tani. 173 00:07:33,370 --> 00:07:35,970 >> Filloni tani është më i madh sesa në fund. 174 00:07:35,970 --> 00:07:39,620 Efektive, të dy skajet e array tonë kanë kaluar, 175 00:07:39,620 --> 00:07:42,252 dhe pika e fillimit është tani pas pikë në fund. 176 00:07:42,252 --> 00:07:43,960 E pra, kjo nuk ka të bëjë ndonjë kuptim, apo jo? 177 00:07:43,960 --> 00:07:47,960 Deri tani, ajo që mund të them është që ne kanë një grup nën të madhësisë 0. 178 00:07:47,960 --> 00:07:50,110 Dhe një herë ne jemi duke marrë për kjo pikë, ne tani mund të 179 00:07:50,110 --> 00:07:53,940 të garantojë se elementi 16 nuk ekziston në grup, 180 00:07:53,940 --> 00:07:56,280 sepse pika e fillimit dhe pikë në fund kanë kaluar. 181 00:07:56,280 --> 00:07:58,340 Dhe kështu që nuk është aty. 182 00:07:58,340 --> 00:08:01,340 Tani, vini re se kjo është pak ndryshme se pika e fillimit dhe në fund 183 00:08:01,340 --> 00:08:02,900 më tepër është e njëjtë. 184 00:08:02,900 --> 00:08:05,030 Nëse do të kishte qenë në kërkim për 17, ai do të ketë 185 00:08:05,030 --> 00:08:08,870 qenë në grup, dhe pika e fillimit dhe pikë në fund të atij përsëritje fundit 186 00:08:08,870 --> 00:08:11,820 para se ato pika kaluar, ne do të kemi gjetur 17 atje. 187 00:08:11,820 --> 00:08:15,510 Është vetëm kur ata kalojnë që ne mund të garantojë se elementi nuk ka 188 00:08:15,510 --> 00:08:17,180 ekzistojnë në rrjet. 189 00:08:17,180 --> 00:08:20,260 >> Pra, le të marrin një shumë më pak Hapat sesa kërkim linear. 190 00:08:20,260 --> 00:08:23,250 Në rastin më të keq, kemi pasur për të ndarë një listë të elementeve n 191 00:08:23,250 --> 00:08:27,770 në mënyrë të përsëritur në gjysmë për të gjetur objektivin, ose për shkak se elementi objektiv 192 00:08:27,770 --> 00:08:33,110 do të jetë diku në të fundit ndarje, apo nuk ekziston fare. 193 00:08:33,110 --> 00:08:37,830 Pra, në rastin më të keq, ne duhet të ndarë të array-- nuk e dini? 194 00:08:37,830 --> 00:08:40,510 Log i herë n; ne keni për të prerë problemin 195 00:08:40,510 --> 00:08:42,610 në gjysmën e një numër të caktuar të kohës. 196 00:08:42,610 --> 00:08:45,160 Ky numër i herë është log n. 197 00:08:45,160 --> 00:08:46,510 >> Çfarë është skenari më i mirë? 198 00:08:46,510 --> 00:08:48,899 E pra, koha që ne e parë llogaritur midpoint, 199 00:08:48,899 --> 00:08:50,190 ne gjejmë atë që ne jemi duke kërkuar për. 200 00:08:50,190 --> 00:08:52,150 Në të gjitha e mëparshme Shembujt në kërkim binar 201 00:08:52,150 --> 00:08:55,489 ne kemi shkuar pak më shumë, nëse do të kishim qenë në kërkim për elementin 15, 202 00:08:55,489 --> 00:08:57,030 ne do të kemi gjetur se menjëherë. 203 00:08:57,030 --> 00:08:58,321 Kjo ishte në fillim. 204 00:08:58,321 --> 00:09:01,200 Kjo ishte midpoint e përpjekja e parë në një ndarje 205 00:09:01,200 --> 00:09:03,950 e një ndarje në kërkim binar. 206 00:09:03,950 --> 00:09:06,350 >> Dhe kështu në më të keq rast, kërko binar shkon 207 00:09:06,350 --> 00:09:11,580 në log n, e cila është në thelb e mirë se kërko lineare, në rastin më të keq. 208 00:09:11,580 --> 00:09:16,210 Në rastin më të mirë, binar Kërko shkon në omega e 1. 209 00:09:16,210 --> 00:09:18,990 Pra, kërko binar është një shumë më mirë se kërkimi lineare, 210 00:09:18,990 --> 00:09:23,270 por ju duhet të merren me procesin e sorting grup tuaj të parë para se ju mund të 211 00:09:23,270 --> 00:09:26,140 levave fuqinë e kërkimit binar. 212 00:09:26,140 --> 00:09:27,130 >> Unë jam Doug Lloyd. 213 00:09:27,130 --> 00:09:29,470 Kjo është CS 50. 214 00:09:29,470 --> 00:09:31,070