1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Одељак 3] [мање комфорни] 2 00:00:03,000 --> 00:00:05,000 >> [Нејт Хардисон] [Универзитет Харвард] 3 00:00:05,000 --> 00:00:08,000 >> [Ово је ЦС50.] [ЦС50.ТВ] 4 00:00:08,000 --> 00:00:10,000 >> У реду, хајде да почнемо. 5 00:00:10,000 --> 00:00:13,000 Добродошли на Недељи 4 од ЦС50. 6 00:00:13,000 --> 00:00:19,000 Ако ви отворите веб прегледач и отворити псет 3, 7 00:00:19,000 --> 00:00:23,000 Јагма за ЦС50, ми ћемо кренути 8 00:00:23,000 --> 00:00:26,000 кроз град питања тамо. 9 00:00:26,000 --> 00:00:32,000 Баш као и прошле недеље, ми ћемо радити у ЦС50 Спацес, 10 00:00:32,000 --> 00:00:35,000 ако такође ћете повући да се као добро, 11 00:00:35,000 --> 00:00:43,000 и ако напред и посетите овај линк који сам добио овде на врху. 12 00:00:43,000 --> 00:00:45,000 То је време да почнете. 13 00:00:45,000 --> 00:00:51,000 Имамо нашу малу хи програм овде. Ништа луд. 14 00:00:51,000 --> 00:00:55,000 Једна од првих ствари које желим да урадим са вама данас иде преко неколико решења 15 00:00:55,000 --> 00:00:58,000 проблему сет 1, врста пример решења, 16 00:00:58,000 --> 00:01:03,000 само тако можете добити осећај за оно што врсте код особља пише, 17 00:01:03,000 --> 00:01:07,000 какве код других ученика пишете, 18 00:01:07,000 --> 00:01:10,000 и да ли сте погледајте на њега, јер знам да је чудно 19 00:01:10,000 --> 00:01:14,000 када пошаљете решење за проблем сету и добити коментаре 20 00:01:14,000 --> 00:01:18,000 на сопственој верзији, али понекад је корисно видети како други људи то урадио, 21 00:01:18,000 --> 00:01:22,000 посебно они који су лепо изгледа. 22 00:01:22,000 --> 00:01:27,000 За највећи део, био сам заиста импресиониран са решењима које ви произведених. 23 00:01:27,000 --> 00:01:31,000 Још увек нисам почео гледајући своје 2с проблематичних сету, али ако су нешто као први, 24 00:01:31,000 --> 00:01:34,000 то не значи ништа осим добрих ствари. 25 00:01:34,000 --> 00:01:40,000 >> Ако погледате моје ревизија, почнимо скроз доле на Ревизија 1, 26 00:01:40,000 --> 00:01:47,000 а ми ћемо да се брзо погледамо Марио решење. 27 00:01:47,000 --> 00:01:54,000 Ако повучете ово, ови програми да ћемо да представимо тачни. 28 00:01:54,000 --> 00:01:56,000 Није било проблема са исправност ових проблема, већ 29 00:01:56,000 --> 00:01:59,000 желимо да разговарамо мало о различитим питањима дизајна 30 00:01:59,000 --> 00:02:03,000 који су се овде користе. 31 00:02:03,000 --> 00:02:08,000 Једна од ствари која је била занимљива о решењу 32 00:02:08,000 --> 00:02:11,000 је да се користи ову нову конструкцију зове фунта дефинисати, 33 00:02:11,000 --> 00:02:15,000 понекад се такође назива хеш дефинисати. 34 00:02:15,000 --> 00:02:18,000 Дозволите ми да увећате томе овде. 35 00:02:18,000 --> 00:02:24,000 # Дефине вам омогућава да дају имена тих бројева у вашем програму. 36 00:02:24,000 --> 00:02:28,000 У овом случају, максимална висина пирамиде у Марио 37 00:02:28,000 --> 00:02:34,000 је 23 и уместо стављања 23 у мом коду, 38 00:02:34,000 --> 00:02:37,000 бисмо позвати на то као хард кодирање 23 - 39 00:02:37,000 --> 00:02:43,000 Уместо тога, ова даје име МАКС_ХЕИГХТ на тај број, 40 00:02:43,000 --> 00:02:48,000 тако да овде у мом уради вхиле петље 41 00:02:48,000 --> 00:02:51,000 ви у ствари можете да погледате МАКС_ХЕИГХТ 42 00:02:51,000 --> 00:02:55,000 уместо да се број 23 за 43 00:02:55,000 --> 00:02:57,000 [Студентски] Шта је предност тога? 44 00:02:57,000 --> 00:02:59,000 То је велико питање. 45 00:02:59,000 --> 00:03:03,000 Један је читљивост. 46 00:03:03,000 --> 00:03:08,000 Предност коришћења ове # дефине је читљивост. 47 00:03:08,000 --> 00:03:11,000 Када читам овај код, видим шта се дешава. 48 00:03:11,000 --> 00:03:15,000 >> Ја могу да видим у том стању овде да вршимо тестирање 49 00:03:15,000 --> 00:03:19,000 за висину као <0, што смо могли да се дефинишу 50 00:03:19,000 --> 00:03:22,000 да буде минимална висина или мин висина. 51 00:03:22,000 --> 00:03:25,000 Друга предност је у томе што сам тада може да чита остатак линије да бисте видели 52 00:03:25,000 --> 00:03:30,000 да смо и ми проверава да бисте се уверили да је висина није већа од максималне висине, 53 00:03:30,000 --> 00:03:35,000 зато ћемо наставити док је висина већа од максималне висине. 54 00:03:35,000 --> 00:03:40,000 Друга предност је-ако сам умањили мало овде- 55 00:03:40,000 --> 00:03:49,000 ако покренете овај програм и ја га покренете, рецимо, са 23 сада, 56 00:03:49,000 --> 00:03:52,000 она ће штампати све 23 редове тек тако. 57 00:03:52,000 --> 00:03:54,000 Али рећи да сам хтео да променим максималну висину, 58 00:03:54,000 --> 00:03:57,000 а сада желим да ограниче максималну висину пирамида 59 00:03:57,000 --> 00:04:06,000 да буде само рећи: човек, то је фанки. 60 00:04:06,000 --> 00:04:14,000 # Инцлуде, # дефине МАКС_ХЕИГХТ, 61 00:04:14,000 --> 00:04:18,000 и рецимо ми смо желели да поставите је једнак 10. 62 00:04:18,000 --> 00:04:22,000 Сада у овом тренутку, све што сам морао да урадим је промените га у једној локацији. 63 00:04:22,000 --> 00:04:27,000 Могу компајлирате код, и сада ако покушам и упишите у 12, 64 00:04:27,000 --> 00:04:30,000 то ће ме питати поново. 65 00:04:30,000 --> 00:04:33,000 У овом случају, ми само користимо МАКС_ХЕИГХТ једном. 66 00:04:33,000 --> 00:04:37,000 Није да је велик муке да иде у 67 00:04:37,000 --> 00:04:40,000 и променити га у вхиле петље, ако вам је потребно. 68 00:04:40,000 --> 00:04:44,000 Али у програмима где сте референцирање исти чаробни број 69 00:04:44,000 --> 00:04:47,000 изнова и изнова, овај # дефине механизам је заиста згодно 70 00:04:47,000 --> 00:04:52,000 јер сте само то променити једну време на врху датотека обично је где сте ставили их- 71 00:04:52,000 --> 00:04:57,000 а промена перцолатес кроз остатак датотеке. 72 00:04:57,000 --> 00:05:02,000 >> Друге ствари које сам желео да констатује у овом задатку који сам мислио изгледао заиста лепо, 73 00:05:02,000 --> 00:05:05,000 један је именовање променљивих. 74 00:05:05,000 --> 00:05:14,000 Овде се види да имамо целе променљиве се зову ред и зове висина. 75 00:05:14,000 --> 00:05:20,000 Размаци, хашх, то помаже да код мало више читљивим, 76 00:05:20,000 --> 00:05:25,000 чини мало више разумљиво шта се заправо дешава. 77 00:05:25,000 --> 00:05:31,000 Ово је у супротности са коришћењем, рецимо, случајних слова 78 00:05:31,000 --> 00:05:35,000 или само Гоббледигоок заједно. 79 00:05:35,000 --> 00:05:39,000 Коначна ствар коју ћу истаћи је да у за петље, 80 00:05:39,000 --> 00:05:45,000 Често ови итератор променљиве, ови бројачи које користите у вашој за петље, 81 00:05:45,000 --> 00:05:51,000 то је стандардна и конвенционална да их почне са било и и затим Ј, а затим к 82 00:05:51,000 --> 00:05:54,000 и иде даље од тамо ако вам је потребно више променљивих 83 00:05:54,000 --> 00:05:56,000 и ово је само конвенција. 84 00:05:56,000 --> 00:05:58,000 Постоји много конвенција. 85 00:05:58,000 --> 00:06:00,000 То зависи од програмског језика који користите. 86 00:06:00,000 --> 00:06:04,000 Али у Ц, што обично почињу са ја. 87 00:06:04,000 --> 00:06:08,000 То нема смисла да користи, рецимо, или б 88 00:06:08,000 --> 00:06:13,000 у зависности од ситуације. 89 00:06:13,000 --> 00:06:15,000 То је то за овај један. 90 00:06:15,000 --> 00:06:25,000 Ако сада попните Ревизија 2, видећете другу Марио, 91 00:06:25,000 --> 00:06:29,000 и ово је један сличан другом који смо управо видели, 92 00:06:29,000 --> 00:06:32,000 али ипак нешто кул. 93 00:06:32,000 --> 00:06:38,000 Ако гледамо на овом делу овде унутра унутрашњи фор петљи, 94 00:06:38,000 --> 00:06:44,000 они користе неки луди тражите синтаксу право у овој линији. 95 00:06:44,000 --> 00:06:47,000 Ово се зове тернарни оператор. 96 00:06:47,000 --> 00:06:53,000 То је, ако други изјава кондензује у једној линији. 97 00:06:53,000 --> 00:06:57,000 Услов је тај део у загради. 98 00:06:57,000 --> 00:07:05,000 То је еквивалент говорећи, ако ј <висине - и - 1. 99 00:07:05,000 --> 00:07:10,000 И шта онда садржина да ако блок ће бити су простор 100 00:07:10,000 --> 00:07:16,000 а затим садржај шта друго би се ово #. 101 00:07:16,000 --> 00:07:20,000 То је у суштини је додељивање простора да ове променљиве. 102 00:07:20,000 --> 00:07:24,000 То је стављање простор у садржају блок променљиве, 103 00:07:24,000 --> 00:07:29,000 Ако је овај услов испуњен, а ако услов није испуњен, 104 00:07:29,000 --> 00:07:32,000 онда блок променљива добија ово #. 105 00:07:32,000 --> 00:07:37,000 И онда, наравно, уместо изградње читав низ 106 00:07:37,000 --> 00:07:43,000 и штампање све се на крају ово решење је штампа један карактер у једном тренутку. 107 00:07:43,000 --> 00:07:48,000 Прилично кул. 108 00:07:48,000 --> 00:07:53,000 >> Други пар ствари да гледају. Ми ћемо прећи на похлепан. 109 00:07:53,000 --> 00:07:58,000 Сада, ако погледамо похлепан, ово прво решење 110 00:07:58,000 --> 00:08:00,000 користи ово # дефинише прилично мало. 111 00:08:00,000 --> 00:08:06,000 Имамо једну константу дефинисано за сваки од различитих бројева у овом програму. 112 00:08:06,000 --> 00:08:12,000 Имамо једну за центи по долару, један за квартала, затамни, новчиће, и паре, 113 00:08:12,000 --> 00:08:15,000 и сада ако померите надоле и прочитате код, 114 00:08:15,000 --> 00:08:22,000 можемо видети стандардне уради док све петље штампе напоље. 115 00:08:22,000 --> 00:08:25,000 Некако у срж овог проблема је схватила да 116 00:08:25,000 --> 00:08:29,000 Ви треба да конвертујете пловак који сте прочитали у од корисника на цео број 117 00:08:29,000 --> 00:08:32,000 да се тачно уради математику, а то је зато што 118 00:08:32,000 --> 00:08:36,000 са покретним зарезом бројевима, као што смо причали у предавању на кратко, 119 00:08:36,000 --> 00:08:41,000 није могуће прецизно представљају сваки вредност на линији број 120 00:08:41,000 --> 00:08:47,000 јер постоји бесконачно много вредности између 3 и, рецимо, 3.1 чак. 121 00:08:47,000 --> 00:08:54,000 Можете имати 3,01 и 3,0001 3.001 и, као и да наставимо. 122 00:08:54,000 --> 00:09:00,000 Испада кад радите са новцем, често желите да га конвертујете 123 00:09:00,000 --> 00:09:05,000 у цео формат, тако да не губиш паре и такве ствари. 124 00:09:05,000 --> 00:09:09,000 Доинг то и заокруживање био кључ. 125 00:09:09,000 --> 00:09:14,000 Ово решење користи савршено једноставан, одличан алгоритам 126 00:09:14,000 --> 00:09:17,000 која декрементира број преосталих центи, прво по кварталима, 127 00:09:17,000 --> 00:09:19,000 онда Димес, затим новчиће, затим пенија, 128 00:09:19,000 --> 00:09:24,000 и додавање броја кованица сваки пут. 129 00:09:24,000 --> 00:09:31,000 >> Друго решење које ћемо видети, као што сам умањите и идите на ревизији 4, 130 00:09:31,000 --> 00:09:40,000 имала веома сличан почетку, али уместо да се користи ДИВ и МОД 131 00:09:40,000 --> 00:09:44,000 овамо да израчунамо број центи. 132 00:09:44,000 --> 00:09:50,000 Ово је број квартала једнак броју центи подељен 25, 133 00:09:50,000 --> 00:09:53,000 а разлог је зато што то ради радимо цео поделу, 134 00:09:53,000 --> 00:09:58,000 тако да је одбацивање било остатак. 135 00:09:58,000 --> 00:10:02,000 [Студентски] Да ли морамо да коментарише претрагу? 136 00:10:02,000 --> 00:10:05,000 То стварно зависи. 137 00:10:05,000 --> 00:10:08,000 [Студентски] Ти коментаришући више него код овде. 138 00:10:08,000 --> 00:10:16,000 Да, па постоји гомила различитог филозофије на ово. 139 00:10:16,000 --> 00:10:21,000 Моја лична филозофија је да је ваш код је заиста истина, 140 00:10:21,000 --> 00:10:24,000 као коду је оно што се заправо извршавање на рачунару, 141 00:10:24,000 --> 00:10:29,000 и тако ваш број треба да буде читљив, што је могуће да се не захтевају толико коментара. 142 00:10:29,000 --> 00:10:33,000 То је рекао, када се раде ствари које су некако незгодно математички 143 00:10:33,000 --> 00:10:38,000 или алгоритамски, добро је да коментарише оне тако да можете 144 00:10:38,000 --> 00:10:43,000 додаје нову димензију, екстра лаиер ко чита свој код. 145 00:10:43,000 --> 00:10:49,000 У овим решењима, често су коментарисали теже само зато 146 00:10:49,000 --> 00:10:52,000 желимо да будемо у стању да их дистрибуирају и да их људи покупи 147 00:10:52,000 --> 00:10:56,000 и прочитајте их прилично лако. 148 00:10:56,000 --> 00:11:05,000 Али дефинитивно, ја бих се сложио да је то тешко. 149 00:11:05,000 --> 00:11:07,000 [Студентски] Али када су у недоумици, ићи теже? 150 00:11:07,000 --> 00:11:10,000 Када сте у недоумици, ићи теже. 151 00:11:10,000 --> 00:11:17,000 Неки људи ће понекад кажу 0 повратка или нешто слично томе. 152 00:11:17,000 --> 00:11:20,000 Мислим да је то смешно коментар. 153 00:11:20,000 --> 00:11:22,000 Јасно да је то оно што се дешава. 154 00:11:22,000 --> 00:11:25,000 Не треба енглеском да ми кажеш. 155 00:11:25,000 --> 00:11:28,000 Понекад људи ће писати такве ствари "ктхкбаи!" 156 00:11:28,000 --> 00:11:32,000 То је сладак, али и не- 157 00:11:32,000 --> 00:11:35,000 то није прављење разлике између коментаришући поена или не. 158 00:11:35,000 --> 00:11:41,000 Ове врсте су коментари само ха, ха. 159 00:11:41,000 --> 00:11:43,000 Кул. 160 00:11:43,000 --> 00:11:48,000 >> У овом тренутку, хајде да почну да раде на проблему Сет 3 део питања. 161 00:11:48,000 --> 00:11:52,000 Ако ви повуците поново ово, 162 00:11:52,000 --> 00:11:55,000 као и прошле недеље, нећемо да гледамо шорц у овом одељку. 163 00:11:55,000 --> 00:12:00,000 Пустићемо ви то у своје слободно време и разговарати о питањима. 164 00:12:00,000 --> 00:12:05,000 Али сада, у овом одељку ћемо потрошити мало више времена 165 00:12:05,000 --> 00:12:11,000 говоримо о мање од кодних основа 166 00:12:11,000 --> 00:12:15,000 као што смо урадили прошле недеље, а уместо тога, ми идемо да се усредсреде на 167 00:12:15,000 --> 00:12:22,000 мало више од теорије, тако да причамо о бинарном претрагом и затим сортирање. 168 00:12:22,000 --> 00:12:27,000 Од оне који су после, заједно са предавања, 169 00:12:27,000 --> 00:12:30,000 може неко да ми дају рекапитулацију онога разлика 170 00:12:30,000 --> 00:12:35,000 између бинарног претраживања и линеарне трагања? 171 00:12:35,000 --> 00:12:37,000 Шта се дешава? Наравно. 172 00:12:37,000 --> 00:12:42,000 Линеарни претраге претражује сваки елемент у сортиране листе 173 00:12:42,000 --> 00:12:45,000 један по један по један по један по један, 174 00:12:45,000 --> 00:12:50,000 и бинарна претрага дели листу у 2 групе, 175 00:12:50,000 --> 00:12:57,000 Проверава да ли вредност кључева које сте у потрази за је већи или мањи од средње вредности вредности 176 00:12:57,000 --> 00:13:00,000 који сте управо нашли, и ако је мања, то иде са нижим листи 177 00:13:00,000 --> 00:13:03,000 и онда дели то поново, да ли иста функција 178 00:13:03,000 --> 00:13:07,000 скроз доле док не пронађе средину буде једнака самој вредности. 179 00:13:07,000 --> 00:13:10,000 Тачно. 180 00:13:10,000 --> 00:13:12,000 >> Зашто нас брига? 181 00:13:12,000 --> 00:13:20,000 Зашто причамо о бинарном претрази у односу на линеарне претраге? 182 00:13:20,000 --> 00:13:22,000 Да. 183 00:13:22,000 --> 00:13:24,000 Бинарни је много брже, па ако се удвостручи величину проблема 184 00:13:24,000 --> 00:13:27,000 потребно је још један корак пре него дупло више. 185 00:13:27,000 --> 00:13:29,000 Управо тако. 186 00:13:29,000 --> 00:13:31,000 То је одлично решење. 187 00:13:31,000 --> 00:13:36,000 Линеарна претрага је веома проверава један елемент у једном тренутку, 188 00:13:36,000 --> 00:13:39,000 и као што смо видели на првог дана предавања 189 00:13:39,000 --> 00:13:42,000 када је Давид прошао кроз његов пример телефонског именика 190 00:13:42,000 --> 00:13:45,000 и поцепао се једну страницу у именику истовремено 191 00:13:45,000 --> 00:13:47,000 и задржао да ради изнова и изнова и изнова, 192 00:13:47,000 --> 00:13:51,000 то ће му узети заиста дуго времена да пронађе некога у телефонском именику, 193 00:13:51,000 --> 00:13:55,000 осим, ​​наравно, он је тражио некога на самом почетку писма. 194 00:13:55,000 --> 00:14:00,000 Са бинарном претрагом, можете ићи много брже, 195 00:14:00,000 --> 00:14:05,000 и то не само дупло брже или 3 пута брже или 4 пута брже. 196 00:14:05,000 --> 00:14:13,000 Али проблем постаје мањи и мањи и мањи много брже. 197 00:14:13,000 --> 00:14:17,000 Да би илустровали ово, ми ћемо почети разговор о томе шта се дешава 198 00:14:17,000 --> 00:14:21,000 када пишемо бинарну претрагу. 199 00:14:21,000 --> 00:14:27,000 Проблем при руци је да ако имам низ бројева, 200 00:14:27,000 --> 00:14:40,000 кажу, 1, 2, 3, 5, 7, 23, 45, 78, 12323, 201 00:14:40,000 --> 00:14:47,000 и онда 9 са тону 0с после њега, 202 00:14:47,000 --> 00:14:52,000 желимо да буде у стању да схвати веома брзо оно што је у 203 00:14:52,000 --> 00:14:57,000 Овај низ бројева. 204 00:14:57,000 --> 00:15:00,000 Знам да ово изгледа мало блесаво и помало вештачка, 205 00:15:00,000 --> 00:15:02,000 јер управо сада јесте. 206 00:15:02,000 --> 00:15:05,000 Имамо низ који нема баш много елемената у њој, 207 00:15:05,000 --> 00:15:08,000 и ако питам неку од вас да схватим да ли је или није 208 00:15:08,000 --> 00:15:11,000 23 је у низу, можете то урадити врло брзо 209 00:15:11,000 --> 00:15:16,000 само поглед на ово и говорио ми да или не. 210 00:15:16,000 --> 00:15:20,000 Аналогни размотрити је замислити да је ово, рецимо, 211 00:15:20,000 --> 00:15:27,000 Екцел табеле са 10.000 редова, 20.000 редова. 212 00:15:27,000 --> 00:15:31,000 Наравно, можете да урадите Ф команде или контроле Ф и изгледају нешто горе. 213 00:15:31,000 --> 00:15:33,000 Такође можете да користите филтере и претрагу ствари, 214 00:15:33,000 --> 00:15:37,000 али ако сте морали да погледате кроз тај фајл линију по линију по линију, 215 00:15:37,000 --> 00:15:40,000 било би вам потребно доста времена да га пронађу. 216 00:15:40,000 --> 00:15:42,000 То је као у примеру именику, такође, где је 217 00:15:42,000 --> 00:15:44,000 нико не гледа кроз телефонски странице књиге један по један. 218 00:15:44,000 --> 00:15:47,000 Типично, они могу да отворе на средини, 219 00:15:47,000 --> 00:15:50,000 или у случају много телефонских књига и речника где 220 00:15:50,000 --> 00:15:54,000 стварно сте га унели у првом писму, 221 00:15:54,000 --> 00:16:01,000 ви окренете се том првом писму и отворити и кренути путем тамо. 222 00:16:01,000 --> 00:16:03,000 >> Подсети ме зовеш >> Семе.. 223 00:16:03,000 --> 00:16:05,000 Сем. 224 00:16:05,000 --> 00:16:11,000 Као Сам рекао, да је линеарно претраживање процес ће бити веома спор, 225 00:16:11,000 --> 00:16:15,000 и уместо са бинарном претрагом, начин ово ради јесте да 226 00:16:15,000 --> 00:16:21,000 сваки пут идемо кроз итерације нашег потрази алгоритма, 227 00:16:21,000 --> 00:16:27,000 ћемо поделити листу на пола, у суштини, 228 00:16:27,000 --> 00:16:33,000 на две мање листе. 229 00:16:33,000 --> 00:16:39,000 А онда на следећој итерацији петље, ми ћемо га поделити поново 230 00:16:39,000 --> 00:16:44,000 у другим мањим листама. 231 00:16:44,000 --> 00:16:48,000 Као што можете да видите, проблем постаје све мањи и мањи 232 00:16:48,000 --> 00:16:55,000 јер ми би одбацивање половину листе сваки пут. 233 00:16:55,000 --> 00:16:59,000 Како то одбацују ради? 234 00:16:59,000 --> 00:17:05,000 Баш као подсетник, шта ћемо да радимо ако је рачунар 235 00:17:05,000 --> 00:17:11,000 и били смо, рецимо, у потрази за бројем 5 на овој листи 236 00:17:11,000 --> 00:17:15,000 јесте да ћемо изабрати број у средини. 237 00:17:15,000 --> 00:17:26,000 У средини ове листе, јер су 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 бројева, 238 00:17:26,000 --> 00:17:32,000 ћемо изабрати број ни на 4. позицији, или на 5. позицији, 239 00:17:32,000 --> 00:17:38,000 и ми бисмо назвати средину нашој листи. 240 00:17:38,000 --> 00:17:42,000 Изаберите број у средини. 241 00:17:42,000 --> 00:17:51,000 Затим, као што Сам рекао, ми ћемо тестирати да видимо да ли је тај број једнак 242 00:17:51,000 --> 00:17:59,000 до броја који желимо да или нашој жељени број. 243 00:17:59,000 --> 00:18:06,000 Ако је исти, онда смо га нашли. Ми побеђујемо. 244 00:18:06,000 --> 00:18:12,000 Ако није једнак, онда постоји неколико случајева. 245 00:18:12,000 --> 00:18:15,000 Два случаја су или број мора бити већи од броја смо гледали, 246 00:18:15,000 --> 00:18:19,000 или је то мање од. 247 00:18:19,000 --> 00:18:25,000 Ако је већа, ми смо прешли на десну страну. 248 00:18:25,000 --> 00:18:33,000 И ако је мање, ми смо прешли на леву страну. 249 00:18:33,000 --> 00:18:41,000 А онда поновите читав процес 250 00:18:41,000 --> 00:18:48,000 на било десној половини или левој половини листе. 251 00:18:48,000 --> 00:18:51,000 >> Први проблем у делу данашње је да схвати 252 00:18:51,000 --> 00:18:55,000 како ми заправо можемо почети да изрази ово у Ц коду. 253 00:18:55,000 --> 00:18:58,000 Ми смо овде на Псеудокод. 254 00:18:58,000 --> 00:19:04,000 Шта ћемо почети радимо је да ћу подићи потпуно нови простор, 255 00:19:04,000 --> 00:19:09,000 сачувате ову ревизију, тако да ми имамо ове белешке за касније, 256 00:19:09,000 --> 00:19:20,000 ћемо избрисати све ово, а затим копирајте и налепите од проблема скупа 257 00:19:20,000 --> 00:19:26,000 ове информације у нашим просторима, а надамо се ово не пукне. 258 00:19:26,000 --> 00:19:28,000 Савршено. 259 00:19:28,000 --> 00:19:33,000 Ако ви све то, копирајте и налепите овај код у свој нови простор, 260 00:19:33,000 --> 00:19:43,000 у празном један. 261 00:19:43,000 --> 00:19:47,000 Хајде да пробамо Данила. Ако компајлирати и покренути овај програм, да ли ради? 262 00:19:47,000 --> 00:19:49,000 Но >> Шта то говори? 263 00:19:49,000 --> 00:19:53,000 Он каже да контрола достигне крај нон-воид функција. 264 00:19:53,000 --> 00:19:55,000 Да, па ћу покушати покрећући га. 265 00:19:55,000 --> 00:19:59,000 Јесте ли видели ово раније? Да ли знате шта то значи? 266 00:19:59,000 --> 00:20:01,000 Ок, хајде да сецира ово мало. 267 00:20:01,000 --> 00:20:10,000 Он каже на филе.ц на линији 9, колона 1 имамо грешку, баш као што си рекао, 268 00:20:10,000 --> 00:20:16,000 и каже да је то проистиче из грешке упозорења и повратка типа упозорења. 269 00:20:16,000 --> 00:20:18,000 Изгледа да се нешто дешава са повратном типу, што има смисла. 270 00:20:18,000 --> 00:20:21,000 Имамо нон-воид функцију, што значи да имамо функцију 271 00:20:21,000 --> 00:20:24,000 да не врати празнину. 272 00:20:24,000 --> 00:20:27,000 Празнина функција је онај који изгледа овако: 273 00:20:27,000 --> 00:20:35,000 воид Фоо (), а то је празнина, јер повратак тип празнина, 274 00:20:35,000 --> 00:20:38,000 што значи да ако имамо нешто овде 275 00:20:38,000 --> 00:20:45,000 као повратак 1, ми бисмо добили грешку компајлер за ово. 276 00:20:45,000 --> 00:20:49,000 Међутим, ми имамо нон-воид функцију. 277 00:20:49,000 --> 00:20:51,000 Наш нису неважећи функција у овом случају је наша функција претраге 278 00:20:51,000 --> 00:20:56,000 јер има повратну тип Боол. 279 00:20:56,000 --> 00:20:59,000 Када се каже да је контрола достигне крај нон-воид функција, 280 00:20:59,000 --> 00:21:02,000 то је зато што тражи нема изјаву повратка. 281 00:21:02,000 --> 00:21:04,000 Није се враћа ништа типа Боол. 282 00:21:04,000 --> 00:21:09,000 >> Можемо то да средим, и шта ви мислите 283 00:21:09,000 --> 00:21:13,000 Претраживање би требало да се врати по дефаулту? 284 00:21:13,000 --> 00:21:16,000 Шта би требало да буде стандардна повратна вредност претрагу? 285 00:21:16,000 --> 00:21:19,000 Јер то је оно што можемо да ставимо на крају. 286 00:21:19,000 --> 00:21:21,000 Шарлот, да ли имате било-? 287 00:21:21,000 --> 00:21:23,000 Тачно или нетачно >> Тачно или нетачно. 288 00:21:23,000 --> 00:21:26,000 Који? 289 00:21:26,000 --> 00:21:28,000 Нетачно. Не знам. 290 00:21:28,000 --> 00:21:30,000 Лажно? Хајде да пробамо. 291 00:21:30,000 --> 00:21:32,000 Зашто би сте рекли повратак лаж? То је сјајно интуиција. 292 00:21:32,000 --> 00:21:35,000 [Шарлот] ја не знам. 293 00:21:35,000 --> 00:21:39,000 Ми ћемо да се врати фалсе у овом случају, јер ће ово бити наша стандардна 294 00:21:39,000 --> 00:21:44,000 ако из неког разлога је листа празна, или игла 295 00:21:44,000 --> 00:21:46,000 да тражимо не постоји. 296 00:21:46,000 --> 00:21:50,000 Затим, на самом крају, ако ми се не врати тачно раније у овој функцији, 297 00:21:50,000 --> 00:21:55,000 увек знамо да ће ова функција рећи Не, то није у низу. 298 00:21:55,000 --> 00:21:58,000 То није у пласту сена. 299 00:21:58,000 --> 00:22:03,000 Сада, ако се компајлирати и покренути га, пусти ме спаси то тако можемо повући се. 300 00:22:03,000 --> 00:22:08,000 Сада, ако се компајлирати и покренути наш програм, она гради. 301 00:22:08,000 --> 00:22:12,000 Ми смо добили нашу малу промпт. 302 00:22:12,000 --> 00:22:20,000 Ако сам погодио 4-ух-ох. 303 00:22:20,000 --> 00:22:25,000 Није одштампати ништа. Изгледа као да је све завршило добро. 304 00:22:25,000 --> 00:22:35,000 Морамо да попуните овај унутра 305 00:22:35,000 --> 00:22:39,000 Разговарали смо о алгоритма у Псеудокод пре мало. 306 00:22:39,000 --> 00:22:44,000 Да видим, осим тога, 307 00:22:44,000 --> 00:22:49,000 а ја ћу повући тај алгоритам назад поново. 308 00:22:49,000 --> 00:22:51,000 Хајдемо овог типа. Јок. 309 00:22:51,000 --> 00:22:58,000 Ту је. 310 00:22:58,000 --> 00:23:03,000 Како да радимо ово? 311 00:23:03,000 --> 00:23:11,000 Шта ће бити добра стратегија за почетак искључите ову шифру? 312 00:23:11,000 --> 00:23:16,000 Морате да изаберете број у средини. 313 00:23:16,000 --> 00:23:23,000 Како да изаберете број у средини низа? 314 00:23:23,000 --> 00:23:25,000 Свака сугестија? 315 00:23:25,000 --> 00:23:27,000 [Студентски] стрлен подељено са 2. 316 00:23:27,000 --> 00:23:32,000 Стрлен подељено са 2. То је велика један. 317 00:23:32,000 --> 00:23:35,000 Стрлен ради са специјалним врстама низова. 318 00:23:35,000 --> 00:23:38,000 Које врсте низова? 319 00:23:38,000 --> 00:23:44,000 Стринг низови, карактер низови. 320 00:23:44,000 --> 00:23:48,000 То је то иста врста концепта који желимо да се пријаве, 321 00:23:48,000 --> 00:23:52,000 али не можемо да користимо стрлен јер немамо низ знакова. 322 00:23:52,000 --> 00:23:55,000 Имамо низ Интс. 323 00:23:55,000 --> 00:23:58,000 Али шта значи стрлен добити за нас? 324 00:23:58,000 --> 00:24:01,000 Да ли знате шта она добија за нас? 325 00:24:01,000 --> 00:24:03,000 [Студентски] стрлен нам добија дужину. 326 00:24:03,000 --> 00:24:05,000 Тачно, то нам добија дужину. 327 00:24:05,000 --> 00:24:09,000 Стрлен добија дужину низа за нас. 328 00:24:09,000 --> 00:24:14,000 >> Како ћемо се да у нашем програму бинарном претрагу? 329 00:24:14,000 --> 00:24:18,000 Како бисте добили дужину низа? 330 00:24:18,000 --> 00:24:20,000 [Студентски] стрлен? 331 00:24:20,000 --> 00:24:25,000 Можете добити дужину правилно форматирана Ц гудачког низа са стрлен. 332 00:24:25,000 --> 00:24:31,000 Проблем је, међутим, јесте да ми немамо низ ниске. 333 00:24:31,000 --> 00:24:36,000 Ако се осврнемо на овом шифром, имамо овај цео низ. 334 00:24:36,000 --> 00:24:38,000 Како да знамо колико је то? 335 00:24:38,000 --> 00:24:44,000 [Студентски] Да ли постоји еквивалент за један крајње тачке, као што су инт л или тако нешто? 336 00:24:44,000 --> 00:24:49,000 Испоставило се да заправо није, и тако на неки начин, ово је 337 00:24:49,000 --> 00:24:52,000 једна од оних ствари које је само добро знају о Ц, 338 00:24:52,000 --> 00:24:57,000 да не постоји начин да се дужина низа 339 00:24:57,000 --> 00:24:59,000 ако су сви ти дам је низ. 340 00:24:59,000 --> 00:25:02,000 Разлог ради са жицама, разлог стрлен радови, 341 00:25:02,000 --> 00:25:06,000 јер ако је ниска правилно форматиран, 342 00:25:06,000 --> 00:25:12,000 она ће имати ту посебну \ 0 карактер на самом крају. 343 00:25:12,000 --> 00:25:16,000 >> Такође можете да замислите да имате правилно форматирану ниску 344 00:25:16,000 --> 00:25:20,000 и ту нема \ 0 карактер, онда се цела ствар не ради. 345 00:25:20,000 --> 00:25:22,000 [Студентски] Да додате \ 0? 346 00:25:22,000 --> 00:25:24,000 Ми смо могли у овом случају. 347 00:25:24,000 --> 00:25:29,000 Могли бисмо додати некакав \ 0 348 00:25:29,000 --> 00:25:33,000 или неки означава карактер и онда то користити. 349 00:25:33,000 --> 00:25:36,000 Али то није сасвим иде на посао 350 00:25:36,000 --> 00:25:40,000 зато \ 0 је за цхар тип, 351 00:25:40,000 --> 00:25:43,000 и овде имамо Интс. 352 00:25:43,000 --> 00:25:46,000 Друга ствар је да смо били користити посебну вредност 353 00:25:46,000 --> 00:25:49,000 као -1 до означити крај низа 354 00:25:49,000 --> 00:25:54,000 онда никада не би могао држати у нашим -1 целих низова. 355 00:25:54,000 --> 00:25:56,000 Биће нам заглавила. 356 00:25:56,000 --> 00:26:00,000 Испоставило се да је једини начин да добијете дужину 357 00:26:00,000 --> 00:26:03,000 од низа у Ц је заправо да се сетим 358 00:26:03,000 --> 00:26:08,000 када га подесите, а затим га прође около са низом 359 00:26:08,000 --> 00:26:14,000 тако да кад год имам функцију која се дешава да неки посао 360 00:26:14,000 --> 00:26:18,000 на низ целих или флоатс или дубл или шта сте ви, 361 00:26:18,000 --> 00:26:22,000 Такође је потребно да се функција дужину низа а, 362 00:26:22,000 --> 00:26:26,000 и то је управо оно што смо овде урадили за претрагу функцију. 363 00:26:26,000 --> 00:26:30,000 Ако погледате шта смо урадили кад прођемо у нашем низу овде, 364 00:26:30,000 --> 00:26:36,000 такође проћи у дужини, величина. 365 00:26:36,000 --> 00:26:41,000 Једноставно се догоди да смо овде назива ову променљиву, 366 00:26:41,000 --> 00:26:43,000 овај параметар или аргумент. 367 00:26:43,000 --> 00:26:46,000 Ово се зове аргумент листу или у функцији је параметар листу, 368 00:26:46,000 --> 00:26:51,000 и то се такође називају аргументи или параметре. 369 00:26:51,000 --> 00:26:53,000 Људи користе различите термине у различитим временима. 370 00:26:53,000 --> 00:26:55,000 Понекад их замените себе. 371 00:26:55,000 --> 00:27:00,000 Тако се дешава да управо ова варијабла овде је слично имену 372 00:27:00,000 --> 00:27:03,000 ово # дефине овде. 373 00:27:03,000 --> 00:27:06,000 Али они нису иста ствар. 374 00:27:06,000 --> 00:27:11,000 Капитализација не материју. 375 00:27:11,000 --> 00:27:14,000 >> Ако погледате шта се дешава овде, ми изјављујемо 376 00:27:14,000 --> 00:27:18,000 наш инт низ, који смо се зове бројеви. 377 00:27:18,000 --> 00:27:23,000 Успели смо дали нашу величину, што одговара нашим # дефине се на врху. 378 00:27:23,000 --> 00:27:27,000 То ће бити 8. 379 00:27:27,000 --> 00:27:35,000 И онда када смо онда позвати нашу функцију за претрагу доле, 380 00:27:35,000 --> 00:27:40,000 пролазимо у броју желимо да тражи, које смо од вас затражи, 381 00:27:40,000 --> 00:27:43,000 стечен од корисника. 382 00:27:43,000 --> 00:27:46,000 Пролазимо у низу, овај број, 383 00:27:46,000 --> 00:27:51,000 и онда морамо да прође на величину низа, 384 00:27:51,000 --> 00:27:57,000 и онда вредност величине 8 добија складишти 385 00:27:57,000 --> 00:28:01,000 или проследити ову целобројну променљиву зове величине. 386 00:28:01,000 --> 00:28:08,000 Имамо величину низа. 387 00:28:08,000 --> 00:28:11,000 Сада, ако се вратимо на оно што смо причали раније, 388 00:28:11,000 --> 00:28:14,000 Мислим Мисси довео до тачке да је оно што нам је потребно да урадите је да на дужину низа 389 00:28:14,000 --> 00:28:20,000 и поделите га са 2, а то ће нам дати средину. 390 00:28:20,000 --> 00:28:22,000 Хајде да видимо. 391 00:28:22,000 --> 00:28:25,000 Могу ли неко написати ово и сачувајте је у њиховом простору? 392 00:28:25,000 --> 00:28:27,000 Шта мислите о Лејлом? 393 00:28:27,000 --> 00:28:31,000 Могу ли да вам пишем ово у? 394 00:28:31,000 --> 00:28:35,000 Напишите прву линију где узмете дужину низа и добити средину 395 00:28:35,000 --> 00:28:41,000 и чувајте га у новом променљивој. 396 00:28:41,000 --> 00:28:44,000 Ја ћу вам дати пар секунди. Јесте ли спремни? 397 00:28:44,000 --> 00:28:46,000 [Студентски нечујан] 398 00:28:46,000 --> 00:28:50,000 Наравно, могао сам да те израчунати средину 399 00:28:50,000 --> 00:28:55,000 у пласту сена низа унутар претрагу функције 400 00:28:55,000 --> 00:29:03,000 користи дужину низа пласту сена, што је величина променљива? 401 00:29:03,000 --> 00:29:08,000 Ништа незгодно овде. 402 00:29:08,000 --> 00:29:12,000 [Леила] Само величина / 2 и само- 403 00:29:12,000 --> 00:29:17,000 И спаси га и притисните Саве дугме овде на врху, 404 00:29:17,000 --> 00:29:19,000 и ми ћемо га подигне. 405 00:29:19,000 --> 00:29:22,000 Савршено. 406 00:29:22,000 --> 00:29:28,000 Ту смо. Страва. 407 00:29:28,000 --> 00:29:30,000 >> Као што је, да ли ће то саставити? 408 00:29:30,000 --> 00:29:32,000 [Леила] Не, то треба да буде већа. 409 00:29:32,000 --> 00:29:34,000 [Нејт] Да, па шта треба да урадимо? 410 00:29:34,000 --> 00:29:36,000 [Леила] Као инт средину, или тако нешто. 411 00:29:36,000 --> 00:29:41,000 Страва. Да, хајде да урадимо то, инт средину = величина. 412 00:29:41,000 --> 00:29:44,000 Хоће ли ово састави? 413 00:29:44,000 --> 00:29:47,000 Хајде да избришете овај коментар и да га са пута. 414 00:29:47,000 --> 00:29:50,000 Шта неће саставити о томе? 415 00:29:50,000 --> 00:29:52,000 Ми не радимо ништа са цео број, 416 00:29:52,000 --> 00:29:55,000 тако да морамо да штампате или нешто слично томе. 417 00:29:55,000 --> 00:29:58,000 Да, баш тако. 418 00:29:58,000 --> 00:30:00,000 Ми ћемо добити неискоришћени променљиву. 419 00:30:00,000 --> 00:30:02,000 Шта друго неће радити о овоме? 420 00:30:02,000 --> 00:30:06,000 Мислим да сте рекли нешто, Сам. Зарезом. 421 00:30:06,000 --> 00:30:08,000 Да, ја сам нестала та зарезом. 422 00:30:08,000 --> 00:30:14,000 То ће бити константна ствар у целом току мандата. 423 00:30:14,000 --> 00:30:17,000 Коначна ствар коју ћу урадити је да ћу ставити мало белог простора на обе стране 424 00:30:17,000 --> 00:30:23,000 овог оператора овде, пошто је то типично како радимо 425 00:30:23,000 --> 00:30:26,000 према нашем стилу водича. 426 00:30:26,000 --> 00:30:29,000 Имамо средину нашег низа. 427 00:30:29,000 --> 00:30:32,000 Сада, ако се вратимо сећам нашег алгоритма, 428 00:30:32,000 --> 00:30:37,000 шта је други корак који смо морали да урадимо када смо средину? 429 00:30:37,000 --> 00:30:42,000 [Студентски] Ако је већа [нечујан]. 430 00:30:42,000 --> 00:30:48,000 Да, па морамо да урадимо неку врсту поређења, а шта ми радимо овде у односу? 431 00:30:48,000 --> 00:30:53,000 Рекли сте да ако је већи од. Шта је то у тој реченици се односи на? 432 00:30:53,000 --> 00:30:57,000 Број који се појављује, ако је већа од средње вредности, а затим идите до низа? 433 00:30:57,000 --> 00:31:05,000 Тачно, тако да је број који се појављује када- 434 00:31:05,000 --> 00:31:10,000 Игла, тако да смо у односу на игле, 435 00:31:10,000 --> 00:31:12,000 и шта смо у односу према иглу? 436 00:31:12,000 --> 00:31:15,000 Зато игла је оно што тражимо. 437 00:31:15,000 --> 00:31:18,000 Ми смо га пореде доћи до средину. 438 00:31:18,000 --> 00:31:21,000 >> Али нема смисла да проверите да ли 439 00:31:21,000 --> 00:31:27,000 Ако игла = средину? 440 00:31:27,000 --> 00:31:32,000 Да ли то смисла? 441 00:31:32,000 --> 00:31:35,000 Да ли неко не слаже? 442 00:31:35,000 --> 00:31:40,000 Хајде да га дају пробати, ако (игла == средину). 443 00:31:40,000 --> 00:31:42,000 [Студентски] Да ли иф је нашао. 444 00:31:42,000 --> 00:31:51,000 [Нејт] принтф ("Нашли смо га \ н"); 445 00:31:51,000 --> 00:31:56,000 Иначе-Идем да почнемо да радимо овде нешто друго. 446 00:31:56,000 --> 00:32:00,000 Ја ћу почети постављање протезе око ако изјаве свих времена 447 00:32:00,000 --> 00:32:05,000 Управо зато, ако додамо још ствари, онда 448 00:32:05,000 --> 00:32:07,000 не добити преводиоце. 449 00:32:07,000 --> 00:32:09,000 Да, Сем. Имаш право. 450 00:32:09,000 --> 00:32:12,000 Проблем је у томе што средину представља позицију у низу, 451 00:32:12,000 --> 00:32:15,000 али могу да га представљају вредност у том положају низа. 452 00:32:15,000 --> 00:32:17,000 То је велика ствар. 453 00:32:17,000 --> 00:32:19,000 Да ли су сви чули шта је рекао Сем? 454 00:32:19,000 --> 00:32:22,000 Он је рекао да је средину, као што је 455 00:32:22,000 --> 00:32:28,000 представља само позицију у низу, али то није стварна елемент у низу. 456 00:32:28,000 --> 00:32:30,000 Ако мислите о коду као писани сада, 457 00:32:30,000 --> 00:32:35,000 ако погледамо овај низ овде доле, која има 8 елемената у њој, 458 00:32:35,000 --> 00:32:39,000 шта је вредност средину ће бити у овој функцији? 459 00:32:39,000 --> 00:32:41,000 [Студентски] 4. 460 00:32:41,000 --> 00:32:45,000 [Нејт] 4. 461 00:32:45,000 --> 00:32:51,000 Ако тражимо број 4 - 462 00:32:51,000 --> 00:32:54,000 а ми само да покренете овај код и стави мало тужну фацу овде 463 00:32:54,000 --> 00:32:58,000 јер нисмо пронашли да је-ако смо покренули овај код 464 00:32:58,000 --> 00:33:04,000 као што је сада, уплоад га, зграда, пусти ме доле померање, 465 00:33:04,000 --> 00:33:09,000 и ако тражимо број 4, 466 00:33:09,000 --> 00:33:18,000 смо га пронашли, али нисмо добили то принтф да. 467 00:33:18,000 --> 00:33:23,000 Један од разлога је што нисмо вратили истина, 468 00:33:23,000 --> 00:33:26,000 али смо заиста пронашли број 4? 469 00:33:26,000 --> 00:33:28,000 И Сем не говори. 470 00:33:28,000 --> 00:33:31,000 Шта смо сазнали? 471 00:33:31,000 --> 00:33:35,000 Ми заиста нашли средину, који, ако се погледа низа доле, 472 00:33:35,000 --> 00:33:38,000 то ће бити елемент у индексу 4 да гледамо, 473 00:33:38,000 --> 00:33:42,000 који је 23. 474 00:33:42,000 --> 00:33:46,000 >> Како ћемо заиста добити тај елемент у средини 475 00:33:46,000 --> 00:33:48,000 а не само сама средину? 476 00:33:48,000 --> 00:33:52,000 [Студентски] Ми бисмо унели знак или тако нешто? 477 00:33:52,000 --> 00:33:55,000 Шта би то урадили, само из радозналости? 478 00:33:55,000 --> 00:33:57,000 Можеш ли елаборирати мало више? 479 00:33:57,000 --> 00:34:02,000 Морате да трансформишу позицију у броју, 480 00:34:02,000 --> 00:34:05,000 па мораш да нека веза-Ја мислим да је то знак, али то не може бити. 481 00:34:05,000 --> 00:34:07,000 Да, то је добра ствар. 482 00:34:07,000 --> 00:34:12,000 Ми смо радили доста ових конвертовања позицијама у карактера, ове знакове, 483 00:34:12,000 --> 00:34:14,000 у прва два сета проблема. 484 00:34:14,000 --> 00:34:18,000 Испада да је овде, ово је скоро слична 485 00:34:18,000 --> 00:34:24,000 приступ ИТХ карактер у низу, ако то има смисла. 486 00:34:24,000 --> 00:34:30,000 Овде желимо да приступимо елемент средње вредности. 487 00:34:30,000 --> 00:34:34,000 Како то да урадимо? 488 00:34:34,000 --> 00:34:39,000 Кевин, да ли имате предлоге како бисмо могли да урадимо то? 489 00:34:39,000 --> 00:34:44,000 Могли пласт уради, отворена заграда, средином, затворене заграде. 490 00:34:44,000 --> 00:34:46,000 Можеш ли написати да је за нас? 491 00:34:46,000 --> 00:34:51,000 Сачувај га овде, а ми ћемо повући то. 492 00:34:51,000 --> 00:34:56,000 Гледамо у овој линији 9, 493 00:34:56,000 --> 00:34:59,000 и ми смо схватили да не желимо да упоредимо иглу на средини, 494 00:34:59,000 --> 00:35:03,000 али уместо тога, желимо да упоредимо иглу 495 00:35:03,000 --> 00:35:07,000 до елемента на позицији средину у нашем пласту сена низа. 496 00:35:07,000 --> 00:35:10,000 Кул. 497 00:35:10,000 --> 00:35:12,000 Ту смо. 498 00:35:12,000 --> 00:35:15,000 Да, то изгледа прилично добро, ако је (игла == пласту сена [средину]). 499 00:35:15,000 --> 00:35:18,000 Ми смо га нашли. 500 00:35:18,000 --> 00:35:22,000 Сада, ако смо покренули код-ве'лл бацк уп мало- 501 00:35:22,000 --> 00:35:26,000 она саставља, он трчи, а сада ако тражимо 4, 502 00:35:26,000 --> 00:35:30,000 нисмо га пронашли, јер сада ми заправо добијамо број 23. 503 00:35:30,000 --> 00:35:33,000 Добијамо је вредност 23, и то је оно што смо у односу на наше иглом. 504 00:35:33,000 --> 00:35:35,000 Али то је добро. То је корак у правом смеру. 505 00:35:35,000 --> 00:35:37,000 >> То је оно што ми покушавамо да урадимо. 506 00:35:37,000 --> 00:35:40,000 Ми не покушавамо да се упореди иглу против позиције у низу 507 00:35:40,000 --> 00:35:44,000 већ против актуелних елемената у низу. 508 00:35:44,000 --> 00:35:49,000 Ако се осврнемо уназад сад опет на следећем кораку у нашем алгоритма, 509 00:35:49,000 --> 00:35:51,000 шта је следећи корак? 510 00:35:51,000 --> 00:35:57,000 Леила је већ поменуто кратко. 511 00:35:57,000 --> 00:36:00,000 [Студент] Проверите да ли је већи или мањи од, а затим одлучите који начин да се креће. 512 00:36:00,000 --> 00:36:03,000 [Нејт] Да, па како бисмо то урадили? 513 00:36:03,000 --> 00:36:07,000 Можеш ли да уложимо Ја ћу спасити ову ревизију, 514 00:36:07,000 --> 00:36:13,000 и онда ако се стави у неке линије које ће то урадити. 515 00:36:13,000 --> 00:36:15,000 Да, Шарлот >> имам једно питање.. 516 00:36:15,000 --> 00:36:19,000 Зар не би требало да буде средишња тачка - 1, јер је прва ствар 517 00:36:19,000 --> 00:36:26,000 је 0 то индексиран, па ако ставимо 4, то није уствари лик тражимо? 518 00:36:26,000 --> 00:36:30,000 Да, а други проблем који је, 519 00:36:30,000 --> 00:36:35,000 То је велики улов, јер оно што се дешава завршити дешава евентуално 520 00:36:35,000 --> 00:36:42,000 ако ми наставимо и ми никада не прилагоди на почетку? 521 00:36:42,000 --> 00:36:46,000 Претпостављам да бисмо могли завршити раде покушава да приступи 522 00:36:46,000 --> 00:36:49,000 елеменат на 8. позицији низа, 523 00:36:49,000 --> 00:36:53,000 која је у овом случају не постоји. 524 00:36:53,000 --> 00:36:56,000 Ми ћемо желети да урадите неку врсту обрачуна због чињенице 525 00:36:56,000 --> 00:36:59,000 да имамо неку нулту индексирање. 526 00:36:59,000 --> 00:37:05,000 [Шарлот] Жао ми је, мислио сам средину - 1 у угластим заградама. 527 00:37:05,000 --> 00:37:08,000 Можемо да урадимо то. 528 00:37:08,000 --> 00:37:10,000 Вратићемо се овом питању у само мало. 529 00:37:10,000 --> 00:37:13,000 Када почнемо да дође до стварног петље, 530 00:37:13,000 --> 00:37:16,000 то је кад смо стварно ћете видети у игри. 531 00:37:16,000 --> 00:37:21,000 За сада, можемо да урадимо ово, али ти си потпуно у праву. 532 00:37:21,000 --> 00:37:28,000 То нула индексирање ће имати ефекат који нам је потребно да се објасни. 533 00:37:28,000 --> 00:37:30,000 Хајде да видимо. 534 00:37:30,000 --> 00:37:34,000 >> Како је већи него и мање од-? 535 00:37:34,000 --> 00:37:36,000 [Студентски] Ја се како то да урадите веће или мање од дела. 536 00:37:36,000 --> 00:37:41,000 Ја само нисам био сигуран шта да штампате уколико сматрају да је то мање него пласту сена средину или већи од. 537 00:37:41,000 --> 00:37:43,000 Овде можете да сачувате оно што И'ве- 538 00:37:43,000 --> 00:37:47,000 [Нејт] Да, ако сачувате оно што имаш, а ми ћемо га подигне. 539 00:37:47,000 --> 00:37:49,000 Ту смо. 540 00:37:49,000 --> 00:37:51,000 [Студентски] И ја сам ставио питање марака за оно што нисам знао. 541 00:37:51,000 --> 00:37:54,000 [Нејт] То изгледа сјајно. 542 00:37:54,000 --> 00:37:58,000 Овде имамо упитнике, јер ми још увек не знамо 543 00:37:58,000 --> 00:38:06,000 шта ћемо урадити још доста. 544 00:38:06,000 --> 00:38:12,000 Шта би ми желимо да урадимо-упс, имамо неке протезу све фанки на нас. 545 00:38:12,000 --> 00:38:15,000 Ми ћемо исправите ове заграде. 546 00:38:15,000 --> 00:38:19,000 Ту смо. 547 00:38:19,000 --> 00:38:22,000 И тако шта желимо да урадимо, према речима нашег алгоритма, 548 00:38:22,000 --> 00:38:27,000 ако не нађемо иглу? 549 00:38:27,000 --> 00:38:32,000 Рецимо, у случају да је игла је мање од онога што гледамо. Кевин. 550 00:38:32,000 --> 00:38:34,000 Само погледајте на левој половини. 551 00:38:34,000 --> 00:38:40,000 Добро, па ћемо ставити коментар овде који каже: "погледај у левој половини." 552 00:38:40,000 --> 00:38:46,000 А ако је казаљка већа од пласту сена у средини, шта желимо да урадимо? 553 00:38:46,000 --> 00:38:48,000 [Студентски] Онда се осврнемо на десној половини. 554 00:38:48,000 --> 00:38:53,000 Поглед на десној половини, "погледај десној половини." 555 00:38:53,000 --> 00:38:58,000 Није превише запуштена. 556 00:38:58,000 --> 00:39:05,000 Ок, тако да у овом тренутку, ствари су изгледа прилично добро. 557 00:39:05,000 --> 00:39:13,000 Проблем са шифром као писани је шта? 558 00:39:13,000 --> 00:39:15,000 [Студент] Немаш крајње тачке за половине. 559 00:39:15,000 --> 00:39:18,000 Добро, не морамо крајње тачке за половине. 560 00:39:18,000 --> 00:39:20,000 Такође смо само да идем кроз ово једном. 561 00:39:20,000 --> 00:39:23,000 Ми само ћемо да погледамо један вредношћу. 562 00:39:23,000 --> 00:39:27,000 Или елемент постоји, или није. 563 00:39:27,000 --> 00:39:34,000 У циљу комплетирања ово, ми ћемо морати да урадимо неку врсту понављања. 564 00:39:34,000 --> 00:39:39,000 Морамо да понавља док не видимо да 565 00:39:39,000 --> 00:39:43,000 ни елемент је ту зато што смо сузили и коначно га нашао, 566 00:39:43,000 --> 00:39:46,000 или то није тамо, јер смо гледали кроз све ствари 567 00:39:46,000 --> 00:39:52,000 у одговарајућим половине низу и утврдили да ништа није тамо. 568 00:39:52,000 --> 00:39:56,000 >> Кад год имам ово понављање дешава, шта ћемо користити? 569 00:39:56,000 --> 00:39:58,000 [Студентски] петља. 570 00:39:58,000 --> 00:40:00,000 Нека врста петље. Да. 571 00:40:00,000 --> 00:40:03,000 [Студентски] Можемо направити уради док петља и да то ради, а затим, док 572 00:40:03,000 --> 00:40:10,000 игла није једнако-Нисам сигуран где сам ишао са тим. 573 00:40:10,000 --> 00:40:18,000 Али нешто као да урадим док се то не деси једнака вредност коју корисник улаз. 574 00:40:18,000 --> 00:40:21,000 Да, па хајде да видимо како би то могло се писати? 575 00:40:21,000 --> 00:40:23,000 Рекли сте да је користите уради док петља. 576 00:40:23,000 --> 00:40:26,000 Одакле почети радити? 577 00:40:26,000 --> 00:40:33,000 [Студентски] Одмах након величине / 2. 578 00:40:33,000 --> 00:40:42,000 [Нејт] Добро, а шта ћемо да радимо? 579 00:40:42,000 --> 00:40:44,000 Ми ћемо испунити у време касније. 580 00:40:44,000 --> 00:40:46,000 Шта ћемо да радимо? 581 00:40:46,000 --> 00:40:49,000 [Студент] Зар не желимо да урадимо све ствари имамо у ако делу? 582 00:40:49,000 --> 00:40:52,000 [Нејт] Који све ове ствари, сјајно. 583 00:40:52,000 --> 00:40:55,000 Копирање и лепљење. 584 00:40:55,000 --> 00:40:59,000 О, човече. 585 00:40:59,000 --> 00:41:03,000 Хајде да видимо да ли ово ради, ако можемо картица овоме. 586 00:41:03,000 --> 00:41:08,000 Дивно. 587 00:41:08,000 --> 00:41:16,000 Ок, и то тако да штедимо ви га имате. 588 00:41:16,000 --> 00:41:21,000 У реду, а ми ћемо да урадимо ово, док- 589 00:41:21,000 --> 00:41:25,000 шта је, а услов сте били после? 590 00:41:25,000 --> 00:41:31,000 [Студентски] Док се игла не равноправни, тако као знак узвика. 591 00:41:31,000 --> 00:41:37,000 Али нисам сигуран тачно шта је то још. 592 00:41:37,000 --> 00:41:39,000 [Нејт] Да, ово је један од начина да се то уради. 593 00:41:39,000 --> 00:41:41,000 Сем, да ли имате коментар? 594 00:41:41,000 --> 00:41:43,000 [Сам] Сетио сам се кад сам погледао видео, 595 00:41:43,000 --> 00:41:48,000 Узео сам снимак једног од налик када смо урадили Псеудокод за њега, 596 00:41:48,000 --> 00:41:52,000 било је неких веза између мак и мин. 597 00:41:52,000 --> 00:41:58,000 Мислим да је то нешто као да мак све мање од мин. 598 00:41:58,000 --> 00:42:00,000 Имам га. 599 00:42:00,000 --> 00:42:04,000 [Сам] Или желите да максимално није мање од минута, или нешто слично, 600 00:42:04,000 --> 00:42:06,000 јер би то значило да сте тражили све. 601 00:42:06,000 --> 00:42:13,000 >> Да, па шта то звучи као мак и мин су мислили? 602 00:42:13,000 --> 00:42:16,000 [Сам] Вредности које-целих бројева који ће се променити 603 00:42:16,000 --> 00:42:18,000 у односу на место где смо ставили средину. 604 00:42:18,000 --> 00:42:20,000 Управо тако. 605 00:42:20,000 --> 00:42:24,000 [Сам] У том тренутку, то ће [нечујан] израчунати мак и мин. 606 00:42:24,000 --> 00:42:29,000 Средину је ово мак и мин идеја. 607 00:42:29,000 --> 00:42:35,000 Да ли то смисла људи? 608 00:42:35,000 --> 00:42:39,000 Ако бисмо кренули да гледамо како ћемо да урадимо ово итерацију, 609 00:42:39,000 --> 00:42:43,000 ти си потпуно у праву да желимо да користимо неку врсту уради вхиле петље. 610 00:42:43,000 --> 00:42:49,000 Али претпостављам да ако се сетимо шта се дешава на месту овог низа 611 00:42:49,000 --> 00:42:53,000 а шта се заправо догађа-Идем да пишем овде, 612 00:42:53,000 --> 00:42:58,000 на првом итерацији бинарног претраживања, имамо- 613 00:42:58,000 --> 00:43:05,000 Ја ћу користити Б и Е да означи почетак. 614 00:43:05,000 --> 00:43:10,000 И онда крај нашег низа. 615 00:43:10,000 --> 00:43:14,000 Ми знамо да је почетак на 4 овамо, 616 00:43:14,000 --> 00:43:18,000 и ми знамо да је крај на 108. 617 00:43:18,000 --> 00:43:23,000 Реци ми у потрази за број 15. 618 00:43:23,000 --> 00:43:27,000 Први пут кад смо то урадили, као што смо раније видели, 619 00:43:27,000 --> 00:43:30,000 средину је или ће бити 16 или 23 620 00:43:30,000 --> 00:43:34,000 зависно од тога колико смо израчунали ствари. 621 00:43:34,000 --> 00:43:37,000 Пошто равномерно поделе у средини би нам овај простор 622 00:43:37,000 --> 00:43:42,000 између 16 и 23, не можемо га поделити равномерно 623 00:43:42,000 --> 00:43:47,000 или дели га и добити на прави вредношћу. 624 00:43:47,000 --> 00:43:49,000 Ми ћемо погледати 16 година. 625 00:43:49,000 --> 00:43:55,000 Ми ћемо схватити: "Хеј, 16> 15 које тражимо." 626 00:43:55,000 --> 00:43:59,000 Да онда погледамо на левој половини низа 627 00:43:59,000 --> 00:44:03,000 шта ћемо завршити радите је одбацивање 628 00:44:03,000 --> 00:44:07,000 цела ова горњи део 629 00:44:07,000 --> 00:44:16,000 и рекао: "Добро, сада наша крајња ће бити овде." 630 00:44:16,000 --> 00:44:22,000 Наредна итерација петље наше, ми сада гледамо у овом низу, 631 00:44:22,000 --> 00:44:25,000 ефикасно пошто одбацују овај део, јер сада 632 00:44:25,000 --> 00:44:30,000 ако узимате средину да буде разлика између почетка и краја, 633 00:44:30,000 --> 00:44:34,000 нађемо нашу средину да буде 8, 634 00:44:34,000 --> 00:44:40,000 који онда можемо да тестирамо 8 да видимо где је у односу на број тражимо, 635 00:44:40,000 --> 00:44:44,000 15, 15 сматрају да је већи, 636 00:44:44,000 --> 00:44:49,000 тако да морамо да пређемо на десној део листе, 637 00:44:49,000 --> 00:44:51,000 што знамо, јер смо људи и можемо га видети. 638 00:44:51,000 --> 00:44:54,000 Ми знамо да је право део ће бити где смо га пронашли, 639 00:44:54,000 --> 00:45:01,000 али рачунар не зна то, па шта ћемо урадити је заправо ћемо 640 00:45:01,000 --> 00:45:04,000 су ово иде горе, а сада је почетак и крај 641 00:45:04,000 --> 00:45:11,000 су на истом месту, тако да је средиште постаје само број на листи у том тренутку, 642 00:45:11,000 --> 00:45:16,000 што је 15, а ми смо га нашли. 643 00:45:16,000 --> 00:45:21,000 Да ли то бацају светлост на коме је цела ова мак и мин нотација иде, 644 00:45:21,000 --> 00:45:24,000 праћење крајњих тачака низа како да схватим 645 00:45:24,000 --> 00:45:35,000 како да сузите ствари доле? 646 00:45:35,000 --> 00:45:42,000 >> Шта ће се десити ако ово није једнако 15 сада? 647 00:45:42,000 --> 00:45:52,000 Шта ако смо у потрази за 15 и, уместо тога, овај број је такође 16? 648 00:45:52,000 --> 00:45:54,000 Ми бисмо рекли, "О, то је већа. 649 00:45:54,000 --> 00:45:57,000 Желимо да се вратимо на лево. " 650 00:45:57,000 --> 00:46:01,000 И ми би преместили своју е са десне стране, 651 00:46:01,000 --> 00:46:06,000 на којој тачки имамо крајње тачке које ће бити у конфликту. 652 00:46:06,000 --> 00:46:09,000 То не би било у стању да тражи било више елемената 653 00:46:09,000 --> 00:46:13,000 јер сада имамо крајње тачке и нашу почетак тачку 654 00:46:13,000 --> 00:46:16,000 наш максимум и наша мин, сада су окренути. 655 00:46:16,000 --> 00:46:23,000 Ми тражимо кроз цео низ. Ми не можемо наћи ништа. 656 00:46:23,000 --> 00:46:27,000 То је тачка у којој би желели да кажу: "У реду, ми ћемо зауставити овај алгоритам. 657 00:46:27,000 --> 00:46:34,000 Нисмо нашли ништа. Ми знамо да то није овде. " 658 00:46:34,000 --> 00:46:36,000 Како је ово иде? 659 00:46:36,000 --> 00:46:40,000 [Студентски] Како тачно значи рачунар пребацили крај? 660 00:46:40,000 --> 00:46:45,000 Како је крај завршити пре почетка? 661 00:46:45,000 --> 00:46:48,000 Крајњи завршава пре почетка 662 00:46:48,000 --> 00:46:54,000 због математике да ћемо да урадимо сваки пут кад смо то урадили. 663 00:46:54,000 --> 00:47:00,000 Начин на који смо заменили је ако погледате први пут смо урадили замену 664 00:47:00,000 --> 00:47:03,000 где имамо почетак у 4 и крај 665 00:47:03,000 --> 00:47:13,000 скроз доле на 108 и наша средину, рецимо, на 16 - 666 00:47:13,000 --> 00:47:20,000 Идем да вратите назад у 15-ако тражимо од 15, 667 00:47:20,000 --> 00:47:25,000 знали смо да оно што смо радили када смо проверили 16 и видела да је већа 668 00:47:25,000 --> 00:47:28,000 и желео да одбаци цео десни део листе, 669 00:47:28,000 --> 00:47:36,000 Видели смо да је оно што смо хтели да урадимо је да преместите ову е овде. 670 00:47:36,000 --> 00:47:44,000 Ефективно, е добио преселио у један пред средину. 671 00:47:44,000 --> 00:47:48,000 Исто тако, када смо радили ову итерације алгоритма 672 00:47:48,000 --> 00:47:51,000 и средину је у 8, 673 00:47:51,000 --> 00:47:55,000 утврдили смо да је 8 <15, па смо хтели да померите б 674 00:47:55,000 --> 00:48:00,000 један поред средину. 675 00:48:00,000 --> 00:48:07,000 Сада, почетак и крај су обе заједно у овом 15 година. 676 00:48:07,000 --> 00:48:10,000 >> Ако бисмо се дешава да тражимо неку другу вредност, а не 15, 677 00:48:10,000 --> 00:48:14,000 или ако је уместо тога био 15 16, 678 00:48:14,000 --> 00:48:20,000 би смо открили да је е желимо да се крећу један пре средину. 679 00:48:20,000 --> 00:48:33,000 Сада е бити тамо окренути мање од б. 680 00:48:33,000 --> 00:48:39,000 Прошетајмо кроз колико смо заправо завршити овај алгоритам кодирања. 681 00:48:39,000 --> 00:48:44,000 Знамо да желимо да имамо тај обрачун средње вредности. 682 00:48:44,000 --> 00:48:48,000 Ми такође знамо да ми желимо да пратимо почетак и крај низа 683 00:48:48,000 --> 00:48:51,000 нашег садашњег низа тако да можемо да схватимо 684 00:48:51,000 --> 00:48:56,000 где је овај Лева половина листе је и где десна половина листе је. 685 00:48:56,000 --> 00:49:03,000 Ми то радимо са било започети и завршити, 686 00:49:03,000 --> 00:49:07,000 или можемо назвати их мин и мак. 687 00:49:07,000 --> 00:49:10,000 Ја ћу користити почети и завршити овај пут. 688 00:49:10,000 --> 00:49:15,000 Када смо почели, ако погледамо назад у нашем примеру доле, 689 00:49:15,000 --> 00:49:20,000 наш почетак је постављена на самом почетку низа, као природан. 690 00:49:20,000 --> 00:49:25,000 Шта индекс је ово? Шта треба да почне да се наша? 691 00:49:25,000 --> 00:49:27,000 Данијел. 692 00:49:27,000 --> 00:49:30,000 [Данијел] Пласт [0]. 693 00:49:30,000 --> 00:49:37,000 [Нејт] Да, тако да смо могли да једнако пласту сена [0]. 694 00:49:37,000 --> 00:49:40,000 Проблем је, међутим, да ово нам даје не на позицију првог елемента. 695 00:49:40,000 --> 00:49:45,000 То нам даје индекс првог елемента, односно стварне вредности у тој првој позицији. 696 00:49:45,000 --> 00:49:47,000 [Студент] То ће претворити у .20? 697 00:49:47,000 --> 00:49:52,000 [Нејт] Шта ће урадити је-добро, то неће учинити било претварања. 698 00:49:52,000 --> 00:49:56,000 Шта ће урадити је да ће ускладиштити 4 у почетак, 699 00:49:56,000 --> 00:49:59,000 а онда ће бити тешко правити поређења против почне 700 00:49:59,000 --> 00:50:03,000 јер бегин ће одржати вредност 4, 701 00:50:03,000 --> 00:50:06,000 што је почетак нашег низу, 702 00:50:06,000 --> 00:50:08,000 али желимо да пратимо индекса у низу 703 00:50:08,000 --> 00:50:11,000 за разлику од вредности. 704 00:50:11,000 --> 00:50:17,000 Ми заправо ћете користити 0, овако. 705 00:50:17,000 --> 00:50:20,000 За крај низа-Цхарлотте донео ово мало раније. 706 00:50:20,000 --> 00:50:23,000 Ово је место где ћемо узети у обзир нула индексирање. 707 00:50:23,000 --> 00:50:25,000 >> Шарлот, шта је крај низа? 708 00:50:25,000 --> 00:50:28,000 Шта је индекс на крају? 709 00:50:28,000 --> 00:50:30,000 [Шарлот] Величина - 1. 710 00:50:30,000 --> 00:50:32,000 Да, и које величине треба да користимо? 711 00:50:32,000 --> 00:50:35,000 Треба ми користимо величину капитала или малим величину? 712 00:50:35,000 --> 00:50:37,000 Капитал величине. 713 00:50:37,000 --> 00:50:42,000 У том случају, могли бисмо да користимо величину капитала. 714 00:50:42,000 --> 00:50:45,000 Ако бисмо хтели да би ова функција буде преносив 715 00:50:45,000 --> 00:50:48,000 и користите ову функцију у другим програмима, 716 00:50:48,000 --> 00:50:50,000 заправо може користити малим величину. 717 00:50:50,000 --> 00:50:52,000 То је у реду. 718 00:50:52,000 --> 00:51:01,000 Али Шарлот је потпуно у праву да ми желимо да имамо величину - 1. 719 00:51:01,000 --> 00:51:03,000 У овом тренутку, 720 00:51:03,000 --> 00:51:05,000 [Студентски] Како то да можете да користите велико величине? 721 00:51:05,000 --> 00:51:07,000 Како то да смо могли да користимо велико величине? 722 00:51:07,000 --> 00:51:13,000 Испада да су ово # дефинише заиста, 723 00:51:13,000 --> 00:51:19,000 испод хаубе, као што је текст пронашли и заменили, ако то има смисла. 724 00:51:19,000 --> 00:51:24,000 Када саставите кода, предобрада фаза 725 00:51:24,000 --> 00:51:27,000 од компајлера иде преко фајла, 726 00:51:27,000 --> 00:51:31,000 и изгледа за свуда да сте написали капитала величину, 727 00:51:31,000 --> 00:51:39,000 и замењује тај текст буквално са 8, баш тако. 728 00:51:39,000 --> 00:51:42,000 У том смислу, ово је веома разликује од променљивој. 729 00:51:42,000 --> 00:51:45,000 Она не заузима никакву простор у меморији. 730 00:51:45,000 --> 00:51:52,000 То је једноставан текст замене трик. 731 00:51:52,000 --> 00:51:57,000 У овом случају, ми ћемо користити величину. 732 00:51:57,000 --> 00:52:01,000 Одавде не желим да урадим неку врсту понављања, 733 00:52:01,000 --> 00:52:03,000 а ми смо на правом путу са нашим до-вхиле петље. 734 00:52:03,000 --> 00:52:08,000 Желимо да урадимо нешто док стање не држи више, 735 00:52:08,000 --> 00:52:12,000 и као што смо раније видели, видели смо да је стање 736 00:52:12,000 --> 00:52:19,000 био је заиста то не желимо крај 737 00:52:19,000 --> 00:52:24,000 бити мање него почне. 738 00:52:24,000 --> 00:52:26,000 >> Ово је наш заустављања стање. 739 00:52:26,000 --> 00:52:35,000 Ако се то деси, желимо да се заустави и прогласи као, "Хеј, нисмо нашли ништа." 740 00:52:35,000 --> 00:52:43,000 Да изразимо то, ми не желимо да користимо неку петљу. 741 00:52:43,000 --> 00:52:49,000 У том случају, да ли би до-вхиле петље, за петљу, док је петља? 742 00:52:49,000 --> 00:52:51,000 Имамо овде уради док петља. 743 00:52:51,000 --> 00:52:53,000 Да ли ви као таквом приступу? 744 00:52:53,000 --> 00:52:59,000 Да ли мислите да би требало да покушамо другачији приступ? 745 00:52:59,000 --> 00:53:01,000 Кевин, било мисли? 746 00:53:01,000 --> 00:53:06,000 Могли смо петљу вхиле јер знамо максимум 747 00:53:06,000 --> 00:53:11,000 бити већа него на почетку мин аниуаис. 748 00:53:11,000 --> 00:53:14,000 Да, па нема иницијализација који треба да се деси. 749 00:53:14,000 --> 00:53:17,000 Ови до-вхиле петље су сјајно када морате да покрене нешто 750 00:53:17,000 --> 00:53:21,000 пре тога тестирање, а овде 751 00:53:21,000 --> 00:53:26,000 знамо да нећемо да реинитиализинг како почињу и завршавају 752 00:53:26,000 --> 00:53:28,000 свака рунда петље. 753 00:53:28,000 --> 00:53:32,000 Знамо да желимо да их покрене, а затим проверите нашу стање. 754 00:53:32,000 --> 00:53:38,000 У том случају, ја заправо идем са једноставним вхиле петље. 755 00:53:38,000 --> 00:53:44,000 Испоставило се да су до-вхиле петље користи прилично ретко. 756 00:53:44,000 --> 00:53:49,000 Много места ни не предајем не вхиле петље. 757 00:53:49,000 --> 00:53:53,000 Они су добри за руковање корисника улаз, тако да смо видели доста њих до сада. 758 00:53:53,000 --> 00:53:59,000 Али за нормално и док петље су много чешћи. 759 00:53:59,000 --> 00:54:03,000 Испоставило се да је овај услов како је написано 760 00:54:03,000 --> 00:54:09,000 неће заиста нам учинити много добра, и зашто је то тако? 761 00:54:09,000 --> 00:54:11,000 Жао ми је, ја не знам твоје име. 762 00:54:11,000 --> 00:54:13,000 Ја сам Џери >> Извини. 763 00:54:13,000 --> 00:54:15,000 То је Б-О-Р-У-ја. 764 00:54:15,000 --> 00:54:18,000 Ох, у реду. 765 00:54:18,000 --> 00:54:23,000 Ја не видим на мојој листи. 766 00:54:23,000 --> 00:54:26,000 Ох, то је зато што, ох, то има смисла. 767 00:54:26,000 --> 00:54:31,000 Да ли имате идеју зашто се ово вхиле петље можда неће радити како треба, 768 00:54:31,000 --> 00:54:38,000 како је написано у стању? 769 00:54:38,000 --> 00:54:43,000 [Џери] Мислиш, као да желите све ствари после тога у-? 770 00:54:43,000 --> 00:54:46,000 Да, тако да је то један. 771 00:54:46,000 --> 00:54:49,000 Можда ћемо морати да стави све ове ствари у вхиле петље, што је потпуно тачно. 772 00:54:49,000 --> 00:54:55,000 Друга ствар која је мало проблематично, међутим, да се овај услов не ради. 773 00:54:55,000 --> 00:54:57,000 [Студентски] Мораш да га окренете. 774 00:54:57,000 --> 00:55:04,000 Добро, па ово стање никада неће бити истина у почетку начин смо причали о томе. 775 00:55:04,000 --> 00:55:08,000 Желимо да урадимо нешто до краја <почетак, 776 00:55:08,000 --> 00:55:13,000 али желимо да урадимо нешто, док 777 00:55:13,000 --> 00:55:21,000 почети ≤ крај. 778 00:55:21,000 --> 00:55:24,000 >> Тамо је то преокрет логике. 779 00:55:24,000 --> 00:55:27,000 Ја сам крив за израду тих грешака све време. 780 00:55:27,000 --> 00:55:31,000 [Студентски] Зашто то мора да буде мања или једнака? 781 00:55:31,000 --> 00:55:33,000 Зато немој те се случај да морамо да 782 00:55:33,000 --> 00:55:36,000 где је био само један елемент, а ми смо били доле, 783 00:55:36,000 --> 00:55:43,000 и ми смо гледали само на 15 у нашем низу? 784 00:55:43,000 --> 00:55:47,000 И наш почетак и наш крајњи били исти елемент. 785 00:55:47,000 --> 00:55:50,000 Желимо да се уверите да носимо тај случај. 786 00:55:50,000 --> 00:55:54,000 Ако смо стрејт мање него, 787 00:55:54,000 --> 00:55:58,000 само би могли да пређемо на 2-елемента низа. 788 00:55:58,000 --> 00:56:06,000 Када смо стигли до тог последњег елемента, ако је то наш елеменат, ми никада га пронаћи. 789 00:56:06,000 --> 00:56:10,000 Сада овде можемо тачно урадити као што сте рекли. 790 00:56:10,000 --> 00:56:15,000 Можемо почети плоппинг ствари право у сред нашег вхиле петље. 791 00:56:15,000 --> 00:56:20,000 Можемо бућ у нашој средини. 792 00:56:20,000 --> 00:56:24,000 Можемо узети све ово, ако изјаве, 793 00:56:24,000 --> 00:56:30,000 исчупа из овог до-вхиле петље, 794 00:56:30,000 --> 00:56:34,000 плоп их у, 795 00:56:34,000 --> 00:56:39,000 очистите ствари мало, 796 00:56:39,000 --> 00:56:48,000 и ја ћу ићи напред и сачувајте ову ревизију. 797 00:56:48,000 --> 00:56:53,000 И у овом тренутку, ми смо веома близу. 798 00:56:53,000 --> 00:56:55,000 Сем. 799 00:56:55,000 --> 00:56:58,000 Мислим да сте такође имати Инт средиште = величина - 1/2. 800 00:56:58,000 --> 00:57:01,000 Имаш га, величине - 1/2. 801 00:57:01,000 --> 00:57:05,000 Да ли постоји још нешто што треба да промените о тој линији? 802 00:57:05,000 --> 00:57:10,000 То је била добра прилика. 803 00:57:10,000 --> 00:57:14,000 >> Шта величина ради? Да ли ћемо икада мења величину? 804 00:57:14,000 --> 00:57:17,000 Да би линију овако, морамо да променимо величину. 805 00:57:17,000 --> 00:57:21,000 Морамо да промените величину сваки пут идемо около за петљу. 806 00:57:21,000 --> 00:57:25,000 Али запамтите, када смо ишли кроз нашем примеру само мало раније, 807 00:57:25,000 --> 00:57:30,000 и ми смо имали почетком у 4 808 00:57:30,000 --> 00:57:33,000 и крај свега начин на који тамо код 108? 809 00:57:33,000 --> 00:57:35,000 Како смо израчунали средину? 810 00:57:35,000 --> 00:57:38,000 Да ли користимо величину? 811 00:57:38,000 --> 00:57:40,000 Или смо користили почињу и завршавају се уместо тога? 812 00:57:40,000 --> 00:57:42,000 То је разлика између краја и почетка. 813 00:57:42,000 --> 00:57:50,000 Тачно, и како тачно треба да напишем да, Шарлот? 814 00:57:50,000 --> 00:57:52,000 Само крај - да почне. 815 00:57:52,000 --> 00:57:55,000 Не би требало да уради - 1 816 00:57:55,000 --> 00:57:58,000 јер - 1 је укључен у крају и почиње већ. 817 00:57:58,000 --> 00:58:00,000 [Нејт] Одлично, ти си потпуно у праву. 818 00:58:00,000 --> 00:58:03,000 Ми не треба да урадите - 1, јер је - 1 је укључен 819 00:58:03,000 --> 00:58:08,000 и чинили када смо иницијализовати променљиву крај. 820 00:58:08,000 --> 00:58:11,000 >> Има ли још нешто морам да урадим синтаксички да ова линија има смисла? 821 00:58:11,000 --> 00:58:13,000 [Студентски] плус почети >> Плус почети. 822 00:58:13,000 --> 00:58:15,000 [Студентски] На крају. 823 00:58:15,000 --> 00:58:20,000 Јер то је само пола израчунава дужину. 824 00:58:20,000 --> 00:58:26,000 Треба додати да почне. 825 00:58:26,000 --> 00:58:31,000 [Нејт] Шта би то израчунали за нас? 826 00:58:31,000 --> 00:58:35,000 Ако размишљамо о крају на овом првом итерације петље, 827 00:58:35,000 --> 00:58:40,000 Крај ће бити у положају индексу 7. 828 00:58:40,000 --> 00:58:43,000 Почните у положају 0. 829 00:58:43,000 --> 00:58:47,000 Запамтите, ми тражимо било 830 00:58:47,000 --> 00:58:52,000 Позиција 3 или 4 позиције. 831 00:58:52,000 --> 00:58:56,000 Ако погледамо ову математику, само да би се мало више опипљив, 832 00:58:56,000 --> 00:59:02,000 ставио овде неке бројеве, имамо 7, 0, 833 00:59:02,000 --> 00:59:10,000 па 7 - 0, а затим / 2 834 00:59:10,000 --> 00:59:19,000 је 3 у целобројног поделе, тј. 835 00:59:19,000 --> 00:59:26,000 Онда морамо да онда додате наш почети? 836 00:59:26,000 --> 00:59:28,000 Ми не у овом случају. 837 00:59:28,000 --> 00:59:31,000 На првом итерацијом, то ће бити у реду, јер је 0 бегин. 838 00:59:31,000 --> 00:59:36,000 Али, као што смо напредак, ми смо заиста све само треба 839 00:59:36,000 --> 00:59:42,000 крај - бегин / 2. 840 00:59:42,000 --> 00:59:46,000 Постоји још једна трик овде, а то је наиме један од приоритета. 841 00:59:46,000 --> 00:59:49,000 [Студентски] Да ли нам треба заграде? 842 00:59:49,000 --> 00:59:53,000 [Нејт] Управо тако, и то је зато што ако ми не стави ове заграде, 843 00:59:53,000 --> 00:59:58,000 онда ова линија ће бити уместо тумачити 844 00:59:58,000 --> 01:00:09,000 као (крај) - (бегин / 2), који се дефинитивно не желим. 845 01:00:09,000 --> 01:00:11,000 Пази за оне примат правила. 846 01:00:11,000 --> 01:00:15,000 [Студентски] Зашто се не заврши + почети? 847 01:00:15,000 --> 01:00:17,000 Зашто се не заврши + почети? 848 01:00:17,000 --> 01:00:19,000 [Студентски] Зашто то није тако? 849 01:00:19,000 --> 01:00:24,000 Зашто би било +? 850 01:00:24,000 --> 01:00:26,000 Мислим да си у праву. 851 01:00:26,000 --> 01:00:28,000 [Студентски] Зато што је просек? 852 01:00:28,000 --> 01:00:31,000 [Нејт] Крај + почне, ти си потпуно у праву. 853 01:00:31,000 --> 01:00:34,000 Вау, тотално гоофед. У праву си. 854 01:00:34,000 --> 01:00:39,000 Ако смо радили на минус, желели да додате почне поново ин 855 01:00:39,000 --> 01:00:43,000 У том случају, ви сте у праву да желимо да узме просек од две, 856 01:00:43,000 --> 01:00:45,000 па смо се да их додате, за разлику од њих одузимање. 857 01:00:45,000 --> 01:00:49,000 [Студентски] То би такође радити ако си крај - бегин / 2 + почети. 858 01:00:49,000 --> 01:00:55,000 То би, ако се уради Верујем да јесте. 859 01:00:55,000 --> 01:01:00,000 >> На пример, ако смо гледали почетак, 860 01:01:00,000 --> 01:01:04,000 и ми смо га померио овде 861 01:01:04,000 --> 01:01:08,000 до 15 година. 862 01:01:08,000 --> 01:01:12,000 Сада почните је на позицији 2. 863 01:01:12,000 --> 01:01:15,000 Крај је на позицији 7. 864 01:01:15,000 --> 01:01:21,000 Ако их одузима, добијамо 5. 865 01:01:21,000 --> 01:01:24,000 Поделите то са 2, добијамо 2. 866 01:01:24,000 --> 01:01:27,000 А онда додамо 2 назад, 867 01:01:27,000 --> 01:01:30,000 и да нас стигне до 4. позиције, 868 01:01:30,000 --> 01:01:33,000 што је овде, што је средишња тачка. 869 01:01:33,000 --> 01:01:36,000 [Студентски] Да ли треба да се брине о омоту? 870 01:01:36,000 --> 01:01:39,000 У ком смислу не треба да се брине о завијање? 871 01:01:39,000 --> 01:01:43,000 Ако је збир или разлика између 872 01:01:43,000 --> 01:01:45,000 зависности од тога како ћемо то урадити није ни број. 873 01:01:45,000 --> 01:01:49,000 Тада рачунар збуни било када је 2,5; 874 01:01:49,000 --> 01:01:52,000 Не крећете лево или десно да бисте утврдили који је средиште? 875 01:01:52,000 --> 01:01:54,000 Имам га. 876 01:01:54,000 --> 01:01:56,000 Испада да са целобројног поделе, 877 01:01:56,000 --> 01:01:59,000 ми никада не добијају ове плутајуће тачке бројеве. 878 01:01:59,000 --> 01:02:01,000 Ми никада добили децималу. 879 01:02:01,000 --> 01:02:04,000 То је потпуно одбачен. 880 01:02:04,000 --> 01:02:08,000 Ако имате рачунар дели два инт променљиве, 881 01:02:08,000 --> 01:02:11,000 и један је 7, а други је 2, 882 01:02:11,000 --> 01:02:13,000 нећете добити 3,5 као резултат. 883 01:02:13,000 --> 01:02:16,000 Она ће добити 3. 884 01:02:16,000 --> 01:02:19,000 Остатак ће бити одбачени, тако да ефективно је заокруживање- 885 01:02:19,000 --> 01:02:24,000 Није круг него спрат, ако ви момци су упознати са тим у математици, 886 01:02:24,000 --> 01:02:27,000 где сте у потпуности одбаци децималу, 887 01:02:27,000 --> 01:02:31,000 па ви сте у суштини то скраћивања до најближег 888 01:02:31,000 --> 01:02:33,000 цела позиција, на најближи цео број. 889 01:02:33,000 --> 01:02:38,000 [Студентски] Али онда је то проблематично јер ако имате низ од 7 елемената 890 01:02:38,000 --> 01:02:43,000 онда то аутоматски узима 3. елемент из средину уместо 4.. 891 01:02:43,000 --> 01:02:46,000 Како да се носимо са тим? 892 01:02:46,000 --> 01:02:49,000 То је проблематично, јер ако смо имали низ 7, 893 01:02:49,000 --> 01:02:54,000 то би узели 3. уместо 4.. 894 01:02:54,000 --> 01:02:56,000 Можете ли објаснити мало више? 895 01:02:56,000 --> 01:02:59,000 [Студентски] Јер ако имате 7 елементе онда 4. елемент 896 01:02:59,000 --> 01:03:04,000 ће бити средишња тачка, зар не? 897 01:03:04,000 --> 01:03:07,000 Запамтите свој коментар о томе нула индексиран, мада. 898 01:03:07,000 --> 01:03:10,000 [Студентски] Аха, тако да је у позицији 3. То би било средину. 899 01:03:10,000 --> 01:03:12,000 Да. 900 01:03:12,000 --> 01:03:16,000 Ох, у реду. Видим шта хоћеш да кажеш. 901 01:03:16,000 --> 01:03:19,000 То је чудно, јер смо навикнути на цео овај појам 902 01:03:19,000 --> 01:03:22,000 отарасили децимале. 903 01:03:22,000 --> 01:03:26,000 То је велика ствар. 904 01:03:26,000 --> 01:03:30,000 Хајде да завршимо ово. 905 01:03:30,000 --> 01:03:32,000 Добили смо нашу средину израчунати. 906 01:03:32,000 --> 01:03:37,000 >> Ми смо тестирање да видимо да ли је наша игла је једнака средњој вредности. 907 01:03:37,000 --> 01:03:41,000 Ми смо штампања да смо га пронашли, али стварно, шта желимо да урадимо у овој ситуацији? 908 01:03:41,000 --> 01:03:46,000 Успели смо пронашли, тако да желимо да позивалац зна да смо га нашли. 909 01:03:46,000 --> 01:03:49,000 Имамо функцију која је Буловим откуцан функција. 910 01:03:49,000 --> 01:03:54,000 Начин на који смо сигнал позиваоцу наше функције које смо спремни да идемо 911 01:03:54,000 --> 01:03:58,000 је кажемо: "Хеј, то је истина." 912 01:03:58,000 --> 01:04:00,000 Како бисмо то урадили, Кевина? 913 01:04:00,000 --> 01:04:02,000 Ви климате главом >> [Кевин] Додај повратак истина.. 914 01:04:02,000 --> 01:04:06,000 [Нејт] Тачно, врати истина. 915 01:04:06,000 --> 01:04:12,000 Сада, ако то није равноправна, како би ми гледамо на левој половини? 916 01:04:12,000 --> 01:04:16,000 Било који идеја? 917 01:04:16,000 --> 01:04:18,000 Стела, ани идеас? 918 01:04:18,000 --> 01:04:21,000 Потребно је да подесите нову позицију за крај. 919 01:04:21,000 --> 01:04:23,000 Да. 920 01:04:23,000 --> 01:04:29,000 Зато морамо да урадимо позицију средину - крај. 921 01:04:29,000 --> 01:04:33,000 Сјајно. 922 01:04:33,000 --> 01:04:36,000 Морамо да поставите нову позицију за крај 923 01:04:36,000 --> 01:04:38,000 да погледамо на левој половини. 924 01:04:38,000 --> 01:04:41,000 То је оно што смо причали раније, где 925 01:04:41,000 --> 01:04:44,000 Држим да се вратимо на овај пример. 926 01:04:44,000 --> 01:04:50,000 Имам почети овде, и онда имам на крају скроз овамо. 927 01:04:50,000 --> 01:04:53,000 >> Опет, ако тражимо 15, а наша средишња тачка је на 16, 928 01:04:53,000 --> 01:04:56,000 и ми схватамо, "Упс, 16 је већа. 929 01:04:56,000 --> 01:04:59,000 Ми желимо да пређемо на левој половини. " 930 01:04:59,000 --> 01:05:02,000 Ми би онда померите крај 15, 931 01:05:02,000 --> 01:05:06,000 а ми да је један одузимајуци од средину 932 01:05:06,000 --> 01:05:09,000 и постављање да као наш нови крај. 933 01:05:09,000 --> 01:05:12,000 Исто тако, ако желимо да погледамо на десној половини, како бисмо то урадили? 934 01:05:12,000 --> 01:05:14,000 Да ли имате неку идеју? 935 01:05:14,000 --> 01:05:22,000 [Студентски] Само подесите почети да средиште + 1. 936 01:05:22,000 --> 01:05:24,000 [Нејт] Одлично. 937 01:05:24,000 --> 01:05:29,000 И сада, у случају да не нађемо ништа, 938 01:05:29,000 --> 01:05:32,000 то гет води брига за нас? 939 01:05:32,000 --> 01:05:36,000 Данијел, то се брину за нас? 940 01:05:36,000 --> 01:05:38,000 [Данијел] Но 941 01:05:38,000 --> 01:05:40,000 [Нејт] Ако можемо успети кроз читав низ и не нађемо ништа, 942 01:05:40,000 --> 01:05:42,000 где би то бити збринути, или би требало да бринемо о томе? 943 01:05:42,000 --> 01:05:44,000 [Данијел], док стање. 944 01:05:44,000 --> 01:05:48,000 [Нејт] Да, док је стање, тачно. 945 01:05:48,000 --> 01:05:51,000 Она ће се побринути да пролазите кроз цео низ ако не нађемо ништа. 946 01:05:51,000 --> 01:05:53,000 Ова док петља ће се завршити. 947 01:05:53,000 --> 01:05:56,000 Никада неће смо наишли овај услов, 948 01:05:56,000 --> 01:06:03,000 и можемо вратити лажна. 949 01:06:03,000 --> 01:06:10,000 Ми такође можемо оставити ово ако овде овако 950 01:06:10,000 --> 01:06:14,000 јер ако ово ако изјава истинита, 951 01:06:14,000 --> 01:06:16,000 и наша функција ће вратити, 952 01:06:16,000 --> 01:06:21,000 па смо у суштини ћемо прекинути ову функцију у овом тренутку 953 01:06:21,000 --> 01:06:24,000 када смо се вратили истина. 954 01:06:24,000 --> 01:06:28,000 Али шта се дешава са овом структуром овде? 955 01:06:28,000 --> 01:06:34,000 Хоће ли овај посао у потпуности, или постоји неки логичан мана тамо? 956 01:06:34,000 --> 01:06:37,000 >> Постоји нека грешка у логично тамо, начином на који се то поставили. 957 01:06:37,000 --> 01:06:40,000 Шта би то могло бити? 958 01:06:40,000 --> 01:06:43,000 [Студентски] Зашто вам треба - и + 1с? 959 01:06:43,000 --> 01:06:47,000 То поставља нашу палету и да буде наш нови лево и десно пола пола. 960 01:06:47,000 --> 01:06:51,000 [Студентски] Али зашто ниси могао да то уради без - 1с и + 1с? 961 01:06:51,000 --> 01:06:53,000 [Нејт] Могли бисмо да једнако средину? 962 01:06:53,000 --> 01:07:04,000 Шта може бити проблематично због тога? 963 01:07:04,000 --> 01:07:08,000 [Студентски] Претпостављам да је неефикасно, јер сте проверу вредност која је већ потврђено. 964 01:07:08,000 --> 01:07:11,000 [Нејт] Тачно, тако Сам је потпуно у праву. 965 01:07:11,000 --> 01:07:15,000 Ако поставите крај и почети једнака средину 966 01:07:15,000 --> 01:07:18,000 уместо - 1 и + 1 рефлецтивели, 967 01:07:18,000 --> 01:07:22,000 у неком тренутку у будућности ћемо завршити проверу поново средину. 968 01:07:22,000 --> 01:07:26,000 [Студентски] Почела сам псет, а онда сам имао нешто такво 969 01:07:26,000 --> 01:07:30,000 где сам заборавио + 1, и заглавио у бесконачну петља. 970 01:07:30,000 --> 01:07:34,000 Тачно, зато што у неком тренутку да никад ћеш се почети и завршити 971 01:07:34,000 --> 01:07:39,000 да заиста преклапају. 972 01:07:39,000 --> 01:07:41,000 Кул. 973 01:07:41,000 --> 01:07:44,000 Постоји још једна логична мана, а то је да овај дефинитивно бити 974 01:07:44,000 --> 01:07:48,000 иф. 975 01:07:48,000 --> 01:07:55,000 Зашто би то могло бити? 976 01:07:55,000 --> 01:07:59,000 >> Разлог је, ако то није иф-да ли сте видели да је, Кевин? 977 01:07:59,000 --> 01:08:02,000 [Кевин] Да, јер ти мењају крајње тачке. 978 01:08:02,000 --> 01:08:05,000 [Нејт] Управо тако. 979 01:08:05,000 --> 01:08:07,000 Мењамо крајње тачке, 980 01:08:07,000 --> 01:08:12,000 и ако је написано овако-ве'лл направи размак између- 981 01:08:12,000 --> 01:08:14,000 он ће проверити овај случај. 982 01:08:14,000 --> 01:08:18,000 Овај случај, ако то успе, ће прекинути ван функције. 983 01:08:18,000 --> 01:08:21,000 Онда ће проверити овај следећи случај, 984 01:08:21,000 --> 01:08:24,000 и ако то успе, то ће прилагодити крајње тачке, 985 01:08:24,000 --> 01:08:28,000 а онда ће наставити и проверите овај случај. 986 01:08:28,000 --> 01:08:31,000 Али, у овом тренутку, не желимо да се настави проверу. 987 01:08:31,000 --> 01:08:35,000 Срећом, ми нисмо овде поново средину, 988 01:08:35,000 --> 01:08:39,000 и ми знамо да овај случај неће успети. 989 01:08:39,000 --> 01:08:44,000 Али ми дефинитивно желимо да ставимо иф тамо 990 01:08:44,000 --> 01:08:48,000 иако то можда у овом случају 991 01:08:48,000 --> 01:08:52,000 јер нисмо прилагођавање средину, да ли би то направити разлику? 992 01:08:52,000 --> 01:08:54,000 Не, зато што ови случајеви су све искључиви. 993 01:08:54,000 --> 01:08:58,000 Опет, моја грешка. 994 01:08:58,000 --> 01:09:01,000 Ми не, мислим, треба овај иф. 995 01:09:01,000 --> 01:09:05,000 Можемо му дати покушати покренути га и види шта се дешава. 996 01:09:05,000 --> 01:09:08,000 Зграда, дошло је до грешке. 997 01:09:08,000 --> 01:09:12,000 То је вероватно зато што сам напустио ово б је и Е је овде. 998 01:09:12,000 --> 01:09:14,000 Да ли имате било више оних који су горе на врху? 999 01:09:14,000 --> 01:09:16,000 То не личи на њега. 1000 01:09:16,000 --> 01:09:20,000 Ми смо умањили, граде, 1001 01:09:20,000 --> 01:09:24,000 тамо иде, па сад ако трагамо за 15, 1002 01:09:24,000 --> 01:09:28,000 Да. 1003 01:09:28,000 --> 01:09:30,000 Пусти ме унутра увећали 1004 01:09:30,000 --> 01:09:33,000 15, да. Можемо га поново покренете. 1005 01:09:33,000 --> 01:09:36,000 Отпремање изворни код, изградњу, трчање. 1006 01:09:36,000 --> 01:09:41,000 Можемо тражити нешто попут 13, 1007 01:09:41,000 --> 01:09:45,000 а ми не добијамо ништа штампање, тако да то није налаз да је за нама. 1008 01:09:45,000 --> 01:09:51,000 То је одлично, јер то није у нашој листи. 1009 01:09:51,000 --> 01:09:53,000 >> Сада су ван времена. 1010 01:09:53,000 --> 01:09:55,000 То ће бити за ову недељу. 1011 01:09:55,000 --> 01:10:00,000 Хвала за придруживање, и видимо се касније. 1012 01:10:00,000 --> 01:10:02,000 >> [ЦС50.ТВ]