[Грає музика] 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 якщо ви, хлопці, хочете приїхати забрати вікторини. Якщо ви хочете, щоб знайти мені в інший раз або просто координат різний час, не соромтеся, дайте мені знати. В іншому випадку, це наш останній розділ. Так було приємно бачити вас, хлопці. Будь ласка, більше цукерок. І удачі на конкурсі.