>> [MUSIC CHƠI]
>> SPEAKER 1: Được rồi, tất cả mọi người.
Chào mừng bạn đến phần cuối cùng của bạn với tôi.
Nó được khá học kỳ.
Tôi không thể tin rằng điều này là, như, tuần thứ 12 hoặc 11, một cái gì đó như thế.
Nhưng vì nó là cuối cùng của chúng tôi phần, chúng tôi có rất nhiều kẹo.
Và tôi sẽ cố gắng và chuẩn bị bạn cũng như tôi
có thể cho bài kiểm tra của bạn vào ngày thứ Tư.
Vì vậy, có lẽ không phải là cách tốt nhất để, như, phần kết thúc với tổng đố.
Nhưng chúng tôi sẽ cố gắng và làm cho nó vui.
Và luôn luôn có kẹo.
Vì vậy, hy vọng, mà sẽ làm cho nó tốt hơn.
>> Đố bạn là có được khá nhiều điều tương tự như quiz Zero.
Nó sẽ là cùng định dạng, cùng chiều dài.
Bạn sẽ ở trong phòng rải rác trên khuôn viên trường, bởi vì có
gần 900 của bạn, và chúng tôi không thể tất cả các tổ chức bạn trong phòng như thế này.
Vì vậy, hãy chắc chắn để xem xét tất cả các Quiz Một tài liệu
trực tuyến tại cs50.harvard.edu tối nay hoặc tối mai.
Hãy chắc chắn rằng bạn biết nơi bạn đang đi, những gì bạn cần mang theo.
Thực sự, bạn chỉ cần mang theo mình và một cây bút chì, và bạn nên được tốt.
Các câu hỏi sẽ được rất nhiều như nhau.
Có thể sẽ có một vài nhiều sự lựa chọn, một vài câu trả lời ngắn,
một số mã hóa, có thể một số đúng / sai, phù hợp với các loại vật.
Vì vậy, bạn không nên quá ngạc nhiên bởi định dạng.
>> Những gì có thể đáng ngạc nhiên là chiều dài, trong đó, trong những năm trước đó,
Đã có nhiều thời gian hơn.
Trong năm của tôi, tôi không có một người bạn duy nhất Tôi nhớ rằng khi kết thúc kỳ thi.
Có như nhiều trang để trống.
Vì vậy, chiều dài có thể được loại mất phương hướng
chỉ vì trong một vài năm, nó có được lâu hơn so với quiz One.
Tôi không có ý tưởng những gì nó sẽ như thế nào trong năm nay,
nhưng nó là một cái gì đó để được nhận thức.
>> Ngoài ra, mọi người có xu hướng difficulty--
Trắc nghiệm để tìm một nhiều hơn Câu đố khó khăn hơn Zero.
Một lần nữa, bạn biết đấy, nếu bạn loại đi
ra cảm thấy một chút khó chịu vì bạn không làm tốt như bạn nghĩ
bạn sẽ hoặc bạn cảm thấy như bạn đã làm không làm tốt như bạn đã làm trên quiz One,
hãy nhớ rằng có thể là một rất nhiều người khác cảm thấy như vậy.
Tôi chắc chắn là một trong những người đó.
Đố ai, như thế, tôi đã ném cho một vòng lặp.
Và những người bạn của tôi có điều này tuyệt vời hình ảnh của họ tại JP Licks
loại với những lớn sundaes, được như thế, Quiz One,
và trông như họ đang ở trong nước mắt.
>> Vì vậy, đó là một cảm giác chung.
Đó là một bài kiểm tra khó khăn, đó là một bài kiểm tra khó khăn.
Rõ ràng, nếu bạn đi ra ngoài và bạn cảm thấy như bạn đã làm rung chuyển nó, tuyệt vời cho bạn.
Nhưng biết rằng có lẽ bạn đang not-- bạn gần như chắc chắn nhất không
một mình nếu bạn đi bộ ra cảm giác như, eh, có lẽ có thể đã nhận được tốt hơn.
Nó dai.
Mm-hm.
>> Đung bao nhiêu là nó có giá trị liên quan đến [Không nghe thấy]?
>> SPEAKER 1: Nó có giá trị như nhau.
Yeah.
Nhưng một lần nữa, nó cũng sẽ là ảnh hưởng bởi cách với phần còn lại của lớp
không có gì, như thế nào phần của bạn không, làm thế nào bạn đã được cải thiện theo thời gian.
Chấm điểm là một chút của một hộp đen.
Vì vậy, những gì các con số thực tế hoặc tỷ lệ bạn có được
không nhất thiết phải thích trực tiếp tương quan với các lớp
bạn sẽ nhận được.
Có rất nhiều yếu tố mà đi vào nó.
>> Vì vậy, với điều đó, chúng ta sẽ đi qua một số xét hỏi.
Tôi chỉ cần đi để chạy này như lần trước cho các bạn.
Tôi có tất cả các câu trả lời để hỏi Một trong năm ngoái.
Vì vậy, nếu các bạn muốn kéo đó lên trên máy tính của riêng bạn,
nếu bạn đã thực hiện kỳ ​​thi này trước và có thắc mắc,
Tôi đã suy nghĩ chúng ta có thể chỉ cần đi qua một số
của những người khó khăn hơn về điều đó.
Vì vậy, chúng ta có thể nói về nó, có thể có được cái nhìn sâu sắc hơn một chút
vào trực giác đằng sau một số các câu hỏi, làm thế nào để tiếp cận họ.
>> Cũng như thời gian qua, Tôi có một boong-100 trượt
có về cơ bản tất cả của các slide mà tôi
đã chuẩn bị cho trước phần vì quiz-- tôi cuối cùng của bạn
có trong bộ bài này.
Vì vậy, chúng ta có thể đi qua khá nhiều bất cứ điều gì
mà chúng tôi đã nói chuyện về trước rằng có thể bạn
muốn làm rõ hơn một chút về.
Chúng tôi có thể làm điều đó đầu tiên.
>> Nhưng mặt khác, tôi là siêu hạnh phúc chỉ đến loại công việc
thông qua những vấn đề này với các bạn.
Và tôi thực sự ở đây để tập trung vào những gì bạn nghĩ
sẽ là quan trọng nhất để tập trung vào.
Giống như, rõ ràng, tất cả công cụ này là rất quan trọng.
Đặc biệt là khi chúng tôi đi qua đố One, Tôi chắc chắn sẽ chỉ ra những điều như thế,
oh, đây có thể là một cái gì đó bạn thực sự muốn biết
hoặc bạn muốn có trên tờ cheat của bạn.
Tôi sẽ nói với bạn những điều như chúng ta loại đi qua.
>> Vì vậy, trên lưu ý rằng, đang có bất cứ điều mà các bạn muốn đi qua?
Ngoài ra, nếu tôi không có nó trong bộ bài của tôi, chúng ta có thể kéo lên một cái gì đó trên trang web,
hoặc chúng ta có thể cố gắng và làm lên một ví dụ khi đang bay.
Nhưng bất kỳ khái niệm mà bạn guys là một chút mờ về.
[? Brian,?] Đã làm bạn have--
>> Đung Oh, là nó tích lũy?
Giống như, là những thứ trên quiz Không có được trên đây?
>> SPEAKER 1: Đó là tích lũy, nhưng nó nhiều hơn
của một sự nhấn mạnh vào những thứ kể từ khi bài kiểm tra cuối cùng của bạn.
Vì vậy, rõ ràng, các bạn có biết về các biến, và các vòng lặp,
và điều kiện.
Và nó không giống như những người chỉ đi đi, vì họ
rõ ràng là gắn liền với tất cả mọi thứ khác mà chúng tôi đã học được bây giờ.
>> Có thể có một câu hỏi trên các loại, hoặc có
có thể là một câu hỏi trên các tìm kiếm khác nhau.
Hoặc có thể là một cặp vợ chồng câu hỏi trên có lẽ một cái gì đó bạn
phải làm với biên dịch hay các lỗi khác nhau.
Nhưng nếu bạn đã nhìn Một bài kiểm tra từ năm ngoái,
bạn sẽ nhận thấy rằng nó là rất nhiều tập trung vào những thứ
đã xảy ra kể từ khi bài kiểm tra cuối cùng của bạn.
>> Tại sao cánh cửa đó luôn luôn bị khóa?
Nó thực sự làm tôi bực mình.
Bởi vì tôi luôn luôn cố gắng để đi qua nó.
>> Vì vậy, đó là khá nhiều cách đố sẽ được.
Vì vậy, được có bất kỳ khái niệm các bạn muốn đi qua?
Hoặc chúng ta có thể nhảy ngay vào chỉ nhìn vào đố Một
từ năm ngoái và loại đi qua các câu hỏi thực hành ở đó.
Chúng tôi cũng có thể chuyển đổi qua lại.
Đây không phải là một thời gian loại điều.
Bất kỳ câu hỏi?
Vâng.
>> Đung Tôi hỏi một câu hỏi về another--
>> SPEAKER 1: Một người khác?
>> Đung này là từ một năm nữa.
>> SPEAKER 1: Yeah.
Chúng tôi cũng có thể làm thêm một năm nữa.
>> Đung OK.
Vì vậy, vào năm 2011.
>> SPEAKER 1: 2011.
Ooh, đó là năm trước khi tôi.
Hãy để tôi kéo này lên.
>> Đung tôi nghĩ.
>> SPEAKER 1: Khía cạnh này Tỷ lệ này được ném cho tôi đi.
>> Đung 11 và 12.
>> SPEAKER 1: 11 và 12.
OK.
Vâng, ở đây, tại sao chúng ta không làm được điều này?
Bạn guys-- tất cả mọi người chỉ mất một vài phút để xem xét thông qua các câu đố.
Và chúng tôi sẽ biên soạn một danh sách.
Và sau đó chúng ta sẽ đi qua chúng.
Tất cả phải không?
Trong khi tôi nhận được một bó của công cụ này thiết lập.
OK.
Tôi chỉ cần đi để viết điều xuống trên giấy.
>> 2011, 11 và 12?
Tôi chỉ cần đi để thay đổi màn hình này.
OK.
Đó là tốt hơn.
Trên này.
Được rồi.
>> Bất cứ ai khác có bất kỳ mà họ muốn bắt đầu với?
Ngoài ra, quên nói, nếu bạn muốn biết thêm một bó của những người nói chuyện với bạn
và chỉ đem lại cho bạn một vết nứt Tất nhiên trong sáu tuần qua,
chúng tôi đang chạy một xét phiên làm việc từ 7:00
đến 8:30 tối nay ở Tây Bắc B103, trong đó cũng đã xảy ra
Lần cuối cùng, nơi mà nó sẽ là tôi, Hannah, Daven, với Gabe
Rob và loại giúp đỡ từ Bên lề chỉ là loại ném tất cả
những thông tin mà bạn có thể muốn có trên tờ cheat của bạn,
dấu gạch chéo, biết nói chung ở đó.
Đung Đó cũng là trực tuyến, phải không?
SPEAKER 1: Nó cũng trực tuyến.
Vì vậy, bạn cũng có thể đứng ngoài này thời tiết nhầy, đi đến ký túc xá của bạn,
và live-stream nó nếu bạn muốn.
Tôi chắc rằng rất nhiều people-- Tôi biết tôi sẽ
thể làm điều đó nếu tôi ở vị trí của bạn.
OK.
Vậy tại sao chúng ta không bắt đầu with-- trong khi bạn guys-- hy vọng,
Bạn đang tìm kiếm thông qua.
Nếu không, tôi chỉ có thể bắt đầu làm việc thông qua những điều khác nhau trên quiz Một
từ năm ngoái, trừ khi bạn có câu hỏi cụ thể.
>> Chúng tôi sẽ bắt đầu với điều này đặt câu hỏi ở đây về ngăn xếp.
Vì vậy, không ai nhớ loại của những gì một chồng là?
Làm thế nào chúng ta có xu hướng đối với: có ai có thể chỉ cho cho tôi một mô tả chung của một chồng?
Một loại cấu trúc dữ liệu.
OK.
Vì vậy, nó là một trong những cấu trúc dữ liệu mà chúng ta
mong bạn để làm quen with-- như ngăn xếp, mảng, xếp hàng, vv.
Vâng.
>> Đung như First In, cuối Out, một cái gì đó.
>> SPEAKER 1: Đó là First In, Last Out.
Chính xác.
Vì vậy, một chồng là chính xác những gì chúng ta có xu hướng nghĩ
về khi chúng ta nghĩ của một đống thứ.
Vì vậy, một chồng đĩa.
Các tấm đầu tiên bạn đặt xuống là có được ở phía dưới,
và nó sẽ là người cuối cùng một là bạn loại bỏ ở cuối.
Bởi vì họ chồng lên.
>> Và bạn nên tận dụng một trong số phía dưới, thường, mọi thứ sụp đổ và phá vỡ.
Vì vậy, ngăn xếp bạn có thể nghĩ giống như một chồng đĩa.
Hoặc ví dụ, chúng tôi luôn muốn sử dụng là trong hội trường D, bạn có khay,
tất cả họ đang xếp chồng lên nhau, và bạn phải mất từ ​​đầu.
Vì vậy, người cuối cùng trong là một hiện đầu tiên.
OK.
>> Vì vậy, trong trường hợp ở đây, chúng tôi thấy chúng tôi have-- Tôi tự hỏi
nếu tôi thực sự có thể phóng to một chút.
Vì vậy, chúng tôi có điều này struct đây.
Phải không?
Vì vậy, bạn có một số cấu trúc có một số int số công suất.
Vì vậy, những gì chúng ta nghĩ rằng đại diện?
Đây là một mảng với kích thước NĂNG LỰC.
>> Vì vậy, đây thực sự đại diện cho chồng của chúng tôi nói chung.
Chồng của chúng tôi thực sự chỉ là một là mảng với một số số thiết lập
đó là tối đa của nó, đó là, NĂNG LỰC của nó.
Và sau đó chúng tôi có một số kích thước int, mà sẽ theo dõi kích thước của ngăn xếp của chúng tôi
trong suốt khóa học khi chúng ta đang sử dụng nó.
OK?
>> Trong trường hợp này phải ở đây, chúng ta nói rằng chúng tôi ngăn xếp kích thước đã được khởi tạo tới 0.
Vì vậy, chúng tôi có một ngăn xếp rỗng ngay bây giờ.
Và sau đó chúng tôi muốn hoàn thành việc thực hiện các pop
như vậy mà nó trả về int ở đầu trang.
Và sau đó nếu nó trống rỗng, nó trả về tiêu cực 1.
OK?
Vì vậy, tôi muốn các bạn chỉ nghĩ về những gì chúng tôi có thể làm điều đó.
Những gì có thể là một trong những người đầu tiên điều chúng ta muốn kiểm tra?
Có một điều tuyệt vời ở đây.
Bất cứ khi nào nó says-- nếu có bao giờ một số Nếu tuyên bố, như "Nếu stack là trống rỗng,"
hoặc "Nếu điều này trả về null," hoặc "Nếu đây là bất cứ điều gì" - xin lỗi.
>> Đung Viết một câu lệnh If.
>> SPEAKER 1: Đúng vậy.
Bạn có thể viết một câu lệnh If.
Và có lẽ đó là một trong những điều đầu tiên bạn muốn kiểm tra.
OK.
Bất cứ khi nào họ cung cấp cho bạn loại giống như một trường hợp góc
như thế này, đó là thường một trong những điều đầu tiên
bạn sẽ phải kiểm tra trong mã của bạn.
>> Ngoài ra, một cái gì đó để công nhận cho các bài kiểm tra
được nếu bạn có một cách không hiệu quả để làm điều gì đó, hãy viết nó xuống.
Bởi vì chúng tôi không phân loại bạn về thiết kế, chúng tôi
phân loại bạn vào đúng đắn cho các câu đố.
Vì vậy, ngay cả khi bạn biết rằng đó là một siêu cách xấu để làm một cái gì đó nhưng nó hoạt động,
viết nó xuống, OK?
>> Theo nghĩa đen, tôi đã nhìn thấy những đứa trẻ year-- cuối cùng nếu bạn nhìn vào một năm trước,
chúng giống, làm kim tự tháp Mario.
Và họ nghĩa là chỉ cần làm "in, băm, in ấn, băm, băm, in ấn, băm,
băm, băm ".
Nhưng đó là chính xác.
Nó làm những gì chúng tôi nói với nó, do đó, bạn không thể lấy điểm off.
Nếu bạn đang xuống dây, rõ ràng, bạn
muốn có được một giải pháp thanh lịch hơn, và các giải pháp thanh lịch có thể sẽ
được mã ít hơn, có nghĩa là bạn có thể có cơ hội cao hơn là đúng.
Nhưng nếu bạn thích, bạn có biết những gì, không, tôi không có thời gian, tôi
biết đây là một giải pháp, nó không phải là tốt nhất, hãy viết nó.
Và thậm chí bạn có thể viết trên phụ, tôi biết điều này là khủng khiếp,
nhưng tôi biết nó hoạt động.
Vì vậy, chỉ cần một người đứng đầu lên.
OK.
>> Vì vậy, rõ ràng, điều đầu tiên Nếu là tuyên bố này.
Vì vậy, những gì chúng ta nghĩ rằng Nếu đây tuyên bố là có được?
Và thực sự, hãy để tôi mở editor Sublime lớn của tôi.
Tôi sẽ để mã này và sau đó cho các bạn thấy khi nó được thực hiện.
Vì vậy, int pop.
OK.
Vì vậy, nếu chúng ta có int này bật void-- như vậy rõ ràng,
đây là một số chức năng mà mất trong không có gì và trả về một số nguyên, phải không?
Vì vậy, nó chỉ sẽ nói về chồng này mà chúng tôi đã tạo ra.
>> Vì vậy, chỉ dịch này cuối cùng câu, "nếu ngăn xếp rỗng,
pop nên trở về tiêu cực 1, "làm thế nào chúng ta có thể làm điều đó?
Vì vậy, nếu những gì?
Làm thế nào để chúng ta biết rằng ngăn xếp rỗng?
Nó chỉ có kích thước bằng 0.
Stack.size bằng 0.
Ngoài ra, tôi là loại văn bản mù ở đây.
Vì vậy, nếu tôi thực hiện bất kỳ typos-- oh, cũng quên đề cập đến điều này.
>> Tuần trước, tôi hoàn toàn tìm ra những vấn đề của chúng tôi là với JavaScript.
Đừng lợi dụng tôi và D. Bạn chỉ nên
Tôi tận dụng và nhận được phần tử bằng Id.
Và đó là toàn bộ lỗi.
Vì vậy, nếu các bạn quay trở lại và thực sự xem xét thông qua mã của tôi,
nếu bạn chỉ làm cho tất cả mọi thứ một d chữ thường, "quên phần tử bằng Id,"
nó sẽ làm việc.
Vì vậy, như tôi đã hứa, tôi đã rất gần.
Tôi chỉ cần một cái gì đó vốn Tôi đã không ngờ tới, đó
Tôi chắc rằng các bạn đã có trong PSET cuối cùng của bạn.
>> Vì vậy, nếu kích thước của chúng bằng 0, được những gì chúng ta phải làm gì?
>> Đung Return âm 1.
>> SPEAKER 1: Trở về âm 1.
Cool.
Vì vậy bây giờ chúng ta làm gì?
Chúng tôi muốn một cái gì đó để bật tắt.
Bây giờ đây là trường hợp nơi chúng tôi có một cái gì đó.
Kích thước của chúng tôi là lớn hơn 1 hoặc lớn hơn 0, phải không?
Chúng tôi thực sự có một cái gì đó.
Vì vậy, những gì chúng tôi muốn làm là chúng tôi muốn trở về ngay đây.
Chúng ta sẽ nói rằng chúng ta muốn để trở lại đỉnh stack.
OK?
>> Vậy làm thế nào chúng ta có thể làm điều đó?
Làm thế nào để chúng ta trở lại trên cùng của ngăn xếp?
Hãy nhớ rằng, chồng của chúng tôi là chỉ là một mảng, phải không?
Nó có một số công suất rằng chúng tôi đã cho nó.
Như chúng tôi đã đưa những điều on-- hoặc thực sự, chúng ta sẽ viết "đẩy" sau này.
Nếu điều này là trong there-- có thể là một hình ảnh sẽ giúp đỡ.
Hm, tôi muốn phấn cỡ lớn hơn.
>> Vì vậy if-- và bạn có thể chỉ nghĩ về điều này như ngăn xếp của chúng tôi.
Vì vậy, đây là 0, 1, 2.
Tôi không biết lý do tại sao hộp của tôi đang nhận được nhỏ hơn.
Nhưng ở đó.
OK.
>> Vì vậy, đây là một số ngăn xếp với công suất 5.
Và chúng ta hãy nói rằng chúng ta có một cái gì đó ở đây và chúng tôi có một cái gì đó ở đây.
Vì vậy, tại thời điểm này, chúng tôi kích thước tương đương với những gì?
2.
Và nếu chúng ta muốn bật một cái gì đó ra khỏi nó,
đó có nghĩa là chúng tôi muốn có được thoát khỏi này ngay tại đây.
OK?
Vậy làm thế nào chúng tôi sẽ trở lại giá trị này?
>> Đung Kích trừ đi 1.
>> SPEAKER 1: Đúng vậy.
Vì vậy, kích thước trừ đi 1, hoặc bạn có thể làm kích thước trừ trừ.
Nhưng chúng ta không thể làm kích thước.
Đó là bên trong một cấu trúc, phải không?
Vì vậy stack.struct.
hoặc stack.size.
Đó là chỉ số của chúng tôi ngay tại đó.
OK?
>> Và sau đó nếu chúng ta nhìn lại cấu trúc của chúng tôi ở đây,
chúng tôi nhận thấy rằng để thực sự truy cập mảng,
chúng ta cần phải làm stack.numbers để thực sự truy cập mảng đó.
Vì vậy mà trở về trên cùng của ngăn xếp.
>> Nhưng một cái gì đó that-- nếu các bạn xem tại các trọng trả lời, đây là tất cả họ
cung cấp cho bạn.
Vì vậy, đây là nó.
Nhưng tôi có thể tranh luận rằng họ đang miss-- ooh, không phải những gì tôi muốn.
Tôi có thể tranh luận rằng họ đang thiếu cái gì, because-- yes.
Đung Giảm kích thước.
SPEAKER 1: Đúng vậy.
Chúng tôi cần phải giảm kích thước của chúng tôi bây giờ.
Vì vậy, những gì là khó khăn về đây là một lần bạn quay trở lại
một cái gì đó, chức năng của bạn đi xuất cảnh, phải không?
Vì vậy, những gì chúng ta có thể làm thực sự là giảm kích thước của chúng tôi đầu tiên.
Và sau đó chúng ta chỉ có thể làm stack.size.
>> Chúng tôi chỉ có thể sử dụng stack.size như chỉ mục của chúng tôi, chúng tôi không thể?
Bởi vì nếu stack.size là 2, chúng ta giảm nó.
Và do đó, nó là 1, mà là các chỉ tiêu thực tế của chúng tôi.
Một khi chúng ta thoát khỏi điều này, chúng tôi thực sự chỉ có một điều trong mảng của chúng tôi.
Vì vậy, nó làm cả hai.
Đung [Không nghe thấy]?
>> SPEAKER 1: Vâng, trong trường hợp này, chúng tôi vừa trở về phần tử
ở phía trên đó là của chúng tôi tại kích thước đó là ở đầu trang.
Nhưng chúng tôi đã không làm bất cứ điều gì để các kích thước sau khi chúng tôi loại bỏ phần tử đó.
Điều này đã không thay đổi kích thước của chúng tôi nêu ra.
Điều này không thực sự vốn đã thay đổi kích thước của chúng tôi.
>> Nhưng để làm cho nó một ít rõ ràng hơn, bạn có thể làm stack.size trừ trừ.
Đối với tôi, nó làm cho nó, tôi không biết, một chút rõ ràng hơn that-- ah,
rằng bạn đang thực sự thay đổi kích thước và trả lại nó.
Một cách khác là tốt, bởi vì bạn đã thay đổi và trở về
cùng một lúc.
Nhưng đây chỉ là một cách khác để viết nó mà tôi muốn cho mọi người thấy.
Điều đó có ý nghĩa?
Stacks, tôi nghĩ, là dễ dàng hơn nhiều so với hàng đợi.
[Cười]
OK.
Bạn có bất kỳ câu hỏi cụ thể khoảng 11 và 12, hoặc just--
>> Đung Tôi nghĩ rằng đó là stack.
>> SPEAKER 1: Kích thước stack?
>> Đung Yeah.
>> SPEAKER 1: Gotcha.
OK.
Vâng, bạn có thể làm điều đó trong một trong hai cách sau đây.
OK.
>> Vì vậy, bây giờ chúng tôi có một khác.
Đây thực sự là kỳ lạ, giống như không có điều này trên màn hình của tôi.
Vì vậy, nếu chúng ta nhìn ở đây, bây giờ chúng ta muốn hoàn thành việc thực hiện push,
mà thực sự đặt một cái gì đó, đi và chèn một cái gì đó vào hàng đợi của chúng tôi,
hoặc vào ngăn xếp của chúng tôi.
OK?
>> Vì vậy, nếu chúng ta để ý, chúng tôi có một vài điều.
Chúng tôi có great-- của chúng tôi nếu hết, bất cứ khi nào chúng tôi có một trong những,
các bạn nên ít nhất có được một nửa một điểm, bởi vì tất cả các bạn phải làm
được chuyển đổi này vào C. Và họ cung cấp cho bạn một nửa của nó.
Vì vậy, "nếu một chồng là đầy đủ hoặc nó là tiêu cực,
sau đó đẩy nên trở lại sai. "
OK?
>> Vì vậy, chúng tôi chỉ muốn tích cực số nguyên được trên ngăn xếp của chúng tôi.
Tất cả phải không?
Và điều này là có thể trở về đúng hay sai.
Vì vậy, chúng ta nên [không nghe được] bool.
OK.
Vì vậy dịch.
>> Đung [không nghe được].
>> SPEAKER 1: Oh, cảm ơn.
Yeah.
Đây là lý do tại sao tôi có các bạn.
Int n.
Perfect.
Bởi vì chúng tôi đang đặt một cái gì đó vào ngăn xếp của chúng tôi.
Chúng tôi thực sự cần một số số.
OK.
>> Vì vậy, chỉ cần lấy dòng cuối đó họ đã cho chúng tôi, chúng tôi loại trường hợp góc,
những gì bạn nghĩ rằng chúng tôi có ở đây?
Rõ ràng, chúng ta sẽ có một số If.
OK.
Vì vậy, chúng tôi đã nói, nếu chồng của chúng tôi là đầy đủ hoặc nếu n là số âm.
Vì vậy, có lẽ là dễ nhất để bắt đầu với, vì vậy nếu n là nhỏ hơn 0
or-- nhớ của bạn tốt đẹp AND và OR nhà khai thác có.
>> Làm thế nào chúng tôi sẽ kiểm tra xem nếu chồng của chúng tôi là đầy đủ?
Điều gì xảy ra?
>> Đung Kích NĂNG LỰC bằng nhau.
>> SPEAKER 1: Chính xác.
Perfect.
OK.
Và những gì chúng ta muốn làm gì ở đó?
>> Đung Return sai.
>> SPEAKER 1: Trở về false.
Perfect.
Vì vậy, nửa đường, phải không?
Ít nhất, các bạn sẽ có một nửa số này.
Vì vậy, hãy suy nghĩ về điều này.
>> Vì vậy, đây là stack chúng ta bắt đầu với.
Chúng tôi đang cố gắng đưa một số yếu tố trên đây.
>> Chúng tôi có một kích thước đó là bằng 2 ngay bây giờ.
Chúng tôi có một năng lực đó bằng 5.
Và chúng ta hãy nói rằng chúng ta có một số n đó là bằng 3.
Vì vậy, chúng ta cần phải nhập vào 3 vào không gian này.
Và chúng ta cần phải nhập nó vào chỉ số 2.
Phải không?
>> Vậy làm thế nào chúng ta có thể làm được điều này?
Đang cố gắng để assign-- chúng tôi muốn truy cập mảng của chúng tôi.
Vì vậy stack.numbers.
Nhưng vào những gì các chỉ tiêu sẽ chúng tôi muốn đây sẽ là?
>> Đung [không nghe được].
>> SPEAKER 1: Yeah.
Stack.size.
Và chúng tôi muốn điều đó n bằng nhau, phải không?
>> Đung [không nghe được].
SPEAKER 1: Tôi đã thực sự chỉ nhìn vào đó.
Tôi nghĩ rằng đó là sai.
>> Đung Anh không muốn không gian qua các kích thước hiện tại?
>> SPEAKER 1: Vâng, nếu chúng ta nhìn ở đây, Kích thước của chúng tôi vào thời điểm này là 2.
Chúng tôi muốn nó đi vào chỉ số 2, vì đây là hàng đầu của ngăn xếp của chúng tôi.
Vì vậy, tôi sẽ nói rằng nó nên stack.size,
và sau đó bạn sẽ tăng stack.size.
Có tất cả mọi người đồng ý không?
Tôi nghĩ rằng tôi đồng ý với điều đó.
Các bạn có thể tranh luận với tôi nếu bạn muốn.
Hoặc không tranh luận, nhưng chúng ta có thể thảo luận này.
>> Đung [không nghe được].
>> SPEAKER 1: Mm-hm, là nơi nó mở vì không lập chỉ mục.
Vì vậy, trong khi ở phần đầu, Tôi nghĩ rằng họ đã sai lầm,
và họ đã thực sự đúng, điều này phần, tôi thực sự nghĩ rằng họ đã sai.
Tôi sẽ nói rằng bạn nên chắc chắn đầu vào nó ở đây.
Tôi nghĩ rằng tất cả chúng tôi đồng ý chúng ta có một kích thước của 2.
Đó là chính xác nơi chúng tôi muốn số mới của chúng tôi để đi.
Vì vậy, tại stack.numbers stack.size phải bằng n.
Và sau đó chúng tôi sẽ increment stack.size.
++.
Và sau đó những gì chúng ta muốn làm gì?
Có một điều cuối cùng chúng ta phải làm gì nếu chúng ta đưa vào thành công này?
Return true.
Và bây giờ bạn đã thực hiện xong.
Vì vậy, tôi cảm thấy như nó là toàn bộ trừ trừ stack.size và stack.size ++ mà
điều sai lầm.
Ugh.
Tôi keep-- tôi có điều này đầu gối giật xu hướng luôn luôn nhấn
Control, S, bởi vì tôi không bao giờ muốn mất bất kỳ công việc của tôi.
Nhưng tôi không cần phải làm điều đó ngay bây giờ.
OK.
Vì vậy, đó là stack.
Cool.
>> Có bất cứ điều gì?
Các cậu đã tìm thấy bất kỳ câu hỏi khác mà bạn muốn
thích đi qua các câu đố từ trước?
Nếu không, chúng ta có thể loại bắt đầu nói chuyện Trắc nghiệm thông qua One từ năm ngoái.
Vâng.
>> Đung Đối với người đầu tiên phần, tôi đã không thực sự
hiểu làm thế nào mà bạn đã xóa số.
Không phải là nó vẫn còn ở đó?
>> SPEAKER 1: Số vẫn còn đó.
Nhưng những gì xảy ra là vì bạn đã nói với nó rằng phần đầu của ngăn xếp của bạn
là ở đây, khi bạn đi thêm một cái gì vào stack, nó sẽ chỉ cần thay thế nó.
>> Đung Oh, OK.
SPEAKER 1: Yeah.
Vì vậy, nó giống như ông đã quên và nó có loại điều mặc dù nó có.
Đung [Không nghe thấy] hoặc bất cứ điều gì?
SPEAKER 1: No.
Bởi vì chúng tôi đang ở trong một mảng, bạn không có
lo lắng about-- bạn sẽ chỉ ghi đè lên nó khi bạn cần nó.
Được rồi.
Bất kỳ câu hỏi khác?
Nếu không, chúng ta chỉ cần đi để bắt đầu làm việc thông qua.
Yeah.
>> Đung Vâng, đây là một trong những năm 2013, nhưng chỉ cần đi qua các công cụ SQL.
SPEAKER 1: SQL?
OK.
Vì vậy, đây là 26 thông qua 29.
Đung Yeah.
SPEAKER 1: OK.
Đáng yêu.
Hãy kéo những người lên.
Oh, nhìn.
Các bạn đã thưởng thức Steve Ballmer nói, bằng cách này?
Nó là khá vui nhộn, theo ý kiến ​​của tôi.
Tôi thích rằng mỗi khi tôi đưa lên của CS50 trang web trong phần, nó giống như, oh,
xem phần.
Và tôi giống, mm.
>> Đung chúng tôi có thể làm điều đó?
>> SPEAKER 1: Chúng tôi sẽ làm điều đó ở cuối.
Làm thế nào vậy?
Bởi vì tôi biết các bạn đã luôn luôn muốn.
Vì vậy, chúng tôi sẽ làm điều đó ở cuối.
Một câu hỏi.
>> Đung [không nghe được].
SPEAKER 1: Nó sẽ là một phần meta.
Đung Nó giống như 5 giây.
Đung Really?
Đung Nó giống như 20 giây.
[Interposing GIỌNG NÓI]
[Cười]
SPEAKER 1: Tôi thích điều đó bạn đã thực hiện
nó, đó là điều làm tôi hạnh phúc hơn.
OK.
26.
OK.
Trên thực tế, chúng tôi chỉ cần đi để phản ánh này ngay bây giờ, bởi vì tôi không thể.
Đây là khó chịu.
OK.
Bây giờ tôi có thể nhìn thấy tất cả mọi thứ.
Đáng yêu.
OK.
>> Vì vậy, rõ ràng, điều này sẽ mang lại những kỷ niệm tuyệt vời [? CSG?] Tài chính.
Một nửa của bạn về bạn đã phân loại doanh nghiệp.
Nửa còn lại tôi sẽ nhận được để rất, rất sớm, tôi hứa.
>> Vì vậy, chúng tôi có một số bảng SQL đó là tài khoản ở đây.
Có lẽ tương tự bảng người sử dụng guys của bạn '.
Và chúng tôi có một số số đó là một khóa chính
và đại diện cho một Số tài khoản 12 chữ số.
Và cân bằng là bao nhiêu tiền họ có.
Và các giá trị mặc định là 100.
Và họ có thể từ 100 $ bất kỳ Hiện họ mở một tài khoản.
Tôi muốn ngân hàng của tôi đã làm điều đó.
OK.
>> Vì vậy, chúng tôi muốn hoàn thành sơ đồ bằng xác định bên cạnh số lượng cân bằng
kiểu SQL thích hợp.
Vì vậy, những gì bạn nghĩ sẽ là loại giống như phản ứng tự của bạn
với nhiều loại cho hai?
>> Đung Int.
>> SPEAKER 1: int.
OK.
Và sau đó cho một sự cân bằng?
Số thập phân.
OK.
Vì vậy, ngay chữ số thập phân của.
Int gần.
Loại điều lớn là đây nhấn mạnh số lượng tài khoản 12 chữ số.
Bất cứ khi nào chúng ta có một cái gì đó đó là lớn hơn so với tám chữ số,
họ muốn bạn sử dụng lớn int, mà tôi nghĩ is--
>> Đung Là chỉ SQL?
>> SPEAKER 1: Đó là lần duy nhất tôi đã nghe của nó là SQL-- như sử dụng một int lớn.
Nó chỉ là để cung cấp cho bạn một ít chính xác hơn,
đảm bảo bạn không tràn loại điều.
Thật lòng, tôi nghĩ rằng đây chắc chắn là một trong những người
nơi nó giống như, oh, nó có nghĩa là cho mọi người
những người có kiến ​​thức nhiều hơn một chút của SQL.
Chúng tôi không bao giờ nói chuyện về ints lớn trong PSET của bạn.
Vì vậy, nó là loại giống như tôi khá chắc chắn nếu bạn đặt int, nó đã được một nửa tín dụng.
>> Và như tôi đã nói trước đây, có đi có một số câu hỏi mà chỉ
có nghĩa là để chuyến đi bạn lên, do đó mà không phải ai cũng được 100.
Vì tất nhiên, có một số người trong CS50
người đã làm điều này cho như tám năm, và bạn giống như,
bạn đang làm gì?
Nhưng yeah.
>> Số thập phân cho cân bằng là rõ ràng một.
Và sau đó int lớn cho số lượng chỉ vì trong đó, giống như, gạch dưới 12 chữ số.
Bất cứ khi nào bất cứ điều gì được in đậm hoặc nó nhấn mạnh, như thế, chú ý đến nó.
Chúng tôi không làm điều đó chỉ vì.
OK.
>> Vì vậy, "giả sử rằng các ngân hàng áp đặt một khoản phí hàng tháng $ 20 trên tất cả các tài khoản.
Với những gì có thể truy vấn các ngân hàng trích 20 $ từ mỗi tài khoản
thậm chí nếu nó kết quả từ một số dư âm? "
Vì vậy, chúng ta hãy bắt đầu đơn giản.
Chúng tôi có bốn lệnh chính cho SQL, đó là ai?
Các anh nhớ bốn những người lớn mà tôi đã nói với bạn?
>> UPDATE, DELETE, SELECT, INSERT và.
Perfect.
Đã nhận nó.
Vì vậy, những gì chúng ta nghĩ rằng sức mạnh là hữu ích nhất cho việc này không?
Chúng tôi are-- UPDATE.
Chính xác.
Vì vậy, CẬP NHẬT, bởi vì chúng tôi đang tìm kiếm tại các tài khoản đã tồn tại.
>> Vì vậy, hãy nhớ chung của chúng tôi loại điều là bản cập nhật.
Và rồi điều gì sẽ đến sau khi CẬP NHẬT?
Chúng tôi có một số bảng rằng chúng ta tham khảo.
Vì vậy, nếu tôi kéo lên Sublime again-- UPDATE.
Vì vậy, đây là một định dạng chung.
Vì vậy chúng tôi có bảng UPDATE.
Và rồi điều tiếp theo chúng ta phải là những gì?
>> Bạn có thể làm WHERE.
Và sau đó chúng tôi có một số vòng loại ở đây.
Và sau đó chúng ta có gì tiếp theo?
Chúng tôi có một số điều gì đó SET-- bằng một cái gì đó.
Blah blah bằng.
Blah cập nhật.
Phải không?
Vì vậy, đó là giống như chung Ý tưởng cho một số cập nhật.
OK?
>> Vì vậy, chúng ta hãy bắt đầu điền này với những gì nó nên được.
Vì vậy, những gì chúng ta đang nói bàn về?
Tài khoản.
Và sau đó trong trường hợp này, những gì là thực sự mát mẻ
là chúng ta đang nói về cụ thể người sử dụng trong tài khoản của chúng tôi,
hay chúng ta đang nói về tất cả người dùng?
Chúng ta đang nói về tất cả người dùng.
Vì vậy, trong trường hợp đó, chúng ta có thể chỉ xóa ĐÂU vòng loại này.
WHERE chỉ là khi bạn muốn để giới hạn những gì bạn đang thay đổi.
Nếu bạn muốn thay đổi toàn bộ bảng, bạn chỉ có thể thả mà.
OK.
>> Vì vậy, bây giờ chúng ta đang ở phần SET của chúng tôi.
Những gì chúng tôi muốn thay đổi?
>> Đung Balance.
>> SPEAKER 1: Balance.
Và chúng ta sẽ như thế nào đối với: là chúng tôi sẽ thay đổi cân bằng?
Chúng tôi có một lệ phí $ 20, phải không?
Minus 20.
Và họ nói rằng đó là OK nếu chúng tôi có số dư âm.
Vì vậy, trong trường hợp này, bạn không cần làm bất cứ kiểm tra lỗi hơn nữa.
OK?
Đó là nghĩa đen tất cả các bạn phải làm.
Mát mẻ?
OK.
>> Vì vậy, chúng ta hãy đi qua một kế tiếp.
"Với những gì SQL truy vấn có thể các ngân hàng lấy số tài khoản
các khách hàng giàu có nhất của nó với cân bằng lớn hơn $ 1,000? "
Nếu ngân hàng của bạn và khách hàng giàu có nhất của bạn chỉ là những người với hơn 1000 $,
Tôi cảm thấy như bạn đang ở làm sai điều gì.
Giống như, làm thế nào để một ngân hàng tồn tại trên đó?
Giống như, lãi suất, không đủ.
OK.
Với các loại điều này, những gì làm bạn nghĩ rằng, trong bốn chức năng của chúng tôi,
Bạn nghĩ chúng ta sẽ sử dụng?
SELECT.
Perfect.
SELECT.
OK.
Vì vậy, chúng tôi lựa chọn một số nhận dạng TỪ bảng.
Và sau đó điều kiện WHERE.
Vì vậy, khi chúng tôi đi qua này, tôi chỉ cần đi
để cung cấp cho các bạn một bồi dưỡng chung về định dạng chung của tất cả các.
>> Vì vậy, chúng tôi đang lựa chọn một số loại của [? điều. ?] Trong trường hợp này,
này là có được thường một số cột.
Vì vậy, trong trường hợp của chúng tôi, chúng tôi có số lượng, cân đối.
Trong trường hợp kẻ của bạn, có thể nó là ID, tên, mật khẩu.
Bất kỳ của những cột, đó là thường là những gì chúng tôi đang chọn.
>> Vì vậy, trong trường hợp này ở đây, mà loại cột, những gì nhận dạng
Chúng ta kéo từ bảng của chúng tôi?
Nó làm gì yêu cầu chúng tôi?
Nó đòi hỏi chúng ta cho số của chúng tôi, phải không?
Các số tài khoản.
Vì vậy, hãy nhớ rằng, chỉ số trong trường hợp này.
Nếu bạn đã bao giờ có lỗi, mà hộp màu cam tươi sáng sẽ đi lên.
Và nó là như thế, bất ngờ hàng, như, bất cứ điều gì.
Đó là bởi vì bạn gọi bảng của bạn sai, phải không?
Vì vậy, hãy chắc chắn rằng bạn đang kêu gọi các cột một cách chính xác.
>> Vì vậy, từ bảng, bảng của chúng tôi được gọi là tài khoản.
Một lần nữa, hãy chắc chắn bạn tham khảo bảng của bạn một cách chính xác.
Và sau đó điều kiện của chúng tôi ở đây là gì?
Chúng tôi đang tìm kiếm cái gì?
Chúng tôi muốn mọi người phong phú của chúng tôi.
Vâng.
Vì vậy, cân bằng lớn hơn 1.000.
Có bạn đi.
Đó là truy vấn của bạn.
Không quá xấu, phải không?
OK.
>> Vì vậy, bây giờ cho người cuối cùng của chúng tôi.
Cùng với đó, chúng tôi đang breezing qua.
OK.
Vì vậy, ngay bây giờ "với những gì có thể truy vấn đóng cửa ngân hàng, tức là xóa "-
Anh không còn yêu họ như thế nào chỉ cho bạn DELETE--
"Mọi tài khoản có số dư từ 0?"
Tôi nghĩ rằng tất cả chúng ta có thể đồng ý chúng tôi có thể sẽ được sử dụng DELETE.
Tôi đón nhận bất kỳ thảo luận xung quanh đó.
Nhưng tôi nghĩ rằng nó là khá an toàn để nói rằng chúng tôi có thể sử dụng DELETE.
>> Vì vậy, chúng ta sẽ DELETE số người dùng từ bảng, điều kiện WHERE.
Vì vậy, cùng một loại điều như SELECT.
Vì vậy, trong này case-- oh, xin lỗi.
Tôi nên DELETE FROM.
Bởi vì ý DELETE xóa toàn bộ hàng.
Vì vậy, chúng tôi không cần phải nói chuyện về những những việc cụ thể về một người sử dụng chúng tôi
xóa.
Nếu chúng ta xóa một người dùng, chúng tôi xóa tất cả mọi thứ về họ.
>> Vì vậy, trong trường hợp này, chúng ta chỉ cần điền vào đâu của chúng tôi và điều kiện của chúng tôi.
Vì vậy, bảng của chúng tôi chỉ là các tài khoản của chúng tôi bảng, như chúng ta đã làm.
Và sau đó điều kiện của chúng tôi ở đây là gì?
>> Đung Balance.
>> SPEAKER 1: Cân bằng 0.
Chính xác.
Tất cả đều tốt.
Vâng.
>> Đung [không nghe được].
>> SPEAKER 1: Vì vậy, DELETE vốn đã xóa tất cả mọi thứ.
Vì vậy, trong khi với SELECT, SELECT mất trong cột nhất định mà bạn muốn quay trở lại.
Nếu bạn muốn tất cả mọi thứ về một người dùng quay trở lại, bạn sử dụng sao.
Sao nói, trở về với tôi tất cả mọi thứ từ người dùng này.
Hoặc nếu bạn đặt ở đâu sao, mà có nghĩa là chỉ cho tôi tất cả mọi thứ.
>> Nhưng DELETE vốn có đó.
Vì vậy, nếu bạn nói, DELETE từ tài khoản mà cân bằng 0,
nó sẽ đi qua.
Và ở khắp mọi nơi cân bằng đó là bằng 0, nó vốn đã thực hiện điều đó.
Nó sẽ xóa tất cả mọi thứ.
Ngôi sao này là for-- hơn với SELECT hoặc UPDATE,
nó nói chuyện nhiều hơn về các cá nhân các lĩnh vực tương ứng với một người sử dụng.
>> Vì vậy, khi bạn CHỌN ngôi sao từ table WHERE ID
bằng 1, mà trả về cho bạn tất cả mọi thứ về người sử dụng với ID 1.
Nếu bạn đã làm số CHỌN hoặc SELECT ID tên người sử dụng dấu phẩy từ
ĐÂU ID bằng 1, mà chỉ cần trả về số lượng của họ
hoặc ID của họ và tên của họ.
OK?
>> Vì vậy, chúng tôi sử dụng ngôi sao trong trường hợp đó cung cấp cho chúng tôi tất cả mọi thứ về một người sử dụng.
Và DELETE vốn đã thực hiện điều đó.
Nó không chỉ xóa các ID, hay chỉ là tên, hay bất cứ điều gì.
Vâng, không có.
Nó chỉ xóa toàn bộ người dùng.
Vì vậy, chúng ta không phải lo lắng về ngôi sao đó.
>> Nếu bạn muốn xóa tất cả mọi thứ, bạn có thể làm điều đó,
và điều này sẽ chỉ thả tất cả mọi thứ.
Nhưng thông thường, bạn không muốn làm điều đó.
Nhưng nếu bạn muốn xóa tất cả mọi thứ, bạn có thể làm điều đó.
OK.
>> Có các bạn tìm thấy bất kỳ câu hỏi khác?
Vâng.
>> Đung Bạn có thể làm 26?
>> SPEAKER 1: 26, chúng tôi chỉ cần làm.
Đung Oh, 25, xin lỗi.
SPEAKER 1: 25.
OK.
25.
Oh.
Họ đang làm JavaScript.
Oh, tôi không thể tin được.
Tôi sẽ gặp rắc rối chúng tôi lên một lần nữa, guys.
OK.
Chúng tôi đã nhận điều này.
Chúng tôi sẽ làm cho công việc này.
Ah, jQuery.
Fun.
OK.
>> Vì vậy, chúng ta sẽ hoàn thành thực hiện các trang web
trong một cách như vậy mà nếu họ truy cập, nhập tên của họ, và gửi biểu mẫu,
họ phải cảnh giác tuyệt vời này cửa sổ sẽ xuất hiện.
Vì vậy, bất cứ điều gì với các thông báo, chúng tôi biết rằng chúng ta sẽ phải sử dụng JavaScript.
Yay, JavaScript.
Và nếu họ không nhập vào một tên trước khi nộp mẫu đơn,
không có cảnh báo sẽ xuất hiện.
Vì vậy, bạn có thể sử dụng jQuery, nhưng bạn không phải.
>> Vì vậy, tôi sẽ để cho các bạn làm việc trên này chỉ cho một vài phút.
Hãy suy nghĩ về nó.
Và sau đó chúng ta sẽ mã nó.
Slash Tôi sẽ cố gắng và suy nghĩ của Cách tốt nhất để giải thích câu trả lời này cho bạn.
Được rồi.
Chúng tôi sẽ làm cho nó thiết lập.
OK.
>> Vì vậy, chúng tôi chỉ cần đi đi qua này,
bởi vì tôi biết jQuery là một chút bối rối.
JavaScript.
Đó là một chút ra khỏi đó.
Vì vậy, những gì chúng ta sẽ làm là [Không nghe thấy] thực sự giải quyết
vấn đề này với jQuery.
Vì vậy, nếu bạn nhớ, jQuery chỉ là một thư viện
đó là chỉ được xây dựng trên đầu trang của JavaScript.
Nó có nghĩa là để làm cho bạn cuộc sống một chút dễ dàng hơn.
>> Tôi sẽ chắc chắn, nếu bạn có thời gian, nhìn qua
một chút của tài liệu cho jQuery.
Nhưng nó rất giống với JavaScript.
Nó có mô hình tương tự, nơi bạn sử dụng dấu chấm này để gọi chức năng
về đối tượng mà bạn có.
>> Vì vậy, những gì chúng tôi có ở đây là cho jQuery, bạn nên luôn luôn có loại này
wrapper, đó là $ (Document) .ready (function) chức năng
trong ngoặc đơn ở đây.
OK.
Vì vậy, đây có thể là một cái gì đó bạn muốn trên tờ cheat của bạn.
Bởi vì ít nhất, bạn có thể có wrapper cho jQuery của bạn.
Và nó ít nhất sẽ nhận được bạn cách một phần ở đó.
>> Vì vậy, trong cùng một cách mà chúng tôi đã nói chuyện rất nhiều về JavaScript,
và chúng ta sẽ bắt đầu bằng cách tìm kiếm vào những gì chúng tôi đang cố gắng để sửa
hoặc những gì chúng tôi đang cố gắng để thay đổi.
Và đó sẽ thường là Điều đầu tiên mà chúng tôi muốn đưa vào.
Vì vậy, trong trường hợp này, nếu chúng ta quay trở lại này ở đây và chúng ta nhìn vào hình thức của chúng tôi ở đây,
chúng tôi có đầu vào này, phải, id này đầu vào.
Và chúng ta biết rằng dựa về câu hỏi của chúng tôi, chúng tôi
hoặc là sẽ vứt một lỗi nếu điều này là trống rỗng,
hoặc chúng ta sẽ đặt này thành một cảnh báo, phải không?
Vì vậy, có lẽ là an toàn để nói rằng chúng tôi sẽ được làm việc với các đầu vào ở đây.
>> jQuery là rất giống nhau ở chỗ nếu chúng tôi suy nghĩ lại về CSS, bất cứ điều gì với một ID
chúng ta nhìn vào với một hash.
Bất cứ điều gì với lớp chúng tôi nhìn với một dấu chấm, phải không?
Vì vậy, trong cùng một cách ở đây, những gì chúng ta đang nói về là đầu vào.
Chúng tôi thấy rằng yếu tố đầu vào là một ID trong mẫu của chúng tôi.
Vì vậy, chúng ta sẽ đề cập đến nó như vậy.
Đầu vào.
OK?
>> Vì vậy, khi nghi ngờ, thậm chí nếu bạn có hư không,
nếu bạn thực sự chắc chắn về cách tiếp cận này, A, có wrapper này.
Vì vậy, bắt đầu ở đó với các wrapper cho jQuery.
B, hãy chắc chắn rằng bạn biết những gì bạn đang thay đổi.
Và khi nghi ngờ, đặt trong một cái gì đó,
và làm dấu chấm, bất cứ điều gì bạn nghĩ bạn nên làm gì với nó.
>> Đung các wrapper là gì?
>> SPEAKER 1: Các wrapper là dòng đầu tiên này.
Vì vậy, đây nói, chờ đợi cho đến khi tài liệu của tôi đã sẵn sàng.
Sau đó bắt đầu rối tung mọi thứ.
OK?
Vì vậy, chúng tôi biết chúng tôi đang rối tung với đầu vào.
Vì vậy, chúng tôi giống như, OK, đầu vào là hình thức của chúng tôi.
Đó là ID của chúng tôi.
Vì vậy, đó là những gì chúng tôi sẽ được tìm kiếm.
Và chúng tôi muốn xem những gì sẽ xảy ra khi gửi đơn đăng ký, phải không?
>> Vì vậy, khi chúng ta có thể nghĩ rằng, chúng tôi có một số .submit.
Vì vậy .submit chỉ nói, OK, hình thức này mà chúng tôi đã tham khảo với các đầu vào băm,
khi nó đã được gửi, thực hiện một cái gì đó khác.
Vì vậy, chúng ta sẽ có một số chức năng.
Chú ý chúng tôi có chức năng ẩn danh ở đây.
Chúng tôi có một chức năng vô danh ở đây.
Vâng.
>> Đung Nó sẽ luôn luôn được .submit, hoặc là nó chỉ là bởi vì trong HTML,
chúng tôi thực hiện các loại nút Submit?
>> SPEAKER 1: Cần .submit, vì nó là một số hình thức mà chúng ta đang gửi.
Bởi vì .submit này không nhất thiết tương ứng với những gì các nút giống như
để gọi.
Nhưng thực tế là nó là một hình thức mà chúng ta đang gửi.
OK.
>> Vì vậy, nhận thấy ẩn danh chức năng ở đây mà says--
Đung tôi không thực sự hiểu chức năng ẩn danh.
SPEAKER 1: Vì vậy, vô danh chức năng, họ
chỉ các chức năng mà không có một tên.
Vì vậy, thay vì có một số chức năng chính calls-- rằng chúng ta có thể nói, Nếu tài liệu
sẵn sàng, sau đó chúng tôi sẽ kêu gọi đầu vào.
Và sau đó, khi gửi, call-- như, Nếu vậy-và-như được đệ trình,
chúng tôi sẽ gọi một số chức năng khác.
Một chức năng vô danh chỉ cần không có tên,
và nó sẽ chỉ thực hiện trong những thứ như thế.
>> Vì vậy, trong trường hợp này, điều này nói là, Khi tài liệu của chúng tôi đã sẵn sàng,
thực hiện chức năng này.
Chức năng này được sáng tác của tất cả mọi thứ trong đây.
Và sau đó các lớp trong tiếp theo là, OK, khi đầu vào được gửi, thực hiện điều này.
Nó chỉ là một cách để biểu thị những gì nên được thực hiện khi nào.
Đó là nghĩa đen chỉ một chức năng đó không
có một cái tên, nên họ có xu hướng được lồng vào nhau,
bởi vì bạn không thể gọi họ bằng tên.
OK?
Theo nghĩa đen, một chức năng ẩn danh chỉ là một chức năng mà không có một tên.
Có bấy nhiêu thôi.
Chỉ cần một cách để đóng gói những thứ khác nhau
mà chúng tôi muốn thực hiện tại thời điểm cụ thể.
>> Đung [không nghe được].
>> SPEAKER 1: Các lỗ thông hơi?
Ở đâu?
>> Đung Trong ngoặc sau khi chức năng?
>> SPEAKER 1: Sau khi các chức năng.
Mà một trong những?
>> Đung Cả.
Nếu bạn đặt, như thế, sự kiện, hoặc nếu bạn đặt một tham số trong đó,
Sẽ là sai lầm?
>> SPEAKER 1: Trong trường hợp này, tôi giả sử bạn có thể đặt một tham số trong đó.
Nhưng vì chúng ta không cần một tranh luận, không nên có.
Giống như, nó là toàn bộ, như thế, bạn chỉ nên
có những điều loại cần thiết của điều.
Trong cùng một cách mà chúng tôi nếu có bất kỳ hàm có int void-- chính như,
với int void main, bạn có thể làm int arg v, bất cứ điều gì.
Nhưng nếu bạn không cần những người, bạn không nên có chúng ở đó.
Cùng một điều.
Emma, ​​anh lại có một câu hỏi?
OK.
Cool.
OK.
Vì vậy, những gì chúng tôi có cho đến nay là khi chúng tôi tài liệu đã sẵn sàng, thực hiện điều này.
Bây giờ chúng tôi đang tìm kiếm khi nó đã được gửi.
Vì vậy, bây giờ chúng tôi thực sự có loại của thịt của điều chúng tôi.
Vì vậy, chúng ta cần phải nhận được các giá trị mà người sử dụng gửi, cho dù đó là một tên
hoặc trống rỗng.
Và sau đó chúng ta cần phải hoặc là trở lại cảnh báo này hoặc ném ra một lỗi.
Dù bằng cách nào.
>> Vì vậy, làm thế nào để chúng ta khai báo một biến trong JavaScript?
Var.
Vì vậy, chúng ta hãy nói, tên var equals-- hoặc thực sự, chúng tôi sẽ
làm giá trị kể từ khi tôi nghĩ rằng tên của nó.
OK.
Vì vậy, chúng tôi có một số giá trị ở đây là chúng ta muốn kéo từ hình thức đầu vào của chúng tôi.
Vì vậy, trong cùng một cách mà chúng tôi đã loại nguyên liệu đầu vào,
bất cứ ai có thể cho tôi biết những gì chúng tôi có thể được gọi trong đây
nếu chúng ta muốn có được tên từ hình thức?
Và nếu chúng ta nhìn lại hình thức của chúng tôi ở đây, chúng tôi nhận thấy rằng chúng tôi có một ID của tên.
Đung [không nghe được].
>> SPEAKER 1: Bạn không có để suy nghĩ về nó như một mảng.
Bạn không cần phải lo lắng về điều đó.
Vì vậy, chúng tôi chỉ có một số tên.
Và sau đó vì JavaScript và điều là lạ, chúng ta có thể không chỉ làm "cái tên."
Chúng tôi thực sự phải gọi một số chức năng cung cấp cho chúng tôi,
như thế, giá trị của định danh.
OK?
Vì vậy, đó chỉ là .val.
>> Đung [không nghe được].
>> SPEAKER 1: OK.
Vì vậy, với JavaScript, loại này điều đúng ở đây chỉ đi qua.
Và bạn có thể nghĩ về điều này as-- nó như gần một getElementById, nơi
getElementById sẽ thực sự trả lại điều đầy đủ cho bạn.
Các $ ("# tên") chỉ là như thế, OK, tôi có nó, tôi có thể truy cập vào nó,
nhưng nếu bạn thực sự muốn nó để trả lại giá trị cho you--
>> Đung là nó giống như một con trỏ?
>> SPEAKER 1: Đây là loại giống như một con trỏ.
Bạn có thể nghĩ về nó như là loại như một con trỏ.
Giống như, nó nói, OK, tôi biết làm thế nào để đạt được điều đó,
nhưng để thực sự có được các giá trị trên nó, bạn phải hỏi rõ ràng cho nó.
Và thật không may, rõ ràng, chúng tôi không làm quá nhiều với JavaScript và jQuery.
>> Vì vậy, nó sẽ đi xuống đến bao nhiêu bạn guys-- những gì bạn xảy ra cho biết,
những gì xảy ra với bạn đã thấy, và những gì bạn có thể loại một cách hợp lý đoán.
Bởi vì một số những điều này, bạn có thể có thể có được nửa đường.
Nhưng để có được nó hoàn toàn đúng, Tôi nghĩ rằng vấn đề này có lẽ
có một trong những điểm số thấp nhất.
Đung Giống như, ví dụ, cho [Không nghe thấy] đầu vào,
tại sao bạn không cần phải đặt val có?
SPEAKER 1: Đối với điều này không?
Đung Yeah.
SPEAKER 1: Yeah.
Bởi vì đây là loại của thích, như chúng tôi đã nói,
một số con trỏ, và điều này là tôi tham khảo nó và thực sự nhận được chúng ta giá trị.
>> Đung Trong khi [Không nghe thấy]?
>> SPEAKER 1: Đối với các yếu tố đầu vào, đầu vào là chỉ some--
nó giống như chúng tôi chỉ nhìn nó như một toàn thể,
và .submit này nói chúng ta những gì chúng ta cần phải biết.
jQuery và Javascript là lạ.
Tôi biết.
Tôi biết, guys.
Tôi biết.
Có một lý do tôi không làm lập trình web.
Chỉ đùa thôi.
Tôi đã không có đủ tiếp xúc với nó.
>> Đung [Không nghe thấy] CSS.
>> [Cười]
>> SPEAKER 1: OK, đó là CSS.
CSS chỉ là, như, làm cho mọi việc khá, nó không giống như chúng ta đối phó với các dữ liệu.
Có một sự khác biệt đó.
OK.
Vì vậy bây giờ hy vọng, điều này cũng part--, cho một vấn đề như thế này, nơi bạn có thể không
biết cú pháp, bạn có thể được như thế, OK, bạn có thể có một số giá trị var
và như thế, giả sử tôi có giá trị chính xác.
Và sau đó bạn có thể có thể viết phần tiếp theo này.
Phần tiếp theo này sẽ có thể có vẻ dễ dàng hơn nhiều,
hoặc nó sẽ làm cho hợp lý ý nghĩa đến với bạn.
>> Trong khi đó, những gì chúng ta đã viết cho đến nay, Tôi biết tôi sẽ như thế nào, ừm, yeah,
Tôi không biết rằng trên các bài kiểm tra.
Bạn hoàn toàn có thể viết psuedocode và sau đó đột nhập vào mã thực
khi you-- nó là loại giống như toán học.
Nếu bạn đã từng có một số đa phần vấn đề mà
bạn không biết làm thế nào để vượt qua những bước đầu tiên,
nhưng mọi thứ khác dựa trên những bước đầu tiên,
bạn chỉ cần nói, như, giả sử x = 4.
Và sau đó bạn chạy với nó, phải không?
>> Bạn có thể làm điều tương tự với mã.
Vì vậy, bạn có thể nói, giả Tôi có quyền có giá trị.
Sau đó làm phần tiếp theo này ở đây.
Bởi vì phần này thực sự nên được khá logic.
>> Vì vậy, chúng ta cần phải kiểm tra nếu giá trị của chúng tôi là sản phẩm nào.
Hoặc nếu nó là một số tên, thực sự cung cấp một cảnh báo.
Vì vậy, những gì chúng ta có thể muốn kiểm tra?
Chúng tôi muốn có một số If.
Bạn nghĩ gì Nếu chúng tôi là có được?
Chúng tôi cần phải kiểm tra xem giá trị is-- nếu nó không phải là một chuỗi rỗng.
>> Perfect.
Chính xác.
OK.
Vì vậy, nếu đó là trường hợp, những gì chúng ta muốn làm gì?
Chúng tôi muốn ném một số cảnh báo, phải không?
Vì vậy, nó chỉ là cảnh báo.
Và sau đó bất cứ điều gì chúng tôi muốn bên trong.
Vì vậy, chúng ta phải là những gì phải có cảnh báo bên trong của chúng tôi?
>> Đung "Xin chào."
>> SPEAKER 1: Dấu phẩy.
Và sau đó làm các bạn nhớ làm thế nào để tiếp nhau?
>> Đung Plus.
>> SPEAKER 1: Plus.
Vì vậy, chúng tôi muốn có cộng.
Và sau đó chúng ta cần cộng thêm cho dấu chấm than của chúng tôi.
Cool.
OK.
Nếu không, những gì chúng ta có thể muốn làm gì?
Chúng tôi không muốn làm bất cứ điều gì, phải không?
Vì vậy, chúng tôi chỉ trả về false.
Không phải những gì tôi muốn làm.
OK.
>> Và sau đó các, của course-- gì là quan trọng
là nhớ để đóng chức năng ẩn danh của bạn.
Vì vậy, nếu bạn để ý, chúng tôi có một số chức năng ở đây là kết thúc ở đây.
Vì vậy, chúng ta cần phải đóng cửa này đầu tiên và thêm một dấu chấm phẩy.
Và rồi một này ở đây đã làm với chức năng ẩn danh này,
vì vậy chúng tôi đóng nó ở đó.
Đó là phản ứng tự của tiết kiệm.
Vâng.
Đung Có một lý do that-- chỉ trong tất cả các ví dụ trong JavaScript
mà tôi đã nhìn thấy, chúng ta có các dấu ngoặc nhọn đầu tiên
trên cùng một dòng như chức năng?
>> SPEAKER 1: Đó là phong cách.
Yeah.
Và trên thực tế, nếu bạn lấy 61, chúng tôi làm tất cả các dấu ngoặc nhọn của chúng tôi theo cách đó.
Huh?
>> Đung Nếu chúng tôi đã làm điều đó trên các PSET, là xấu cho phong cách?
>> SPEAKER 1: No.
Chúng tôi đã nói một cách rõ ràng các bạn để làm điều này.
Nhưng trên thực tế, đây là loại Công ước thống trị
trong rất nhiều lớp C và JavaScript và jQuery.
Vì vậy, rõ ràng, tôi sure-- và trên thực tế, nếu tôi
đã làm vấn đề này hoàn toàn mù mà không cần phải nhìn vào nó,
có lẽ rất ít cách tôi đã có thể nhận này.
>> Tôi có thể có được như thế, OK, có lẽ tôi cần phải lấy một cái gì đó là một đầu vào.
Và tôi nghĩ rằng có kiến thức đó, như,
OK, nếu tôi muốn có được một cái gì đó từ một hình thức mà có một ID,
Tôi gọi nó theo cách này, Tôi có thể có được điều đó.
Tôi có thể có được điều này.
Nhưng thực sự, điều duy nhất mà tôi nghĩ rằng Tôi thực sự sẽ nhận được là điều này đúng ở đây.
>> Vì vậy, nó là loại quan trọng biết, như với bất kỳ thử nghiệm khó khăn,
bạn loại chọn chiến trường của bạn, phải không?
Nếu bạn biết rằng bạn sẽ không có được mà phần đầu tiên cho jQuery, như tôi đã nói,
giả sử rằng bạn có giá trị này và làm những gì bạn có thể làm với nó.
Và nếu bạn có thời gian, trở lại và cố gắng và điền vào các miếng.
Nhưng đừng để một câu hỏi như thế điều này thực sự bog bạn xuống.
Bởi vì những gì?
Đây là một câu hỏi về jQuery ra của toàn bộ kỳ thi.
Vì vậy, có, nó sẽ là tuyệt vời nếu bạn có nó.
>> Đung [Không nghe thấy] bạn được chào đón để sử dụng jQuery.
SPEAKER 1: Bạn là hoan nghênh sử dụng jQuery.
Đung OK. [Không nghe thấy].
SPEAKER 1: Làm thế nào bạn không sử dụng nó?
Tôi sẽ phải nhìn JavaScript lên tất cả của tôi.
Nó thực sự dễ dàng hơn nhiều, Tôi nghĩ rằng, để sử dụng jQuery,
vì jQuery thực sự làm giảm lượng JavaScript bạn có thể viết
bởi, như, một nửa.
Vì vậy, mã của chúng tôi có lẽ sẽ là gấp đôi thời gian mà không có.
Vì vậy, nếu bạn recognize-- lớn nhất điều để lấy đi từ vấn đề này
là mô hình.
Nếu bạn đang truy cập một cái gì đó từ một hình thức,
bạn sẽ phải sử dụng dấu ngoặc kép, băm, bất cứ điều gì bạn đang cố gắng truy cập.
Nếu nó đang được gửi đi, bạn muốn sử dụng một cái gì đó giống như một .submit.
Bạn có thể sẽ phải sử dụng một chức năng ẩn danh trong đó.
Nếu bạn thực sự cần những giá trị của một cái gì đó, bạn sẽ làm báo giá,
băm, bất cứ lĩnh vực đó là, .val.
Và việc nhận mẫu như thế sẽ
để được thêm rất nhiều hữu ích hơn thực sự biết gritty nitty.
Vâng.
>> Đung Vì vậy, nếu các dùng gửi tên của họ
và nó chạy qua tuyên bố rằng, sẽ cho nó đi xuống và trở lại sai sau này?
>> SPEAKER 1: Không, bởi vì các cảnh báo, bạn có thể nghĩ về nó như một sự trở lại.
Yeah.
Vì vậy, nó sẽ thoát.
Yeah.
>> Đung thể bạn [? đặt?] dấu ngoặc
của trình, dấu ngoặc đơn, một cái gì đó?
>> SPEAKER 1: tôi đã làm, tôi tin.
Điều này đóng ngay tại đây.
Và rồi một này bị đóng cửa ở đây.
>> Đung Oh, có.
Được rồi.
>> SPEAKER 1: Rõ ràng, chút, điều ít cú pháp
như thế, chúng ta sẽ có thể chỉ khoanh tròn nó và như thế nào,
đừng quên dấu ngoặc đơn của bạn.
Nhưng yeah.
OK.
Do chúng tôi có nhau mà chúng tôi muốn làm gì?
Các cậu đã có được một cây nhị phân?
Chúng ta có muốn đi qua một trong những?
Tôi cảm thấy như cây nhị phân và DOMs nên điểm
mà các bạn nhận được khá dễ dàng.
Tôi sẽ không muốn bạn để mất điểm trên đó.
OK.
>> Hãy làm DOM này ở đây.
Tôi ước gì tôi có mặt của tôi vì vậy tôi chỉ có thể vẽ trên màn hình.
Đó là những gì tôi đã từng làm vào năm ngoái.
OK.
Vì vậy, như tôi đã đề cập, chúng tôi nói chuyện về DOM, Document Object Model.
Có lẽ họ sẽ cung cấp cho bạn một số ít đoạn như thế này
và yêu cầu bạn tạo một cái cây cho nó.
Và đây chỉ là tất cả đã làm với chạy qua các thẻ.
Vì vậy, hãy cố gắng và làm được điều này.
>> Ngoài ra, như thường lệ, nếu các bạn làm những câu đố, như tôi đánh giá cao
khuyên bạn nên làm là thực hành, bất kỳ của họ rằng bạn giống như,
Tôi thực sự không có được những gì xảy ra ở đây, chỉ là, tất nhiên,
gửi cho tôi một email với một câu hỏi, và tôi sẽ giải thích như là tốt nhất tôi có thể.
OK.
>> Chúng tôi có một số tài liệu, và chúng tôi có HTML.
OK.
Vì vậy, sau đó chúng tôi chỉ phân tích các thẻ ở đây, phải không?
Vì vậy, những gì chúng ta nhìn thấy là những gì comes-- hai phân nhóm được HTML?
Đặc biệt là bởi vì họ đang thụt vào đúng?
Đầu và thân.
Ah.
Đầu và thân.
Đáng yêu.
Vì vậy, sau đó chúng ta hãy bắt đầu ở đây với cái đầu.
Đầu bên dưới là gì?
Tag tiếp theo của chúng tôi là gì?
Title.
Và sau đó trong tiêu đề, đố vui.
OK.
>> Vì vậy, theo nghĩa đen, nó chỉ đi bộ qua các thẻ, OK?
Vì vậy, sau đó, nếu chúng ta có cơ thể, khi chúng tôi đi qua,
Cơ thể có ba thứ bên trong nó, phải không?
Nó có ba divs.
Mỗi div được hộp nhỏ của riêng mình.
Và những gì trong div đầu tiên?
[Không nghe thấy]
Và sau đó là một tiếp theo là giữa, mà tôi chỉ cần đi để viết tắt.
Và sau đó là người cuối cùng là đáy.
>> Vì vậy, thực sự, nó chỉ đi bộ qua.
Và bởi vì chúng tôi sẽ cung cấp cho bạn HTML đang thụt đúng,
bạn có thể theo nghĩa đen chỉ cần chạy qua và như thế, OK, đây là HTML.
Vì vậy, đây là ngoài cùng góc, hoặc xa rời,
để có được những thứ của riêng mình.
Đây là trên indention cùng.
>> Vì vậy, chúng tôi biết rằng người đứng đầu cần được ở mức độ tương tự như cơ thể,
nhưng bên trong HTML.
Đó là những gì chúng tôi có ở đây.
Đầu và cơ thể là anh chị em, nhưng họ đang theo HTML.
Và sau đó, chúng tôi chỉ cần đi vào từng.
Vì vậy, đầu có danh hiệu, trong đó có bài kiểm tra, như chúng ta thấy ở đây.
Và sau đó trong trường hợp này, chúng ta có cơ thể, trong đó có ba dòng.
Vì vậy, đây là tất cả anh chị em tất cả dưới cơ thể.
OK?
Vì vậy, hy vọng khi bạn nhìn thấy một cái gì đó như thế này, bạn giống như,
có, tôi chỉ nhận được để vẽ một cái cây.
Nó sẽ là tuyệt vời.
OK.
Vì vậy, muốn chắc chắn các bạn biết điều đó.
>> Vậy tại sao chúng ta không đi đến 32 với cây nhị phân của chúng tôi?
Bởi vì một khi bạn hiểu một số nhị phân cây tìm kiếm, nó thực sự không phải là xấu.
Vì vậy, Everett, tôi có thể erase-- tôi có nghĩa là, đây là tất cả các tuyến, quá.
Vì vậy, nếu bạn có bất kỳ câu hỏi.
>> Mất một không gian nho nhỏ ở đó, nhưng đó là OK.
Vì vậy, cây tìm kiếm nhị phân là chỉ là một cách tổ chức dữ liệu
không ở trong một mảng, nơi gốc là luôn luôn lớn
hơn con trái và gốc là luôn nhỏ hơn con phải.
OK.
>> Vì vậy, chúng tôi có cây tìm kiếm tuyệt vời này ở đây.
Chúng tôi có những con số này, 34, 59, 20, 106, 36, và 52.
Và chúng ta cần tổ chức chúng trong một cách như vậy
như vậy mà các gốc lớn hơn tất cả mọi thứ ở phía bên trái
và nó là ít hơn tất cả mọi thứ về phía bên phải.
Và thường, những gì bạn muốn làm là cố gắng và tìm
một cái gì đó về ở giữa.
Với cây tìm kiếm nhị phân, bạn có thể có để chơi xung quanh một chút với nó.
>> Nhưng trong trường hợp này, chúng ta hãy chỉ giả sử rằng chúng ta biết đầu tiên này.
Vì vậy, 36 là một trong những đầu tiên của chúng tôi ở đây.
Thông thường, tôi sẽ cố gắng và chọn một cái gì đó
về ở giữa sẽ thấy rằng có thể mang lại kết quả tốt nhất.
Vì vậy, bây giờ chúng ta biết rằng tất cả mọi thứ trên bên này cần phải được ít hơn 36.
Nhưng cũng có thể, những gì bạn có thể thấy là chúng ta có hai điểm trên đây.
Vì vậy, nếu chúng ta biết rằng chúng ta cần hai con số đó là ít hơn so với gốc,
sau đó bạn chỉ có thể đặt hàng các và chọn số thứ ba.
OK.
>> Vậy tại sao chúng ta không bắt đầu với bên này?
Vì vậy, nếu chúng ta biết rằng tất cả mọi thứ trên bên này cần phải được ít hơn 36--
nhưng nếu chúng ta nhìn vào một này, chúng ta biết rằng con số này
có được ít hơn con số này, phải không?
Bởi vì con số này ở đây là ở phía bên phải.
Và hãy nhớ rằng, cũng giống như trong lớn hơn của chúng tôi cây, tất cả mọi thứ ở bên phải
cần phải được lớn hơn so với gốc.
Bằng cách này, chúng ta biết rằng bất cứ điều gì là nhu cầu này
lớn hơn so với bất cứ điều gì ở đây.
OK?
>> Vì vậy, chúng ta có hai lựa chọn hai bong bóng này.
Chúng tôi có 32 và 34-- hoặc xin lỗi.
20 và 34.
Vì vậy, làm thế nào để bạn nghĩ chúng ta có thể đặt chúng trong?
Nếu một trong những điều này đã được lớn hơn này,
đó có nghĩa là chúng ta muốn có 20 và 34 ở đây đây.
OK.
>> Vì vậy, trong cùng một cách, chúng ta nhìn ở loại cây này phụ.
Và chúng ta nói, OK, chúng tôi đã không 36.
Chúng tôi có 106, 52, và 59.
Phải không?
Trong trường hợp này ở đây, chúng tôi biết rằng đây là một nhu cầu
có một điều đó là lớn hơn nó và một điều đó là ít hơn nó.
Phải không?
Vì vậy, nếu chúng ta đặt những thứ tự, nó chỉ về việc tìm giá trị trung một lần nữa.
Vì vậy, giá trị trung bình của chúng tôi là 59.
Vì vậy, sau đó chúng ta nói, OK, có gì ít hơn 59?
Vâng, đó là 52.
Và những gì là lớn hơn 59?
Vâng, đó là 106.
OK?
Vì vậy, nó chỉ là một chút giống như một câu đố.
Nó thường giúp, đặc biệt trong cây nhỏ như thế này,
nếu bạn chỉ cần đặt nó, nếu bạn biết bao nhiêu là bên trái
và bao nhiêu trên đúng, đó có thể chỉ
cho phép bạn chọn những gì nên có gốc của bạn.
Và sau đó bạn có thể loại các hoạt động từ đó.
Mm-hm.
33?
Chắc chắn.
OK.
Vì vậy, chúng tôi muốn tạo ra một nút hoặc một cây tìm kiếm nhị phân.
Và chúng ta hãy nhìn vào những gì có thể được ở trong đó.
Và tôi nghĩ rằng điều này sẽ thực sự là vấn đề cuối cùng của chúng tôi.
Ah.
OK.
>> Điều này cũng giống như những gì chúng ta có thể nghĩ đến như là một nút, phải không?
Chúng tôi có một số giá trị, và chúng tôi biết rằng nó sẽ hoặc
đã để lại và trẻ em ngay.
Tìm kiếm nhị phân tree-- rằng phương tiện mà nó có, nhiều nhất, hai đứa con.
OK?
Hãy suy nghĩ về cách chúng tôi định nghĩa một danh sách liên kết, phải không?
>> Chúng tôi đã có một số int mà đại diện các giá trị.
Chúng tôi đã có một số con trỏ mà đại diện những gì nó đã được đi tiếp theo.
Cây tìm kiếm nhị phân là rất tương tự.
Chúng tôi vẫn có một số giá trị, n, mà chúng tôi cung cấp cho nó, phải không?
Và sau đó, tôi đã vẽ những rất một cách rõ ràng với các mũi tên,
bởi vì họ đang có hiệu quả con trỏ.
OK?
>> Vì vậy, n thường là gì?
Đó là một số giá trị.
Những gì chúng ta thường chỉ định nó như là?
Một int.
Vì vậy, chúng tôi có một số int n, int hoặc giá trị, hoặc bất cứ điều gì bạn muốn gọi nó.
Và sau đó chúng tôi có trái trẻ em và các con phải.
Phải không?
Và chúng ta biết rằng những gì họ đang point-- được những gì họ trỏ đến?
Họ đang trỏ đến các nút khác, phải không?
Vậy làm thế nào chúng ta sẽ khai báo một con trỏ nút?
>> Đung [không nghe được].
>> SPEAKER 1: Mm-hm.
Và chúng ta sẽ có hai trong số đó, phải không?
Và sau đó chúng ta có thể theo nghĩa đen làm trái cho con trái
và phù hợp với các con phải.
Actually-- xin lỗi.
Bởi vì chúng ta cần cấu trúc.
>> Vì vậy struct là vì chúng ta không hoàn thành việc khai báo một nút nào.
Vì vậy, nút là trong đây.
Đó là loại giống như một định nghĩa đệ quy, phải không?
Vì vậy, khi chúng tôi đang trong định nghĩa này, chúng tôi
đã không hoàn thành khai báo nút như cấu trúc,
vì vậy chúng tôi phải làm struct nút chỉ để nói, có,
chúng tôi đang trong thực tế cập trở lại ourself gõ điều.
Điều đó giống như khi nó tạo ra, nó sẽ được tốt.
>> Vì vậy, lớn làm thế nào để bạn nghĩ đây là?
Kích thước của cấu trúc này là gì?
12.
Tại sao?
Chính xác.
Và trên thực tế, một trong những câu hỏi đầu tiên một quiz Một
là về kích cỡ, đó là lý do tại sao tôi hỏi.
Được rồi.
>> Chúng tôi sẽ kết thúc, bởi vì DCE sẽ hét vào mặt tôi, nếu chúng ta không làm.
Nhưng nếu bạn có bất kỳ câu hỏi, Tất nhiên, gửi email cho tôi, cho tôi biết.
Các bạn đang đi để đá nó.
Tôi vô cùng phấn khích.
Các bạn sẽ được thực hiện như Thứ Tư, và sau đó
bạn sẽ nhận được để làm việc trên cuối cùng của bạn các dự án, và nó sẽ là tuyệt vời.
>> Tôi sẽ ở đây tiếp theo tuần 4:00-04:30
nếu các bạn muốn đến nhận các câu đố của bạn.
Nếu bạn muốn tìm cho tôi một thời gian khác hay chỉ là phối hợp một thời gian khác nhau,
hãy cho tôi biết.
Nếu không, đây là phần cuối cùng của chúng tôi.
Vì vậy, nó là tuyệt vời để gặp các bạn.
Xin hãy thêm kẹo.
Và may mắn trên bài kiểm tra của bạn.