[Играет музыка] SPEAKER 1: Ладно, все. Добро пожаловать в ваш последнем разделе со мной. Это было довольно семестр. Я не могу поверить, что это, вроде бы, 12-я неделя или 11, что-то подобное. Но потому, что это наш последний раздел, у нас есть много конфет. И я собираюсь попробовать и приготовительному вас так, как я можете для вашего викторину на среду. Так, вероятно, не лучший способ, как, в конце раздела с викторины обзора. Но мы постараемся и сделать это весело. И всегда есть конфеты. Так, мы надеемся, что будем делать это лучше. Ваше викторина собирается быть довольно примерно то же самое, как викторины Zero. Это будет тот же формат, одинаковой длины. Вы будете в помещениях, разбросанных по по кампусу, потому что близки к 900 вами, и мы не можем все держать вас в комнатах, как это. Так что не забудьте посмотреть на все Викторина одна документация на сайте cs50.harvard.edu сегодня или завтра вечером. Убедитесь, что вы знаете, где вы находитесь собираются, что вам нужно взять с собой. Действительно, нужно просто довести себя и карандаш, и вы должны быть в порядке. Вопросы будут почти такой же. Там, вероятно, будет пара множественный выбор, пара короткий ответ, некоторые кодирования, может быть, некоторые истина / ложь, соответствие разные вещи. Таким образом, вы не должны быть слишком удивлены формате. Что может быть удивительного в том, длина, которая, в предыдущие годы, был намного дольше. На мой год, я не имею ни одного друга что я помню окончания экзамена. Были, как рассеянный страниц, которое осталось пустым. Таким образом, длина может быть вид дезориентировать только потому, что через несколько лет, он имеет был гораздо больше, чем Викторины One. Я понятия не имею, что это будет как в этом году, но это что-то, чтобы быть в курсе. Кроме того, difficulty-- люди, как правило, найти Викторина один гораздо больше труднее, чем Викторина Zero. Опять же, вы знаете, если ты вроде прогулки из чувствуя себя немного неловко, потому что Вы не делали, а как вы думали, Вы бы, или вы чувствуете, как вы не сделали сделать также, как вы делали в викторине One, помните, что есть, вероятно, много других людей, ощущение, что путь. Я был определенно одним из тех людей. Викторина один, вроде бы, бросил меня для петли. И мои друзья имеют этот великий картина из них в JP Licks вид с эти огромные мороженое, будучи, как, викторины One, и, глядя, как они в слезах. Так что это общее чувство. Это серьезное испытание, это жесткая викторины. Очевидно, что если вы пришли, и вы чувствуете, как вы качали его, это прекрасно для вас. Но знайте, что вы, вероятно, не-- Вы почти определенно не в покое, если вы выходите чувствуя, как, Эх, наверное, мог бы еще лучше. Это тяжело. Мм-хм. АУДИТОРИЯ: Сколько стоит по отношению к [неразборчиво]? SPEAKER 1: Это стоит то же самое. Да. Но опять же, это также будет влияет то, как остальной части класса делает, как ваш разделе делает, как вы в последнее время улучшились. Оценку немного черного ящика. Так что реальное число или процент вы получите не обязательно, как непосредственно коррелирует со степенью Вы собираетесь получить. Там это много факторы, которые входят в него. Так с этим, мы собираемся пройти через некоторые викторины обзора. Я просто хочу, чтобы запустить это как в прошлый раз для вас, ребята. У меня есть ответы на все вопросы викторины Одна из последних года. Так что если вы, ребята, хотите, чтобы вытащить что на ваших собственных компьютеров, если вы взяли этот экзамен до и у вас есть вопросы, Я думал, что мы могли бы просто пройти через некоторые из более трудных на что. Таким образом, мы можем говорить об этом, может быть, получить немного больше понимания в интуиции за некоторые из Эти вопросы, как к ним подойти. Как хорошо, как в прошлый раз, У меня есть 100-слайды что имеет в основном все слайдов, что я подготовили для предыдущая разделы со времени Вашего последнего quiz-- I есть в этой колоде. Так что мы можем пройти через почти все, что что мы говорили о заранее, что, может быть, вам хочу немного больше разъяснений по. Мы могли бы сделать в первую очередь. Но в остальном, я супер просто счастливы рода работы через эти проблемы с вами. И я действительно здесь, чтобы сосредоточиться на том, что вы, ребята, думаю, будет наиболее важным, чтобы сосредоточиться. Как, очевидно, все этот материал имеет важное значение. Тем более, что мы проходим через Викторина One, Я определенно указывают на такие вещи, как, ой, это может быть что-то Вы действительно хотите знать, или вы хотите, чтобы на вашем шпаргалку. Я буду рассказывать вам вещи как мы как-то пережить. Так что на этой ноте, есть какие-то вещи что вы, ребята хотели бы пойти снова? Кроме того, если у меня нет его в моей палубе, мы можем подтянуть что-то в Интернете, или мы можем попытаться сделать до примера на лету. Но любые понятия, которые вы Ребята немного нечеткой на. [? Брайан,?] Ты have-- АУДИТОРИЯ: Да, это кумулятивный? Мол, материал на вопросы викторины Ноль будет здесь? SPEAKER 1: Это кумулятивный, но это гораздо более акцента на вещи Со времени Вашего последнего теста. Так, очевидно, вы, ребята, есть узнали о переменных, и петли, и условные. И это не нравится тем, кто только уйти, потому что они Очевидно, присуща всем остальное, что мы узнали теперь. Там может быть вопрос от видов, или есть может быть вопрос на разных запросов. Или может быть пара вопросы по возможно то, что вы имея дело с составления или различные ошибки. Но если вы смотрели на Викторина Один из прошлого года, Вы заметите, что это очень сосредоточены на вещах, что произошло с момента вашего последнего теста. Почему, что дверь всегда заперта? Это действительно беспокоит меня. Потому что я всегда стараюсь идти через него. Так что очень много как викторина будет. Так есть ли понятия, которые вы, ребята, хотели бы пойти снова? Или мы можем перейти непосредственно к просто глядя на Викторина One по сравнению с прошлым годом и вид собираюсь с помощью вопросов практике. Мы также можем перейти туда и обратно. Это не один раз такие вещи. Есть вопросы? Да. АУДИТОРИЯ: Могу ли я спросить, Вопрос о another-- SPEAKER 1: Еще один? АУДИТОРИЯ: Это из другого года. SPEAKER 1: Да. Мы также можем сделать еще один год. АУДИТОРИЯ: OK. Так на 2011. SPEAKER 1: 2011. Ох, это было за год до меня. Дай, я выну это. Аудитория: Я думаю. SPEAKER 1: Этот аспект соотношение бросает меня. АУДИТОРИЯ: 11 и 12. SPEAKER 1: 11 и 12. ОК. Ну, вот, почему бы нам не сделать это? Вы guys-- все просто взять пару минут, чтобы просматривать викторины. И мы будем составлять список. И тогда мы будем идти через них. Хорошо? В то время как я получаю кучу из этого материала создана. ОК. Я просто хочу, чтобы написать вещи на бумаге. 2011, 11 и 12? Я просто хочу, чтобы изменить этот дисплей. ОК. Это лучше. Это более. Хорошо. Кто-нибудь еще есть какие-либо, что они хотели бы начать? Кроме того, забыл сказать, что если вы хотите более из кучка людей говорить на вас и просто дает вам трещины Конечно, в последние шесть недель, мы проводим обзор сессию 7:00 в 8:30 сегодня на Северо-Западе B103, который также произошло Последний раз, когда он собирается быть мне, Ханна, Daven, с Gabe и Роб вид помощи от кулуарах просто какая-то бросает все информацию, которая может хотите, чтобы на вашем шпаргалку, слэш, знаете, вообще нет. АУДИТОРИЯ: Это также в Интернете, не так ли? SPEAKER 1: Это также в Интернете. Таким образом, вы можете также держаться подальше от этого неприглядное погода, перейдите в общежитии, и живой поток, если вы хотите. Я уверен, что много people-- Я знаю, что будет делать, что если бы я был на вашем месте. ОК. Так почему бы нам не начать with-- в то время как вы guys-- как мы надеемся, Вы просматриваете. Если нет, то я мог бы просто начать работать через различные вещи на вопросы викторины One не с прошлого года, если вас есть конкретные вопросы. Мы начнем с этого вопрос вот о стеков. Так ли все помнят вроде того, что стек? Как мы, как правило to-- может кто-нибудь просто дать мне общее описание стека? Тип структуры данных. ОК. Так что это один из Структуры данных, которые мы ожидают, что вы знакомы with-- как стеки, массивы, очереди, и так далее. Да. АУДИТОРИЯ: Как-первых Вошел, последним вышел, что-то. SPEAKER 1: Это первый вошел, последним вышел. Именно так. Так стек точно то, что мы склонны думать, о том, когда мы думаем, стопки вещей. Так стопку пластин. Первая пластина вы положили будет на дне, и это будет последний тот, который вы удалите в конце. Потому что они складывают. И вы берете на себя один из дна, Как правило, вещи аварии и сломать. Так складывается вы можете думать о Так же, как пакет пластин. Или пример, который мы всегда хотел использовать находится в D залов, у вас есть лотки, все они сложены, и вы принимаете сверху. Так последний в это первая из. ОК. Таким образом, в данном случае, мы видеть, что мы have-- Интересно если я могу на самом деле увеличить немного. Итак, мы имеем эту структуру здесь. Верно? Так у вас есть структуру, которая имеет некоторые Int число мощности. Так что мы считаем, что представляет? Это массив с размером емкости. Так что это действительно представляет наш стек в целом. Наша стек на самом деле просто массив с некоторым заданным количеством это его максимальная, то есть его емкость. И тогда у нас есть некоторые размер Int, который будет отслеживать размер нашего стека на протяжении о том, когда мы используем его. ОК? В этом случае прямо здесь, мы говорим, что наши размер стека был инициализирован в 0. Поэтому у нас есть пустой стек прямо сейчас. А потом мы хотим, чтобы завершить Реализация поп таким образом, что он возвращает Int на самом верху. И потом, если он пустой, она возвращает отрицательное 1. ОК? Так что я хочу, чтобы вы, ребята, просто думаю, о том, что мы могли бы сделать там. Что может быть одним из первых вещи, которые мы хотели бы проверить? Там это великая вещь здесь. Всякий раз, когда он says-- если есть когда-либо некоторые Если заявление, как "Если стек пуст," или "Если это возвращает NULL", или "Если это то, что" - извините. АУДИТОРИЯ: Написать оператор If. SPEAKER 1: Верно. Вы могли бы написать о If. И это, наверное, один из Первые вещи, которые вы хотите проверить. ОК. Всякий раз, когда они дают вам вроде как угловой случае как это, что это, как правило, один из первых вещей, Вы собираетесь проверить в коде. Кроме того, что-то признать за тест если у вас есть неэффективный путь сделать что-то, запишите это. Потому что мы не сортировки Вы по дизайну, мы сортировка вам на правильность для викторины. Таким образом, даже если вы знаете, что это супер Неплохой способ сделать что-то, но это работает, запишите его, ладно? Буквально, я видел детей в прошлом год-- если вы посмотрите на один в прошлом году, они, как, сделать пирамиду Марио. И они буквально только что сделал "печать, хэш, печать, хэш, хэш, печать, хэш, хэш, хэш ". Но это правильно. Это то, что мы рассказали об этом, так что вы не можете взять очки у. Если вы до проволока, очевидно, что вы хотите получить более элегантное решение, и более элегантное решение, вероятно, менее код, который означает, что вы, вероятно, имеют более высокий шанс быть правым. Но если вы, как вы знаете, что, нет, я не есть время, я знаю, что это решение, это не лучший, запишите его. И вы можете даже написать на сторона, я знаю, что это ужасно, но я знаю, что это работает. Так что в хедз-апе. ОК. Так, очевидно, первым делом это утверждение If. Так что мы думаем, что это, если Заявление будет? А на самом деле, позвольте мне открытым до моей великой Sublime редакторе. Я собираюсь кодировать это, а затем показать вам, ребята, когда это будет сделано. Так INT поп-музыки. ОК. Так что, если у нас есть этот INT поп void-- так очевидно, это какая-то функция, которая принимает в ничего и возвращает целое число, не так ли? Так что это просто будем говорить о Этот стек, что мы создали. Так что для претворения этого в прошлом Приговор ", если стек пуст, поп должны вернуться отрицательным 1 ", как мы могли бы это сделать? Так что если? Как мы знаем, что стек пуст? Это только размер равен 0. Stack.size равна 0. Кроме того, я такого письма слепых здесь. Так что, если я делать какие-либо typos-- о, Также забыл упомянуть об этом. На прошлой неделе, я полностью понял, что наша проблема была с JavaScript. Не воспользоваться I и D. Вы должны только заработать I и получить элемент, Id. И это было все ошибки. Так что, если вы, ребята, вернуться и на самом деле выглядят через моего кода, если вы просто сделать все строчная d ", забыть элемент, Id," он будет работать. Так как я и обещал, я был очень близок. Я просто капитализируются что-то Я не должен был, что Я уверен, что вы, ребята, были в своем последнем PSET. Так что, если наш размер равен 0, Что мы должны делать? АУДИТОРИЯ: Вернуться негативное 1. SPEAKER 1: Возвращение негативное 1. Круто. Так что теперь нам делать? Мы хотим, чтобы совать что-то прочь. Теперь это дело где у нас есть что-то. Наш размер больше, чем 1 или больше, чем 0, не так ли? Мы на самом деле есть что-то там. Итак, что мы хотим сделать, это мы хочу вернуться прямо здесь. Мы собираемся сказать, что мы хотим вернуться вершину стека. ОК? Так как мы можем это сделать? Как мы возвращаем вершину стека? Помните, наша стек просто массив, не так ли? Он имеет определенный потенциал что мы дали его. Как мы уже навели on-- или на самом деле, мы собираемся написать "толчок" после этого. Если что-то в there-- Может быть, картина поможет. Хм, мне нравится большой мел лучше. Так if-- и вы можете просто думаю, это как наш стек. Таким образом, это 0, 1, 2. Я не знаю, почему мои ящики становится все меньше. Но там. ОК. Так что это какой-то стек с мощностью 5. И давайте, у нас есть что-то здесь и у нас есть что-то здесь. Поэтому на данном этапе, наш размер которого равен к чему? 2. И если мы хотим, чтобы совать что-то с него, это означает, что мы хотим получить избавиться от этого прямо здесь. ОК? Так как же мы возвращаемся это значение? АУДИТОРИЯ: Размер минус 1. SPEAKER 1: Верно. Так размер минус 1, или вы может сделать размер минус минус. Но мы не можем просто сделать размер. Это внутри структуры, не так ли? Так stack.struct. или stack.size. Это наш индекс прямо там. ОК? И потом, если мы посмотрим Вернуться на нашем структуры здесь, мы замечаем, что на самом деле доступ к массиву, мы должны сделать stack.numbers на самом деле доступ к этому массиву. Так, что возвращает вершины стека. Но что-то that-- если вы, ребята смотреть на ключе ответов, это все, что они дать вам. Так это он. Но я могу утверждать, что они miss-- ох, не то, что я хотел. Я мог бы утверждать, что они что-то отсутствует, because-- да. АУДИТОРИЯ: Уменьшить размер. SPEAKER 1: Верно. Мы должны уменьшить размер нашей сейчас. Так что сложно о это, как только вы вернуться то ваша функция х происходит выход, верно? Так что мы могли бы сделать, это на самом деле уменьшить размер нашей первым. И тогда мы сможем просто stack.size. Мы можем просто использовать stack.size как наш индекс, мы не могли? Потому что, если stack.size 2, мы уменьшаем его. И так это 1, наша текущая Indice. После того, как мы избавимся от этого, мы на самом деле только есть одно в нашем массиве. Так он делает то и другое. АУДИТОРИЯ: [неразборчиво]? SPEAKER 1: Ну, в данном случае, мы только что вернулись элемент в верхней, что находится в нашем размер это на самом верху. Но мы не сделали ничего, чтобы Размер после мы сняли этот элемент. Это не изменилось наш размер еще. Это делает на самом деле по сути изменить наш размер. Но сделать это немного яснее, вы могли бы сделать stack.size минус минус. Для меня, это делает, я не знаю немного более ясным that-- ах, что вы на самом деле изменения Размер и возвращение его. Другой способ был прекрасен, потому что Вы меняли и возвращение в то же время. Но это просто еще один способ написать это то, что я хотел показать вам, ребята. Имеет ли это смысл? Штабеля, как мне кажется, гораздо проще, чем очередей. [Смеется] ОК. Было ли у вас какие-либо конкретные вопросы приблизительно 11 и 12, или просто-- Аудитория: Я думаю, что это был стек. SPEAKER 1: размер стека? АУДИТОРИЯ: Да. SPEAKER 1: Попался. ОК. Да, вы можете сделать это в один из этих двух способов. ОК. Так что теперь у нас есть другой. Это действительно странно, как не имея это на моем экране. Так что, если мы посмотрим здесь, теперь мы хотим, чтобы завершить реализацию толчок, которые на самом деле ставит что-то, идет и вставляет что-то в нашей очереди, или в нашем стеке. ОК? Так что, если мы замечаем, мы есть несколько вещей. У нас есть great-- если все остальное, всякий раз, когда у нас есть один из них, вы, ребята, должны, по крайней мере, получить половину момент, потому что все, что вам нужно сделать, , это преобразовать это в C. И они дают вам половину. Таким образом, "если стек полон или он отрицательный, затем нажмите должна вернуться ложным ". ОК? Таким образом, мы только хотим положительный целые быть в нашем стеке. Хорошо? И это будет либо вернуться истинным или ложным. Таким образом, мы должны [неразборчиво] BOOL. ОК. Так переводе. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: О, спасибо. Да. Вот почему я вас, ребята. Int N. Идеально подходит. Потому что мы вкладываем что-то на нашей стека. Мы на самом деле нужно некоторое количество. ОК. Так что просто принимает, что последняя строка они дали нам, наш вид угловых случаях, Что вы думаете, мы имеем здесь? Очевидно, что мы будем иметь некоторые, если. ОК. Поэтому мы сказали, если наш стек полностью или, если п является отрицательным. Так проще всего начать с, так что если п меньше 0 или-- помните Ваш славный И и ИЛИ операторы там. Как бы мы проверяем, увидеть, если наш стек полон? Что происходит? АУДИТОРИЯ: Размер равна мощности. SPEAKER 1: Именно так. Идеально подходит. ОК. И то, что мы хотим, чтобы там делать? АУДИТОРИЯ: Возвращение ложным. SPEAKER 1: Возвращение ложным. Идеально подходит. Так на полпути, не так ли? По крайней мере, вы, ребята, будет иметь половину этого. Так что давайте думать об этом. Так что это стек мы начинаем с. Мы пытаемся, чтобы положить некоторый элемент здесь. У нас есть размер Это равно 2 прямо сейчас. У нас есть потенциал, что равняется 5. И давайте, у нас есть некоторого п, что это равно 3. Таким образом, мы должны ввести 3 в этом пространстве. И мы должны ввести его в индекс 2. Верно? Так как мы можем это сделать? Попытка assign-- мы хотите получить доступ к нашим массив. Так stack.numbers. Но на то, что Indice бы мы хотим, чтобы это было? АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Да. Stack.size. И мы хотим, чтобы равной п, не так ли? АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Я был на самом деле просто глядя на это. Я думаю, что это неправильно. АУДИТОРИЯ: Вы не хотите пространство после текущего размера? SPEAKER 1: Ну, если мы посмотрим здесь, наш размер на данный момент является 2. Мы хотим, чтобы перейти в индекс 2, потому что это вершина нашей стека. Так что я бы сказал, что это должны быть stack.size, и тогда вы бы увеличить stack.size. Согласен ли все? Я думаю, что я согласен с этим. Вы, ребята, можно утверждать, со мной, если вы хотите. Или не спорю, но мы можем обсудить это. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Мм-хм, где это открыть из-за нулевой индексации. Так в то время как в первой части, Я думал, что они были неправы, и они были на самом деле правильно, это часть, я на самом деле думаю, что они были неправы. Я бы сказал, вы должны безусловно, введите его здесь. Я думаю, мы все согласны мы имеем размер 2. Это точно, где мы хотим, чтобы наш новый номер, чтобы пойти. Так stack.numbers на stack.size должна равняться п. И тогда мы бы увеличивать stack.size. ++. И тогда то, что мы хотим сделать? Там одна последняя вещь, которую мы должны делать, если мы успешно выведен это? Вернуться правда. А теперь вы сделали. Так что я чувствую, как это было весь минус минус stack.size и stack.size ++, что перепутались вещи. Тьфу. Я keep-- меня есть эта рефлекторная тенденция к всегда попадают Контроль, S, потому что я никогда не хотите потерять любой из моих работ. Но мне не нужно делать это сейчас. ОК. Так что было стек. Круто. Есть что-нибудь? А вы, ребята, найти какой-нибудь другие вопросы, которые вы хотели хотел перейти от предыдущих викторин? Если нет, мы можем рода начать говорить через Викторина One в прошлом году. Да. Зала: первый часть, я действительно не понять, как вы удалили номер. Разве это не все еще там? SPEAKER 1: номер все еще там. Но то, что происходит, что, потому что вы рассказали, что в верхней части стека здесь, когда вы идете, чтобы добавить что-то стек, он будет просто заменить его. АУДИТОРИЯ: О, хорошо. SPEAKER 1: Да. Так что это, как он забыл, и это есть тип вещи, даже если она есть. АУДИТОРИЯ: [неразборчиво] или что-нибудь? SPEAKER 1: Нет Потому что мы находимся в массив, вам не придется беспокоиться about-- вы просто переопределить его, когда вам это нужно. Хорошо. Любые другие вопросы? Если нет, мы только собираемся чтобы начать работать до конца. Да. АУДИТОРИЯ: Ну, это один на 2013, но только пройдя через SQL вещи. SPEAKER 1: SQL? ОК. Так что это от 26 до 29 лет. АУДИТОРИЯ: Да. SPEAKER 1: OK. Прекрасный. Давайте тянуть те до. Ой, посмотрите. Вы, ребята пользуются Стива Баллмер говорить, кстати? Это было довольно весело, по-моему. Мне нравится, что каждый раз, когда я поднимаю CS50-х сайт во время разделе, это как, ну, смотреть раздел. И я, как мм. АУДИТОРИЯ: Можем ли мы это сделать? SPEAKER 1: Мы сделаем это в конце. Как это? Потому что я знаю, что вы, ребята всегда хотел. Таким образом, мы сделаем это в конце. Один вопросы. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Это будет мета разделе. АУДИТОРИЯ: Это как 5 секунд. АУДИТОРИЯ: В самом деле? АУДИТОРИЯ: Это как 20 секунд. [Реле ГОЛОСА] [Смех] SPEAKER 1: Мне нравится, что Вы уже сделали его, что то, что делает меня счастливее. ОК. 26. ОК. На самом деле, мы просто собираемся зеркало это сейчас, потому что я не могу. Это раздражает. ОК. Теперь я могу видеть все. Прекрасный. ОК. Так, очевидно, это должно вернуть большие воспоминания из [? РГС?] Финансы. Половина из вас о еще твое оцениваются сейчас. Другая половина я получу очень, очень скоро, я обещаю. Таким образом, мы иметь какой-то SQL это Учетные записи здесь. Наверное, похоже на пользовательские таблицы ваших ребят. И у нас есть некоторое количество что было первичного ключа и представляет 12-значный номер счета. И баланс, сколько денег у них есть. И значение по умолчанию 100. И они дают им $ 100 любая раз они открыть счет. Я хочу, чтобы моя банк сделал. ОК. Поэтому мы хотим, чтобы закончить схему, указав рядом с номером в балансе соответствующий тип SQL. Так что же вы, ребята, думаете, было бы вроде как ваш коленный рефлекс для типов для этих двух? АУДИТОРИЯ: Int. SPEAKER 1: Int. ОК. И тогда для баланса? Десятичная. ОК. Так прямо десятичной годов. Int близко. Вид на большой вещью это подчеркнул 12-значный номер счета. Всякий раз, когда у нас есть что-то это больше, чем восемь цифр, они хотят, чтобы использовать большой INT, который я думаю, is-- АУДИТОРИЯ: Это просто SQL? SPEAKER 1: Это единственный раз, когда я слышал, этого является SQL--, как с помощью большой Int. Это просто, чтобы дать вам немного больше точности, убедившись, что вы не Переполненная вещь типа. Честно говоря, я думаю, что это это, безусловно, один из тех, где это как, ну, это означало для людей кто немного больше знаний о SQL. Мы никогда не говорили о большие Интс в вашем PSET. Так что это вроде как я уверен, если вы положили Int, он был наполовину кредит. И, как я уже говорил, там собираются чтобы быть некоторые вопросы, которые просто предназначены для сбить вас с толку, так что не каждый получает 100. Потому что, конечно, есть некоторые люди в CS50 которые делали это в течение как восемь лет, и вы, как, что ты делаешь? Но да. Десятичная для баланса было очевидным. И тогда большая INT для числа только потому, что того, что, как подчеркнул 12-значный. Всякий раз, когда что-нибудь жирным шрифтом или это подчеркнул, вроде бы, обратить на это внимание. Мы не делаем, что только потому, что. ОК. Таким образом, "Предположим, что банк взимает $ 20 ежемесячная плата по всем счетам. С какой запрос может банк вычесть $ 20 с каждого счета даже если это следует из некоторые негативные остатки? " Итак, давайте начнем с простого. У нас есть четыре основные команды для SQL, где ты? Как вы, ребята помнят четыре большие, что я тебе сказал? UPDATE, DELETE, SELECT, и вставить. Идеально подходит. Понял. Так что мы думаем, что мощь наиболее полезными для этого? Мы are-- UPDATE. Именно так. Так UPDATE, потому что мы ищем на счетах, которые уже существуют. Так что помните, наш генерал рода вещи обновление. И тогда то, что приходит после обновления? У нас есть стол что мы ссылок. Так что, если я тяну до возвышенных again-- UPDATE. Так что это общий формат. Итак, мы имеем обновить таблицу. И тогда то, что рядом, что мы имеем? Вы можете сделать куда. И тогда у нас есть некоторые отборочного здесь. И тогда то, что у нас есть дальше? У нас есть SET-- что-то равно чего-то. Бла равно бла. Обновлено бла. Верно? Так вот, как вообще Идея-то обновления. ОК? Итак, давайте начнем заполнять это в с тем, что она должна быть. Так что таблицу мы говорим? Учетные записи. И тогда в этом случае, что это действительно круто в мы говорим о конкретных пользователи в наш счет, или мы говорим о всех пользователей? Мы говорим о всем пользователям. Таким образом, в этом случае, мы можем только удалить это WHERE отборочный. ГДЕ только тогда, когда вы хотите ограничить то, что вы изменяете. Если вы хотите, чтобы изменить весь стол, вы можете просто отказаться, что. ОК. Так что теперь мы в нашем часть набора. Что мы хотим изменить? АУДИТОРИЯ: Баланс. SPEAKER 1: Баланс. И мы собираемся to--, как это мы собираемся изменить баланс? У нас есть $ 20 сбор в, не так ли? Минус 20. И они сказали, что это нормально, если у нас есть отрицательные остатки. Таким образом, в этом случае, вам не нужно делать какие-либо дальнейшие проверки ошибок. ОК? То есть буквально все, что вы должны делать. Прохладный? ОК. Так давайте пройдем к следующему. "С какой SQL-запроса банк получения номера счетов из богатейших клиентов с уравновешивает больше, чем $ 1000? " Если ваш банк и ваших богатых клиентов только те, с более чем $ 1000, Я чувствую, как ты делать что-то неправильно. Мол, как же банк выжить на что? Мол, что интерес, не достаточно. ОК. С такого рода вещи, что делают думаешь, из наших четырех функций, Как вы думаете, что мы собираемся использовать? SELECT. Идеально подходит. SELECT. ОК. Таким образом, мы выборе некоторых идентификатор из таблицы. А потом, когда условие. Так как мы идем по это, я просто хочу, чтобы дать вам, ребята, общее освежить на общем формате всех из них. Таким образом, мы выборе какой-то из [? вещь. ?] В этом случае, это будет как правило, некоторые колонки. Таким образом, в нашем случае, у нас есть номер, баланс. В случае, если ваш ребят, может быть, это было ID, имя, пароль. Любой из этих столбцов, это как правило, то, что мы выбора. Таким образом, в этом случае здесь, что вид столбца, в какой идентификатор мы потянув от нашего стола? Что это обратиться к нам за? Он призывает нас для наших номеров, не так ли? Номера счетов. Так что помните, только числом в данном случае. Если вы, ребята, когда-либо имел ошибку, что ярко-оранжевый ящик придет до. И это было, неожиданно грести, как, что угодно. Это потому, что вы назвали Ваш стол так, не так ли? Так что будьте уверены, что вы называя колонки правильно. Так из таблицы, нашим столом Называется счета. Опять же, убедитесь, что вы вашу таблицу правильно. И тогда то, что наше состояние здесь? Что мы ищем? Мы хотим, чтобы наши богатые люди. Да. Так сбалансировать больше, чем 1000. Там вы идете. Это ваш запрос. Не слишком плохо, не так ли? ОК. Так что теперь для нашего последнего. При том, что мы заезжал через. ОК. Так что теперь "с тем, что запрос может банк близко, то есть исключить "- ты не любишь, как они просто дал вам DELETE-- "Каждый счет, который имеет баланс 0?" Я думаю, что мы все можем согласиться, что мы вероятно, будет использовать DELETE. Я Приглашаем Вас принять любой дискуссия вокруг этого. Но я думаю, что это довольно безопасно сказать, что мы могли бы использовать DELETE. Итак, мы собираемся, чтобы удалить некоторые пользователи из таблицы, где состояние. Так же рода вещи, как SELECT. Таким образом, в этом case-- ой, извините. Я должен DELETE FROM. Потому что удаляете, удалить всю строку. Таким образом, мы не должны говорить о том, какие конкретные вещи о пользователе мы находимся удаление. Если мы удалить пользователя, мы удаление все о них. Таким образом, в этом случае, мы просто должны заполните где и нашего состояния. Таким образом, наша таблица находится всего в наши счета стол, как мы делали. И тогда то, что наше состояние здесь? АУДИТОРИЯ: Баланс. SPEAKER 1: Баланс равен 0. Правильно. Все хорошо. Да. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Так DELETE по сути удаляет все. Так в то время как с SELECT, SELECT, берет в некоторые столбцы, которые вы хотите получить. Если вы хотите все о Пользователь возвращается, можно использовать звездой. Звезда говорит, возвращайся ко мне все от этого пользователя. Или, если вы положили WHERE звезду, что означает просто дать мне все. Но DELETE обладающую что. Так что, если вы говорите, удалить из счета, где сальдо равно 0, это будет идти до конца. И везде, где баланс равно 0, то по своей сути, что делает. Это будет удалить все. Звезда более for-- с выбора или UPDATE, это говорит больше о личности поля, соответствующие пользователю. Поэтому, когда вы выбрали звезда из таблицы, где ID равна 1, то возвращается к вам все о пользователе с ID 1. Если вы должны были сделать выбрать номер или выберите имя идентификатора запятой от пользователей WHERE ID равен 1, что просто возвращает их количество или их ID и свое имя. ОК? Поэтому мы используем звезду в таком случае дать нам все о пользователе. И УДАЛЕНИЕ сути не делает. Это не просто удаляет идентификатор, или просто имя, или что-то. Да, нет. Это просто удаляет весь пользователя. Таким образом, мы не должны беспокоиться о звезде там. Если вы хотите, чтобы удалить все, вы могли бы сделать, что, и это просто все бросить. Но, как правило, вам не хочу этого делать. Но если вы хотите, чтобы удалить все, вы могли бы сделать это. ОК. Вы, ребята, нашли какие-либо вопросы? Да. АУДИТОРИЯ: Не могли бы вы сделать 26? SPEAKER 1: 26 мы только что сделали. АУДИТОРИЯ: О, 25, извините. SPEAKER 1: 25. ОК. 25. Ох. Они делают JavaScript. О, я не могу в это поверить. Я собираюсь возиться нас снова, ребята. ОК. Мы получили это. Мы собираемся сделать эту работу. Ах, JQuery. Fun. ОК. Итак, мы собираемся, чтобы завершить Реализация веб-страницы таким образом, что если они посещают, вход из их названия, и представить форму, они имеют эту великую предупреждение окно, в котором будет появляться. Так что, например предупреждений, мы знаем, что мы собираемся иметь, чтобы использовать JavaScript. Ура, JavaScript. И если они не INPUT A Наименование До заполнения формы, не должно появляться никакой бдительный. Таким образом, вы можете использовать JQuery, но вы не должны. Так что я собираюсь, чтобы вы, ребята, работать на этот раз на пару минут. Подумайте об этом. И тогда мы будем его код. Slash я собираюсь попробовать и думать о Лучший способ объяснить этот ответ к вам. Хорошо. Мы получим его создать. ОК. Таким образом, мы только собираемся пройти через это, потому что я знаю JQuery это немного сбивает с толку. JavaScript. Это немного там. Так что мы собираемся сделать, это [Неразборчиво] на самом деле решена Эта проблема с JQuery. Так что, если вы помните, JQuery это просто библиотека вот только построен на вершине JavaScript. Это означало, чтобы сделать ваш жизнь немного легче. Я бы определенно, если у вас есть время, посмотрите немного документация для JQuery. Но это очень похоже на JavaScript. Он получил аналогичные парадигмы, где вы использовать эту точек оператора для вызова функций на объекты, которые у вас есть. Итак, что мы имеем здесь дело для JQuery, вы всегда должны иметь такого рода обертки, которая является .ready Функции $ (документ) (функция) в скобках здесь. ОК. Так что это может быть что-то Вы хотите на вашем шпаргалку. Потому что, по крайней мере, вы можете имеют оболочки для JQuery. И это будет по крайней мере получить Вы расстаться там. Таким образом, в одной и той же образом, что мы много говорили о JavaScript, и мы бы начнем на то, что мы пытаемся изменить или то, что мы пытаемся изменить. И, что, как правило, будет Первое, что мы бы поставил в. Таким образом, в этом случае, если мы вернемся к этому здесь, и мы посмотрим на нашу форму здесь, у нас есть следующие входы, Хорошо, этот идентификатор входов. И мы знаем, что на основе На наш вопрос, мы либо собирается бросить ошибке, если это пусто, или мы собираемся поставить это в боевой готовности, не так ли? Так, вероятно, можно сказать, что мы будет иметь дело с входами здесь. JQuery очень похожи в том, если мы вспомните CSS, либо с ID мы смотрим на с хэш. Что-нибудь с класса мы посмотрел на с точки, не так ли? Таким образом, в то же способом здесь, что мы говорим о том, входы. Мы видели, что входы в ID в нашу форму. Итак, мы собираемся обратиться к нему как таковой. Входы. ОК? Поэтому, когда есть сомнения, даже если вам некуда, если вы действительно не знаете, как подойти к этому, A, есть эта обертка. Так что начните там с Оболочка для JQuery. B, убедитесь, что вы знаете, что вы хотите изменить. И когда в сомнении, положить, что в чем-то, и делать точку, что вы думаете Вы должны делать с этим. Зал: А оберткой? SPEAKER 1: обертка это первая линия. Так что это не говорит, подождите, пока мой документ готов. Тогда начните возиться с вещами. ОК? Итак, мы знаем, что мы возиться с входами. Так что мы, как, хорошо, входы наша форма. Это наша ID. Так вот то, что мы будет ищет. И мы хотим, чтобы увидеть, что происходит когда эта форма была отправлена, не так ли? Так, как мы думаем, у нас есть некоторые .submit. Так .submit просто говорит, хорошо, эта форма что мы с привязкой хэш-входов, когда это представляется, выполнить что-то другое. Таким образом, мы будем иметь какую-то функцию. Обратите внимание, у нас есть анонимные функции здесь. У нас есть анонимную функцию здесь. Да. АУДИТОРИЯ: Будет ли всегда быть .submit, или это просто потому, что в HTML, мы сделали кнопка типа представить? SPEAKER 1: Следует .submit, потому что это какая-то форма, мы представляем. Потому что это .submit не обязательно соответствуют тому, что кнопка, как позвонить. Но факт, что это по форме, что мы отправкой. ОК. Так заметить неизвестным Функция здесь says-- Аудитория: Я на самом деле не понять анонимные функции. SPEAKER 1: Так анонимный функции, они просто функции, не имеющие имени. Таким образом, вместо того, некоторые основные функции что calls-- мы могли бы сказать, был ли документ готовы, то мы могли бы назвать входов. А потом, когда представил, call-- Мол, если так-то и так представлены, мы назвали бы некоторые другие функции. Анонимная функция просто не имеет названия, и это будет просто выполнить в такого рода вещах. Таким образом, в этом случае, то, что это говорит это, когда наши документ готов, выполнить эту функцию. Эта функция состоит всего в здесь. И тогда следующий слой в это, хорошо, когда входы представляется, выполните следующую. Это просто способ, обозначив что должно быть выполнено, когда. Это буквально функция, которая не есть имя, так что они, как правило, быть вложенными друг в друга, потому что вы не можете называть их по имени. ОК? Буквально, анонимная функция это просто функция без имени. Это так. Просто способ инкапсуляции разные вещи что мы хотим выполняется в определенное время. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: отверстие? Где? АУДИТОРИЯ: В скобках после функции? SPEAKER 1: После функций. Который? АУДИТОРИЯ: Оба. Если вы поставите, как, событие, или если Вы помещаете аргумент в там, это было бы не так? SPEAKER 1: В этом случае, я полагаю, вы могли бы поставить аргумент там. Но поскольку мы не должны Аргумент, что не должно быть. Мол, это целое, как вы должны только есть вещи, которые являются необходимо подобное. Таким же образом, что, если мы должны были любой функция, которая имеет INT основной void-- как, с Int основной пустоту, вы могли бы сделать Int ARG V, что угодно. Но если вам не нужно них, вы не должны иметь их в наличии. То же самое. Эмма, ты есть вопросы? ОК. Круто. ОК. Итак, что мы до сих пор, когда наши документ готов, выполнения этого. Теперь мы смотрим на когда это представляется. Так что теперь у нас действительно есть своего рода мяса нашего вещи. Таким образом, мы должны получить значение, Пользователь представлены, будь то имя или пуст. И тогда мы должны либо вернуться Это предупреждение или выдаст ошибку. В любом случае. Так как же мы заявляем, переменной в JavaScript? Var. Итак, давайте говорить, вар имя equals-- или на самом деле, мы будем Вы цените, так как я думаю, что это имя. ОК. Итак, мы имеем какое-то значение здесь, что мы хочу, чтобы тянуть из нашей формы, входы. Таким образом, в одной и той же образом, что мы как-то делали входы, может кто-нибудь сказать мне, что мы может быть звонков внутри здесь Если мы хотим получить название от формы? И если мы оглянемся на нашу форму здесь, мы замечаем, что у нас есть идентификатор имени. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Вы не должны думать о нем, как массив. Вам не нужно беспокоиться об этом. Так что мы просто есть имя. А потом, потому что JavaScript и вещи странные, мы не можем просто сделать "имя". Мы на самом деле нужно позвонить некоторая функция, которая дает нам, как, значение этого идентификатора. ОК? Так что это просто .val. АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: OK. Так что с JavaScript, такого рода вещь прямо здесь просто проходит. А вы могли бы думать об этом as-- это как и почти в getElementById, где getElementById будет на самом деле вернуть всю вещь для вас. $ ("# Имя") так же, как, Хорошо, у меня есть, я могу получить к нему доступ, но если вы действительно хотите его вернуть значение you-- АУДИТОРИЯ: Это как указатель? SPEAKER 1: Это вроде как указатель. Вы можете думать об этом как вроде как указатель. Мол, он говорит, хорошо, я знаете, как туда попасть, но на самом деле получить значение из это, вы должны явно указать это. И, к сожалению, очевидно, что мы не сделать слишком много с JavaScript и JQuery. Так что придет к тому, сколько Вы guys--, что вы не знаете,, то, что вы случайно не видели, и что Вы можете вид логически догадаться. Поскольку некоторые из этих вещей, вы вероятно, может получить на полпути. Но чтобы получить это совершенно правы, Я думаю, что эту проблему, вероятно, был один из самых низких показателей. АУДИТОРИЯ: Как, например, для [неразборчиво] входных, почему бы вам не поставить Val попасть? SPEAKER 1: для этого? АУДИТОРИЯ: Да. SPEAKER 1: Да. Потому что это своего рода как, как мы уже говорили, некоторые указатель, и это мне ссылки это и на самом деле получить нам значение. АУДИТОРИЯ: В то время как [неразборчиво]? SPEAKER 1: Для входов, Входы просто some-- это как мы только что глядя на него в целом, и это .submit говорит что нам нужно знать. JQuery и JavaScript странно. Я знаю. Знаю, ребята. Я знаю. Там это причина, почему я не сделать веб-программирования. Просто шучу. У меня не было достаточно воздействия на него. АУДИТОРИЯ: [неразборчиво] CSS. [Смех] SPEAKER 1: Хорошо, это CSS. CSS это просто, как, сделать все красиво, это не нравится, давайте иметь дело с данными. Там же разница. ОК. Так что теперь, надеюсь, это part-- Кроме того, для Проблема, как это, где вы не можете знать синтаксис, вы можете быть, как ОК, вы можете иметь некоторые VAR значение и быть как, допустим, я получил правильное значение. И тогда вы, вероятно, написать эту следующую часть. Следующая часть, вероятно, кажется намного проще, или это сделает логичным смысл для вас, ребята. В то время как то, что мы написали до сих пор, Я знаю, что будет, как, ммм, да, Я не знаю, что на викторине. Вы можете полностью написать psuedocode а затем перерыв в реальный код когда you-- это вроде как математика. Если вы когда-либо имели некоторые Проблема нескольких частей, где Вы не знаете, как пройти первый шаг, но все остальное опирается на этой первой стадии, Вы только что сказали, как, допустим, х равен 4. И тогда вы работать с ним, не так ли? Вы можете сделать то же самое с кодом. Таким образом, можно сказать, предположим, Я получил значение права. Тогда это сделать следующую часть здесь. Потому что эта часть на самом деле должно быть довольно логично. Таким образом, мы должны проверить если наша значение пустое. Или, если это какая-то имя, фактически дать предупреждение. Так что, возможно, мы хотим проверить? Мы хотим, чтобы некоторые, если. Что вы думаете наша Если будет? Нам нужно проверить, чтобы увидеть, если значение is-- если это не пустая строка. Идеально подходит. Именно так. ОК. Так что, если это так, что мы хотим делать? Мы хотим, чтобы пролить предупреждение, не так ли? Так что это просто предупреждение. И тогда все, что мы хотим внутри. Так что мы должны иметь в нашем предупреждение? АУДИТОРИЯ: "Привет." SPEAKER 1: запятая. И тогда вы, ребята, помню, как объединить? АУДИТОРИЯ: Плюс. SPEAKER 1: Плюс. Поэтому мы хотим, чтобы иметь плюс. И тогда мы должны еще один плюс для нашего восклицательным знаком. Круто. ОК. В противном случае, то, что мы могли бы хотите сделать? Мы не хотим ничего делать, не так ли? Так что мы просто вернуться ложным. Не то, что я хочу сделать. ОК. И тогда они, из course--, что важно стоит помнить, чтобы закрыть Ваши анонимные функции. Так что, если вы заметили, у нас есть некоторые Функция здесь заканчивается здесь. Таким образом, мы должны закрыть это Первый и точка с запятой. А потом этот здесь должен делать с этой анонимной функции, так мы закрываем его там. Это коленный рефлекс реакция экономии. Да. АУДИТОРИЯ: Есть причина that-- просто во всех примерах, приведенных в JavaScript что я видел, у нас есть первые фигурные скобки на той же строке, что и функции? SPEAKER 1: Это стилистическая. Да. А на самом деле, если взять 61, мы сделать все наши фигурные скобки таким образом. А? АУДИТОРИЯ: Если мы действительно делали, что PSET, это плохо для стиля? SPEAKER 1: Нет Мы явно сказал вы, ребята, чтобы сделать это. Но на самом деле, это своего рода доминирующего конвенции во многих классах С и JavaScript и JQuery. Так, очевидно, я sure-- а на самом деле, если бы я были полностью сделать эту проблему слепой без посмотрев на него, есть, вероятно, очень мало способы я бы получил это. Я, возможно, был, как, хорошо, может быть, я нужно, чтобы захватить что-нибудь вход. И я думаю, имея Известно, что, вроде бы, Хорошо, если я хочу получить что-то из формы, который имеет идентификатор, Я имею в виду это таким образом, Я, наверное, понял. Я мог бы получить это. Но на самом деле, единственное, что я думаю, Я бы действительно получить это прямо здесь. Так что это своего рода важно знаете, как и с любым трудное испытание, вы вроде выберите свои сражения, не так ли? Если вы знаете, что вы не собираетесь, чтобы получить что первая часть для JQuery, как я уже сказал, Предположим, что у вас есть это значение и делать то, что вы можете с ним. И если у вас есть время, вернитесь и попытаться заполнить куски. Но не позволяйте вопрос, как это действительно докучать вам. Потому что что? Это был один вопрос о JQuery из всего экзамена. Так что, да, это было бы замечательно, если бы вы его получили. АУДИТОРИЯ: [неразборчиво] Вы можете использовать JQuery. SPEAKER 1: Вы добро пожаловать для использования JQuery. АУДИТОРИЯ: OK. [Неразборчиво]. SPEAKER 1: Как бы вам не использовать его? Я бы посмотреть все мои JavaScript. Это на самом деле гораздо проще, Я думаю, использовать JQuery, потому что JQuery на самом деле уменьшает количество JavaScript вы пишете, вероятно, по, как, наполовину. Таким образом, наш код будет, вероятно, будет в два раза дольше без такового. Так что если вы recognize-- большой что взять от этой проблемы являются узоры. Если вы обращаетесь то из формы, Вы собираетесь использовать кавычки, хэш, все, что вы пытаетесь получить доступ. Если это представляется, вы хотите использовать что-то вроде .submit. Вы, наверное, будем использовать анонимная функция там. Если вы на самом деле нужно значение то, что вы собираетесь делать кавычки, хэш, что бы это ни поле, .val. И распознавания образов как что собираются будет гораздо более полезным, чем не зная, вшивый песчаный. Да. АУДИТОРИЯ: Так что, если пользователь отправляет свое имя и она проходит через это заявление, будет это спуститься вниз и вернуться ложным после этого? SPEAKER 1: Нет, потому что начеку, Вы можете думать об этом, как вернуться. Да. Так это будет выхода. Да. АУДИТОРИЯ: Не могли бы вы [? разместить?] скобки из представить, скобки, что-то? SPEAKER 1: я сделал, я считаю. Этот закрыты прямо здесь. А потом этот кто-то получает закрыли здесь. АУДИТОРИЯ: Да, есть. Хорошо. SPEAKER 1: Очевидно, что мало, маленькие синтаксические вещи так, мы, вероятно, просто обведите его и сказать: не забывайте свои скобок. Но да. ОК. У нас есть еще один что мы хотели бы сделать? Знаете ли Вы, ребята получают бинарное дерево один? Хотим ли мы, чтобы перейти на этот? Я чувствую, как бинарные деревья и презервативы должны быть точки что вы, ребята, довольно легко. Я бы не хотела, терять очки на этот счет. ОК. Давайте сделаем это DOM здесь. Жаль, что я имел мой поверхности, так I может просто рисовать на экране. Вот что я использовал, чтобы сделать в прошлом году. ОК. Так как я уже говорил, мы говорили о DOM, объектной модели документа. Они, вероятно, будет давать вам некоторые немного фрагменте, как это и прошу вас создать дерево для него. И это как раз все должен делать с запуском через тегов. Так давайте попробуем это сделать. Кроме того, как обычно, если вы, ребята, сделать эти контрольные опросы, как я высоко рекомендую вам сделать как показывает практика, любой из них, что вы, как, Я действительно не понимаю, что это здесь происходит, просто, конечно, напишите мне письмо с вопросом, и я объясню, насколько я могу. ОК. У нас есть какой-нибудь документ, и мы должны HTML. ОК. Итак, мы просто анализ теги здесь, не так ли? Итак, что же мы видим comes-- каковы два подзаголовки под HTML? Тем более, что они с отступом правильно? Голова и тело. Ах. Голова и тело. Прекрасный. Итак, давайте начнем вот с головой. Что под голову? Что наш следующий тег? Название. И затем в течение названия, викторина. ОК. Так буквально, то это просто прогулки по тегам, ОК? Итак, если у нас есть Тело, как мы идем до конца, тело имеет три вещи в этом, верно? Он получил три дивы. Каждый DIV получает свой собственный маленький ящик. И то, что в первом DIV? [Неразборчиво] И тогда следующий средняя, который я просто хочу, чтобы сократить. И тогда последний дно. Так на самом деле, это просто прогуливаясь по. И потому, что мы собираемся дать You HTML, который должным образом с отступом Вы можете буквально просто запустить через и сказать ОК, вот HTML. Так что это внешний угол, или дальше влево, таким образом, что должен быть собственный предмет. Они находятся на одной и той же абзаце. Итак, мы знаем, что голова должна на том же уровне, что и тело, но под HTML. Это то, что мы имеем здесь. Голова и тело являются братьями и сестрами, но они находятся под HTML. А потом мы просто идем в каждый из них. Так головка имеет название, которое имеет викторину, как мы видим здесь. И то и в этом случае мы имеем орган, который имеет следующие три строки. Таким образом, эти все братья и сестры все под тела. ОК? Будем надеяться, что, когда вы видите что-то вроде этого, вы, как, да, я просто получить нарисовать дерево. Это будет здорово. ОК. Так хотелось, чтобы убедиться, вы, ребята, знали, что. Так почему бы нам не пойти к 32 с нашей бинарного дерева? Потому что как только вы понимаете, двоичный Поиск дерево, это действительно не так уж плохо. Так Эверетт, я могу erase-- I имею в виду, это все в Интернете, тоже. Так что, если у вас есть какие-либо вопросы. Забыли мало места, но это нормально. Так бинарное дерево поиска является просто способ организации данных не в массиве, где Корень всегда больше чем левая ребенка и корень всегда меньше правого ребенка. ОК. Итак, мы имеем эту великую дерево поиска здесь. У нас есть эти цифры, 34, 59, 20, 106, 36, и 52. И мы должны организовать они таким образом, таким образом, что корень больше чем все на левой стороне и меньше, чем все на правой стороне. И, как правило, то, что вы хочу сделать, это попытаться найти то примерно в середине. В случае двоичных деревьев поиска, вы, возможно, придется чтобы поиграть немного с ним. Но в этом случае, давайте просто Предположим, что мы знаем эту первое. Так 36 наша первая здесь. Как правило, я хотел бы попробовать и выбрать что-то примерно в середине, что будет вероятно, дает наилучшие результаты. Итак, теперь мы знаем, что все на эта сторона должна быть меньше, чем 36. Но и то, что вы могли видеть это что у нас есть два места здесь. Так что, если мы знаем, что нам нужно два числа, которые меньше, чем в корне, то вы могли бы просто заказать их и выберите третий номер. ОК. Так почему бы нам не начать с этой стороны? Так что, если мы знаем, что все на эта сторона должна быть меньше, чем 36-- но если мы посмотрим на этот, мы знаем, что это число должен быть меньше этого числа, не так ли? Поскольку это число здесь находится на правой стороне. И помните, как в наших больших дерева, все о праве должна быть больше, чем в корне. Таким образом, мы знаем, что то, что в это нужно будет больше, чем то, что здесь. ОК? Итак, мы имеем два варианта для этих двух пузырьков. У нас есть 32 и 34-- или извините. 20 и 34. Итак, как вы думаете, мы могли бы поставить их в? Если это нужно будет больше, чем этот, это означает, что мы хотим есть 20 здесь и 34 здесь. ОК. Таким образом, в одной и той же образом, мы рассматриваем При этом виде суб дерева. И мы говорим, хорошо, мы не имеем 36. У нас есть 106, 52 и 59. Верно? В этом случае здесь мы знать, что одна потребности иметь одна вещь, которая больше, чем это и одна вещь, которая меньше его. Верно? Так что, если мы ставим их в порядке, это просто о поиске, что среднее значение снова. Таким образом, наша средняя стоимость составляет 59. Итак мы говорим, хорошо, что это меньше, чем 59? Ну, это 52. И то, что больше, чем 59? Ну, это 106. ОК? Так что это просто немного похож на головоломку. Это, как правило, помогает, особенно в небольших деревьев, как это, если вы просто заказываете его, если вы знаете, как многие из них слева и сколько на Хорошо, что можно просто позволит вам выбрать то, что должны быть в вашем корня. И тогда вы можете вид от того, работают там. Мм-хм. 33? Конечно. ОК. Поэтому мы хотим, чтобы создать узел или бинарное дерево поиска. И давайте посмотрим на то, что может быть в этом. И я думаю, что это на самом деле, это наш последний вопрос. Ах. ОК. ОК. Это подобно тому, что мы можем думать о качестве узла, не так ли? У нас есть какое-то значение, и мы знаю, что это будет либо что левый и правый дети. Двоичный поиск tree-- это означает, что что он имеет, самое большее, двух детей. ОК? Давайте подумаем о том, как мы определяется связанный список, не так ли? У нас были некоторые Int, что представлены значения. У нас были некоторые указатель, который представлял что он собирается в следующем. Бинарное дерево поиска очень похожи. Мы по-прежнему имеют определенную ценность, п, что мы даем его, не так ли? И тогда я обратил их очень явно со стрелками, потому что они эффективно указателей. ОК? Так N, как правило, и что? Это какой-то ценность. Что мы обычно определяем его как? Int. Итак, мы имеем некоторое Int N, или INT значение, или все, что вы хотели бы называть его. А то у нас левый Ребенок и право ребенка. Верно? И мы знаем, что они point--, что они, указывая на? Они указывают на другие узлы, не так ли? Так как же мы объявляем указатель узла? АУДИТОРИЯ: [неразборчиво]. SPEAKER 1: Мм-хм. И мы будем иметь два из них, не так ли? И тогда мы можем буквально у отправился на левом ребенка и право на правом ребенка. Actually-- извините. Потому что нам нужно структуры. Так структуры является то, потому что у нас не закончил объявив узел еще. Так узел находится в здесь. Это вроде как рекурсивное определение, верно? Поэтому, когда мы находимся в это определение, мы еще не закончили объявления узел, как структура, так что мы должны делать-структуру узел просто сказать, да, мы на самом деле в виду Вернуться самим себе вещь типа. Это как раз это создана, она будет в порядке. Так как большая вы, ребята, думаете, что это? Что размер этой структуры? 12. Почему? Именно. И в самом деле, один из Первые вопросы, один Викторина Один о размерах, поэтому я спросил. Хорошо. Мы будем до конца, потому что DCE будет кричать на меня, если мы не делаем. Но если вы, ребята, есть какие-либо вопросы, Конечно, напишите мне, дайте мне знать. Вы, ребята, собираетесь качать его. Я очень взволнован. Вы, ребята, будет сделано, как из среды, а затем вы получите работать на вашем финала проекты, и это будет потрясающе. Я буду здесь в следующем неделю с 4:00 до 4:30 если вы, ребята, хотите приехать забрать викторины. Если вы хотите, чтобы найти мне в другой раз или просто координат различное время, не стесняйтесь, дайте мне знать. В противном случае, это наш последний раздел. Так было приятно видеть вас, ребята. Пожалуйста, больше конфет. И удачи на конкурсе.