1 00:00:00,000 --> 00:00:00,890 2 00:00:00,890 --> 00:00:03,835 >> [เล่นเพลง] 3 00:00:03,835 --> 00:00:10,597 4 00:00:10,597 --> 00:00:12,030 >> ลำโพง 1: สิทธิทั้งหมดทุกคน 5 00:00:12,030 --> 00:00:14,330 ขอต้อนรับสู่ส่วนสุดท้ายของคุณกับฉัน 6 00:00:14,330 --> 00:00:16,160 มันเป็นค่อนข้างภาคการศึกษา 7 00:00:16,160 --> 00:00:21,290 ฉันไม่สามารถเชื่อว่านี่เป็นเหมือน สัปดาห์ที่ 12 หรือ 11 สิ่งที่ต้องการที่ 8 00:00:21,290 --> 00:00:24,520 แต่เพราะมันเป็นครั้งสุดท้ายของเรา ส่วนเรามีจำนวนมากของขนม 9 00:00:24,520 --> 00:00:27,090 และฉันจะพยายาม เตรียมคุณเช่นเดียวกับผม 10 00:00:27,090 --> 00:00:30,270 สามารถทำได้สำหรับการทดสอบของคุณในวันพุธที่ 11 00:00:30,270 --> 00:00:34,060 ดังนั้นอาจจะไม่ใช่วิธีที่ดีที่สุดในการ, เช่นเดียวกับส่วนปลายที่มีความคิดเห็นแบบทดสอบ 12 00:00:34,060 --> 00:00:35,630 แต่เราจะพยายามทำให้มันสนุก 13 00:00:35,630 --> 00:00:36,720 และมีขนมเสมอ 14 00:00:36,720 --> 00:00:39,070 เพื่อหวังว่าจะทำให้ดีขึ้น 15 00:00:39,070 --> 00:00:43,800 >> การตอบคำถามของคุณเป็นไปได้สวย มากเป็นสิ่งเดียวกับแบบทดสอบศูนย์ 16 00:00:43,800 --> 00:00:46,840 มันเป็นไปได้ รูปแบบเดียวกันระยะเวลาเดียวกัน 17 00:00:46,840 --> 00:00:50,065 คุณจะอยู่ในห้องกระจัดกระจาย ข้ามมหาวิทยาลัยเพราะมี 18 00:00:50,065 --> 00:00:54,660 ใกล้เคียงกับ 900 ของคุณและเราไม่สามารถ ทั้งหมดถือคุณในห้องเช่นนี้ 19 00:00:54,660 --> 00:00:58,610 เพื่อให้แน่ใจว่าจะมองไปที่ทั้งหมด คำถามหนึ่งเอกสาร 20 00:00:58,610 --> 00:01:02,410 ออนไลน์ที่ cs50.harvard.edu คืนนี้หรือคืนวันพรุ่งนี้ 21 00:01:02,410 --> 00:01:06,070 ให้แน่ใจว่าคุณรู้ว่าคุณกำลัง ไปสิ่งที่คุณต้องการที่จะนำ 22 00:01:06,070 --> 00:01:10,052 จริงๆคุณก็ต้องนำตัวเอง และดินสอและคุณควรจะปรับ 23 00:01:10,052 --> 00:01:11,760 คำถามจะเป็น มากเหมือนกัน 24 00:01:11,760 --> 00:01:15,250 อาจจะมีคู่ ทางเลือกหลายคำตอบสั้น ๆ คู่ 25 00:01:15,250 --> 00:01:22,610 การเขียนโปรแกรมบางอย่างบางทีบางจริง / เท็จ การจับคู่ประเภทของสิ่ง 26 00:01:22,610 --> 00:01:27,790 ดังนั้นคุณไม่ควรจะเกินไป ประหลาดใจโดยรูปแบบ 27 00:01:27,790 --> 00:01:31,380 >> สิ่งที่สามารถที่น่าแปลกใจคือ ความยาวซึ่งในปีก่อนหน้า 28 00:01:31,380 --> 00:01:32,970 ได้รับมากอีกต่อไป 29 00:01:32,970 --> 00:01:38,060 ในปีของฉันฉันไม่ได้มีเพื่อนคนเดียว ที่ผมจำได้เสร็จสิ้นการสอบ 30 00:01:38,060 --> 00:01:41,100 มีหลายอย่างเช่น หน้าเว้นว่างไว้ 31 00:01:41,100 --> 00:01:43,710 ดังนั้นระยะเวลาที่สามารถ ชนิดของไม่ทัน 32 00:01:43,710 --> 00:01:47,554 เพียงเพราะในบางปีก็มี รับนานกว่าแบบทดสอบหนึ่ง 33 00:01:47,554 --> 00:01:49,720 ฉันมีความคิดสิ่งที่มันไม่มี จะเป็นเช่นในปีนี้ 34 00:01:49,720 --> 00:01:51,640 แต่มันก็เป็นสิ่งที่จะต้องตระหนักถึง 35 00:01:51,640 --> 00:01:53,390 >> นอกจากนี้ คนมีแนวโน้มที่ difficulty-- 36 00:01:53,390 --> 00:01:56,660 ที่จะหาแบบทดสอบหนึ่งมากขึ้น ยากกว่าแบบทดสอบศูนย์ 37 00:01:56,660 --> 00:01:58,590 อีกครั้งคุณรู้ว่าถ้า คุณกำลังชนิดของการเดิน 38 00:01:58,590 --> 00:02:01,590 ออกความรู้สึกไม่สบายใจเล็ก ๆ น้อย ๆ เพราะ คุณไม่ได้กระทำเช่นเดียวกับที่คุณคิดว่า 39 00:02:01,590 --> 00:02:04,430 คุณจะหรือคุณรู้สึกว่าคุณไม่ได้ ทำเช่นเดียวกับที่คุณทำในแบบทดสอบหนึ่ง 40 00:02:04,430 --> 00:02:07,429 จำไว้ว่าอาจมี จำนวนมากของคนอื่น ๆ รู้สึกวิธีการที่ 41 00:02:07,429 --> 00:02:09,800 ฉันเป็นมั่นเหมาะหนึ่งในคนเหล่านั้น 42 00:02:09,800 --> 00:02:11,770 คำถามหนึ่งที่เหมือนโยนฉันห่วง 43 00:02:11,770 --> 00:02:14,540 และเพื่อนของฉันมีอันยิ่งใหญ่นี้ ภาพของพวกเขาที่ JP เลีย 44 00:02:14,540 --> 00:02:17,834 ชนิดของที่มีขนาดใหญ่เหล่านี้ ไอศกรีมซันเดย์เป็นเหมือนแบบทดสอบหนึ่ง 45 00:02:17,834 --> 00:02:19,250 และมองเหมือนพวกเขาอยู่ในน้ำตา 46 00:02:19,250 --> 00:02:21,860 >> ดังนั้นจึงเป็นความรู้สึกทั่วไป 47 00:02:21,860 --> 00:02:25,257 มันทดสอบที่ยากลำบากมันเป็นแบบทดสอบที่ยากลำบาก 48 00:02:25,257 --> 00:02:28,340 แน่นอนถ้าคุณออกมาและคุณ รู้สึกว่าคุณโยกมันที่ดีสำหรับคุณ 49 00:02:28,340 --> 00:02:32,050 แต่รู้ว่าคุณอาจ not-- คุณเกือบจะแน่นอนที่สุดไม่ได้ 50 00:02:32,050 --> 00:02:36,020 อยู่คนเดียวถ้าคุณเดินออกจากความรู้สึกเหมือน เอ๊ะอาจจะมีอากาศที่ดีกว่า 51 00:02:36,020 --> 00:02:37,003 มันแข็ง 52 00:02:37,003 --> 00:02:37,503 MM-HM 53 00:02:37,503 --> 00:02:39,120 >> ผู้ชม: วิธีมันเป็นเรื่องที่คุ้มค่า ในความสัมพันธ์กับ [ไม่ได้ยิน] 54 00:02:39,120 --> 00:02:40,411 >> ลำโพง 1: มันคุ้มค่าเดียวกัน 55 00:02:40,411 --> 00:02:41,730 ใช่ 56 00:02:41,730 --> 00:02:45,150 แต่อีกครั้งก็ยังไปได้ ได้รับผลกระทบโดยวิธีการส่วนที่เหลือของชั้นเรียน 57 00:02:45,150 --> 00:02:48,766 ไม่ว่าในส่วนของคุณไม่ วิธีการที่คุณได้ปรับปรุงเมื่อเวลาผ่านไป 58 00:02:48,766 --> 00:02:50,390 การวัดผลเป็นนิด ๆ หน่อย ๆ ของกล่องดำ 59 00:02:50,390 --> 00:02:54,310 ดังนั้นสิ่งที่เกิดขึ้นจริงจำนวน หรืออัตราร้อยละที่คุณได้รับ 60 00:02:54,310 --> 00:02:56,790 ไม่จำเป็นต้องชอบโดยตรง มีความสัมพันธ์กับคะแนน 61 00:02:56,790 --> 00:02:57,790 คุณกำลังจะได้รับ 62 00:02:57,790 --> 00:03:00,210 มีจำนวนมากเป็น ปัจจัยที่เข้าสู่มัน 63 00:03:00,210 --> 00:03:04,090 >> ดังนั้นด้วยความที่เรากำลังจะไป ผ่านการตรวจสอบแบบทดสอบบางอย่าง 64 00:03:04,090 --> 00:03:07,600 ฉันแค่จะทำงานนี้ เหมือนครั้งสุดท้ายสำหรับคุณผู้ชาย 65 00:03:07,600 --> 00:03:10,960 ผมมีคำตอบทั้งหมด การทดสอบหนึ่งของปีที่แล้ว 66 00:03:10,960 --> 00:03:14,260 ดังนั้นถ้าพวกคุณต้องการที่จะดึง ที่ขึ้นไปบนเครื่องคอมพิวเตอร์ของคุณเอง 67 00:03:14,260 --> 00:03:18,100 ถ้าคุณได้ดำเนินการสอบนี้ ก่อนและคุณมีคำถาม 68 00:03:18,100 --> 00:03:20,090 ผมคิดว่าเราสามารถทำได้ เพียงแค่ไปผ่านบางส่วน 69 00:03:20,090 --> 00:03:22,380 ของคนที่ยากลำบากมากขึ้นในการที่ 70 00:03:22,380 --> 00:03:25,810 ดังนั้นเราจึงสามารถพูดคุยเกี่ยวกับเรื่องนี้อาจจะ ได้รับความเข้าใจมากขึ้นเล็ก ๆ น้อย ๆ 71 00:03:25,810 --> 00:03:29,260 เป็นสัญชาตญาณที่อยู่เบื้องหลังบางส่วนของ คำถามเหล่านี้วิธีการวิธีการพวกเขา 72 00:03:29,260 --> 00:03:34,420 >> ได้เป็นอย่างดีเช่นเดียวกับเวลาที่ผ่านมา ฉันมีดาดฟ้า 100 สไลด์ 73 00:03:34,420 --> 00:03:37,760 ที่มีพื้นทั้งหมด ของภาพนิ่งที่ฉัน 74 00:03:37,760 --> 00:03:40,360 ได้เตรียมไว้สำหรับก่อนหน้านี้ ส่วนตั้งแต่ผม quiz-- ครั้งสุดท้ายของคุณ 75 00:03:40,360 --> 00:03:41,540 มีในชั้นนี้ 76 00:03:41,540 --> 00:03:43,960 ดังนั้นเราจึงสามารถผ่านไป อะไรที่สวยมาก 77 00:03:43,960 --> 00:03:46,450 ที่เราได้พูดคุยเกี่ยวกับ ก่อนที่บางทีคุณอาจ 78 00:03:46,450 --> 00:03:49,130 ต้องการชี้แจงเพิ่มเติมเพียงเล็กน้อยเกี่ยวกับ 79 00:03:49,130 --> 00:03:50,320 เราสามารถดำเนินการได้เป็นครั้งแรก 80 00:03:50,320 --> 00:03:52,567 >> แต่อย่างอื่นผมสุด มีความสุขเพียงแค่ชนิดของการทำงาน 81 00:03:52,567 --> 00:03:53,900 ผ่านปัญหาเหล​​่านี้กับคุณ 82 00:03:53,900 --> 00:03:58,700 และฉันจริงๆที่นี่เพื่อ มุ่งเน้นไปที่สิ่งที่พวกคุณคิด 83 00:03:58,700 --> 00:04:01,466 จะมีความสำคัญมากที่สุดในการมุ่งเน้นไปที่ 84 00:04:01,466 --> 00:04:03,466 เช่นเดียวกับที่เห็นได้ชัดทั้งหมด สิ่งนี้เป็นสิ่งที่สำคัญ 85 00:04:03,466 --> 00:04:07,444 86 00:04:07,444 --> 00:04:10,610 โดยเฉพาะอย่างยิ่งในขณะที่เราผ่านไปคำถามหนึ่ง แน่นอนผมจะชี้ให้เห็นสิ่งที่ต้องการ 87 00:04:10,610 --> 00:04:13,380 โอ้นี้อาจจะมีบางสิ่งบางอย่าง คุณต้องการที่จะรู้ว่า 88 00:04:13,380 --> 00:04:15,170 หรือคุณต้องการที่จะมีในแผ่นโกงของคุณ 89 00:04:15,170 --> 00:04:18,100 ฉันจะบอกสิ่งที่คุณ ในขณะที่เราชนิดของผ่านไป 90 00:04:18,100 --> 00:04:22,079 >> ดังนั้นเมื่อทราบว่าจะมีสิ่งใด ๆ ที่พวกคุณอยากจะไปมากกว่า? 91 00:04:22,079 --> 00:04:26,050 นอกจากนี้ถ้าฉันไม่ได้มีไว้ในสำรับของฉัน เราสามารถดึงบางสิ่งบางอย่างในเว็บ 92 00:04:26,050 --> 00:04:28,340 หรือเราสามารถพยายามทำให้ ขึ้นตัวอย่างเช่นในการบิน 93 00:04:28,340 --> 00:04:32,756 แต่แนวความคิดใด ๆ ที่คุณ พวกคุณมีในเลือนเล็ก ๆ น้อย ๆ 94 00:04:32,756 --> 00:04:33,880 [? ไบรอัน?] คุณ have-- 95 00:04:33,880 --> 00:04:36,134 >> ผู้ชม: โอ้มันจะสะสม? 96 00:04:36,134 --> 00:04:38,300 เหมือนเป็นสิ่งที่อยู่บนแบบทดสอบ ศูนย์จะเป็นที่นี่? 97 00:04:38,300 --> 00:04:41,100 >> ลำโพง 1: มันเป็นแบบสะสม แต่มันก็มากขึ้น 98 00:04:41,100 --> 00:04:44,330 เน้นในสิ่งที่ ตั้งแต่แบบทดสอบครั้งสุดท้ายของคุณ 99 00:04:44,330 --> 00:04:48,410 ดังนั้นเห็นได้ชัดว่าพวกคุณมี เรียนรู้เกี่ยวกับตัวแปรและลูป 100 00:04:48,410 --> 00:04:49,380 และเงื่อนไข 101 00:04:49,380 --> 00:04:52,030 และก็ไม่ชอบผู้ที่เพิ่ง หายไปเพราะพวกเขากำลัง 102 00:04:52,030 --> 00:04:55,210 อย่างเห็นได้ชัดโดยธรรมชาติทุกอย่าง อื่นที่เราได้เรียนรู้ในขณะนี้ 103 00:04:55,210 --> 00:04:58,560 104 00:04:58,560 --> 00:05:01,260 >> อาจจะมีคำถาม ในทุกประเภทหรือมี 105 00:05:01,260 --> 00:05:03,710 อาจจะมีคำถาม ในการค้นหาที่แตกต่างกัน 106 00:05:03,710 --> 00:05:07,000 หรืออาจจะมีคู่ คำถามเกี่ยวกับบางสิ่งบางอย่างบางทีคุณ 107 00:05:07,000 --> 00:05:09,230 ต้องทำอย่างไรกับการรวบรวม หรือข้อผิดพลาดที่แตกต่างกัน 108 00:05:09,230 --> 00:05:12,360 แต่ถ้าคุณมองไปที่ คำถามหนึ่งจากปีที่แล้ว 109 00:05:12,360 --> 00:05:15,870 คุณจะสังเกตเห็นว่ามันเป็น ที่เน้นมากในสิ่งที่ 110 00:05:15,870 --> 00:05:18,710 ที่ได้เกิดขึ้นตั้งแต่การตอบคำถามสุดท้ายของคุณ 111 00:05:18,710 --> 00:05:20,270 >> ทำไมประตูที่ล็อคอยู่เสมอ? 112 00:05:20,270 --> 00:05:21,555 จริงๆมันรบกวนจิตใจผม 113 00:05:21,555 --> 00:05:25,310 เพราะฉันมักจะพยายามที่จะผ่านมันไป 114 00:05:25,310 --> 00:05:28,450 >> ดังนั้นที่สวยมาก วิธีการตอบคำถามจะเป็น 115 00:05:28,450 --> 00:05:32,360 ดังนั้นจะมีแนวความคิดใด ๆ ที่ พวกคุณอยากจะไปมากกว่า? 116 00:05:32,360 --> 00:05:35,210 หรือเราสามารถกระโดดลง เพียงแค่มองไปที่คำถามหนึ่ง 117 00:05:35,210 --> 00:05:39,570 จากปีที่ผ่านมาและชนิดของการไป คำถามผ่านทางปฏิบัติมี 118 00:05:39,570 --> 00:05:41,220 นอกจากนี้เรายังสามารถสลับไปมา 119 00:05:41,220 --> 00:05:43,130 นี้ไม่ได้จัดเรียงเพียงครั้งเดียวของสิ่งที่ 120 00:05:43,130 --> 00:05:46,367 121 00:05:46,367 --> 00:05:46,950 คำถามใด? 122 00:05:46,950 --> 00:05:49,688 123 00:05:49,688 --> 00:05:50,188 ใช่ 124 00:05:50,188 --> 00:05:51,950 >> ผู้ชม: ฉันจะถาม คำถามเกี่ยวกับ another-- 125 00:05:51,950 --> 00:05:52,950 >> ลำโพง 1: อีกหนึ่ง? 126 00:05:52,950 --> 00:05:54,500 >> ผู้ชม: นี้เป็นอีกปีหนึ่ง 127 00:05:54,500 --> 00:05:54,756 >> ลำโพง 1: ใช่ 128 00:05:54,756 --> 00:05:56,068 นอกจากนี้เรายังสามารถทำได้อีกหนึ่งปี 129 00:05:56,068 --> 00:05:57,820 >> ผู้ชม: ตกลง 130 00:05:57,820 --> 00:05:58,710 ดังนั้นใน 2011 131 00:05:58,710 --> 00:06:00,135 >> ลำโพง 1: 2011 132 00:06:00,135 --> 00:06:02,880 โอ้ว่าเป็นปีก่อนที่ฉัน 133 00:06:02,880 --> 00:06:04,032 ผมขอดึงนี้ขึ้น 134 00:06:04,032 --> 00:06:04,934 >> ผู้ชม: ผมคิดว่า 135 00:06:04,934 --> 00:06:07,920 136 00:06:07,920 --> 00:06:12,842 >> ลำโพง 1: ด้านนี้ อัตราส่วนมีการขว้างปาฉันออก 137 00:06:12,842 --> 00:06:14,435 >> ผู้ชม: 11 และ 12 138 00:06:14,435 --> 00:06:16,637 >> ลำโพง 1: 11 และ 12 139 00:06:16,637 --> 00:06:17,415 ตกลง 140 00:06:17,415 --> 00:06:18,790 ดีที่นี่, ทำไมเราไม่ทำเช่นนี้? 141 00:06:18,790 --> 00:06:22,390 คุณ guys-- ทุกคนเพียงเวลาไม่กี่ นาทีที่จะมองผ่านแบบทดสอบ 142 00:06:22,390 --> 00:06:23,759 และเราจะรวบรวมรายชื่อ 143 00:06:23,759 --> 00:06:25,050 แล้วเราจะไปถึงพวกเขา 144 00:06:25,050 --> 00:06:25,990 ทั้งหมดใช่มั้ย? 145 00:06:25,990 --> 00:06:28,530 ในขณะที่ฉันได้รับพวง ของสิ่งนี้ตั้งค่า 146 00:06:28,530 --> 00:06:29,440 ตกลง 147 00:06:29,440 --> 00:06:31,850 ฉันแค่จะเขียน สิ่งที่ลงบนกระดาษ 148 00:06:31,850 --> 00:06:47,460 149 00:06:47,460 --> 00:07:36,009 >> 2011, 11 และ 12? 150 00:07:36,009 --> 00:07:38,880 ฉันแค่จะเปลี่ยนการแสดงผลนี้ 151 00:07:38,880 --> 00:07:39,380 ตกลง 152 00:07:39,380 --> 00:07:40,320 ที่ดีกว่า 153 00:07:40,320 --> 00:07:45,490 154 00:07:45,490 --> 00:07:47,700 มากกว่านี้ 155 00:07:47,700 --> 00:08:04,632 156 00:08:04,632 --> 00:08:06,130 สิทธิ์ทั้งหมด 157 00:08:06,130 --> 00:08:08,590 >> ใครมีที่ พวกเขาต้องการที่จะเริ่มต้นด้วย? 158 00:08:08,590 --> 00:08:11,270 159 00:08:11,270 --> 00:08:20,360 นอกจากนี้ลืมที่จะบอกว่าถ้าคุณต้องการมากขึ้น ของพวงของคนที่คุณพูด 160 00:08:20,360 --> 00:08:23,182 และเพียงแค่ให้คุณแตก แน่นอนในช่วงหกสัปดาห์ที่ผ่านมา 161 00:08:23,182 --> 00:08:24,890 เรากำลังทำงานการตรวจสอบ เซสชั่นจาก 07:00 162 00:08:24,890 --> 00:08:29,580 เพื่อ 08:30 คืนนี้ในภาคตะวันตกเฉียงเหนือ B103 ซึ่งยังเกิดขึ้น 163 00:08:29,580 --> 00:08:34,219 ครั้งสุดท้ายที่มันจะ จะเป็นฉัน, ฮันนาห์ Daven กับเกบ 164 00:08:34,219 --> 00:08:38,799 และร็อบชนิดของการให้ความช่วยเหลือจาก sidelines ของเพียงแค่ชนิดของการขว้างปาทั้งหมด 165 00:08:38,799 --> 00:08:41,630 ข้อมูลที่คุณอาจจะ ต้องการที่จะมีในแผ่นโกงของคุณ 166 00:08:41,630 --> 00:08:43,101 เฉือนรู้โดยทั่วไปมี 167 00:08:43,101 --> 00:08:44,600 ผู้ชม: ที่ยังออนไลน์ใช่มั้ย? 168 00:08:44,600 --> 00:08:45,766 ลำโพง 1: นอกจากนี้ยังออนไลน์ 169 00:08:45,766 --> 00:08:48,500 ดังนั้นคุณยังสามารถพักออกจากนี้ สภาพอากาศเหนอะไปที่หอพักของคุณ 170 00:08:48,500 --> 00:08:50,620 และไลฟ์สตรีมถ้าคุณต้องการ 171 00:08:50,620 --> 00:08:52,420 ฉันแน่ใจว่าจำนวนมาก กับคนที่ฉันรู้ว่าฉันจะ 172 00:08:52,420 --> 00:08:55,541 จะทำว่าถ้าผมอยู่ในรองเท้าของคุณ 173 00:08:55,541 --> 00:08:56,040 ตกลง 174 00:08:56,040 --> 00:08:59,152 ดังนั้นทำไมเราไม่เริ่มต้น with-- ในขณะที่คุณ guys-- หวังว่า 175 00:08:59,152 --> 00:09:00,110 คุณกำลังมองผ่าน 176 00:09:00,110 --> 00:09:03,068 ถ้าไม่ได้ผมก็อาจจะเริ่มต้นการทำงาน ผ่านสิ่งที่แตกต่างกันในการทดสอบหนึ่ง 177 00:09:03,068 --> 00:09:05,490 จากปีที่แล้วเว้นแต่คุณ มีคำถามที่เฉพาะเจาะจง 178 00:09:05,490 --> 00:09:09,740 >> เราจะเริ่มต้นด้วยนี้ คำถามที่นี่เกี่ยวกับกอง 179 00:09:09,740 --> 00:09:17,940 ดังนั้นทุกคนไม่จำ ชนิดของสิ่งที่สแต็คเป็น? 180 00:09:17,940 --> 00:09:21,760 วิธีการที่เรามีแนวโน้มที่ to-- ทุกคนสามารถเพียงแค่ให้ ฉันอธิบายทั่วไปของสแต็ค? 181 00:09:21,760 --> 00:09:23,300 ประเภทของโครงสร้างข้อมูล 182 00:09:23,300 --> 00:09:23,900 ตกลง 183 00:09:23,900 --> 00:09:25,650 ดังนั้นจึงเป็นหนึ่งใน โครงสร้างข้อมูลที่เรา 184 00:09:25,650 --> 00:09:30,620 คาดหวังว่าคุณมีความคุ้นเคย with-- เช่น กองอาร์เรย์คิวอื่น ๆ 185 00:09:30,620 --> 00:09:31,120 ใช่ 186 00:09:31,120 --> 00:09:33,005 >> ผู้ชม: เช่นเดียวกับครั้งแรก ในออกแล้วบางสิ่งบางอย่าง 187 00:09:33,005 --> 00:09:34,810 >> ลำโพง 1: มันเป็นครั้งแรกใน, สุดท้ายที่ออกมา 188 00:09:34,810 --> 00:09:35,310 อย่างแน่นอน 189 00:09:35,310 --> 00:09:37,830 ดังนั้นกองอยู่ตรง สิ่งที่เรามักจะคิดว่า 190 00:09:37,830 --> 00:09:39,720 เกี่ยวกับเมื่อเราคิดว่า ของสแต็คของสิ่ง 191 00:09:39,720 --> 00:09:41,024 ดังนั้นสแต็คของแผ่นเปลือกโลก 192 00:09:41,024 --> 00:09:43,440 จานแรกที่คุณใส่ลงไป เป็นไปได้ที่ด้านล่าง 193 00:09:43,440 --> 00:09:45,981 และมันจะเป็นครั้งสุดท้าย หนึ่งที่คุณลบในตอนท้าย 194 00:09:45,981 --> 00:09:47,180 เพราะพวกเขากองขึ้น 195 00:09:47,180 --> 00:09:50,390 >> และคุณจะใช้อย่างใดอย่างหนึ่งออกมาจากด้านล่าง มักจะผิดพลาดและสิ่งที่หยุดพัก 196 00:09:50,390 --> 00:09:53,150 ดังนั้นกองที่คุณสามารถคิด เช่นเดียวกับสแต็คของแผ่นเปลือกโลก 197 00:09:53,150 --> 00:09:57,707 หรือตัวอย่างเช่นเรามักจะชอบที่จะใช้ อยู่ในห้องโถง D คุณมีถาด, 198 00:09:57,707 --> 00:09:59,790 พวกเขากำลังซ้อนกันทั้งหมดขึ้น และคุณใช้เวลาจากด้านบน 199 00:09:59,790 --> 00:10:02,880 ดังนั้นคนสุดท้ายในการเป็นคนแรกที่ออกมา 200 00:10:02,880 --> 00:10:03,580 ตกลง 201 00:10:03,580 --> 00:10:08,850 >> ดังนั้นในกรณีที่นี่เรา เห็นว่าเรา have-- ฉันสงสัย 202 00:10:08,850 --> 00:10:14,050 ถ้าจริงผมสามารถขยายนิด ๆ หน่อย ๆ 203 00:10:14,050 --> 00:10:15,730 ดังนั้นเราจึงมี struct ที่นี่ 204 00:10:15,730 --> 00:10:16,520 ใช่มั้ย? 205 00:10:16,520 --> 00:10:20,160 ดังนั้นคุณต้อง struct ที่มีบาง บางหมายเลข int ของกำลังการผลิต 206 00:10:20,160 --> 00:10:22,960 ดังนั้นสิ่งที่เราคิดว่าที่แสดงถึง? 207 00:10:22,960 --> 00:10:26,190 นี้เป็นอาเรย์ที่มีขนาดความจุ 208 00:10:26,190 --> 00:10:31,750 >> ดังนั้นนี้จริงๆแสดงให้เห็นถึง สแต็คของเราโดยทั่วไป 209 00:10:31,750 --> 00:10:35,980 สแต็คของเราเป็นจริงเพียง อาร์เรย์ที่มีจำนวนชุดบาง 210 00:10:35,980 --> 00:10:39,040 ที่เป็นสูงสุดของมันนั่นคือความสามารถของตน 211 00:10:39,040 --> 00:10:43,050 แล้วเรามีบางขนาด int ซึ่ง จะติดตามขนาดของสแต็คของเรา 212 00:10:43,050 --> 00:10:44,990 ตลอดหลักสูตร เมื่อเรากำลังใช้มัน 213 00:10:44,990 --> 00:10:45,490 OK? 214 00:10:45,490 --> 00:10:50,620 215 00:10:50,620 --> 00:10:55,850 >> ในกรณีนี้ที่นี่เราบอกว่าเรา ขนาดสแต็คได้รับการเริ่มต้นได้ที่ 0 216 00:10:55,850 --> 00:10:58,190 ดังนั้นเราจึงมีสแต็คที่ว่างเปล่าในขณะนี้ 217 00:10:58,190 --> 00:11:01,760 แล้วเราต้องการที่จะดำเนินการ การดำเนินงานของป๊อป 218 00:11:01,760 --> 00:11:05,520 ดังกล่าวว่าผลตอบแทนที่ได้ int ที่ด้านบน 219 00:11:05,520 --> 00:11:08,150 แล้วถ้ามันเป็นที่ว่างเปล่า มันกลับเป็นลบ 1 220 00:11:08,150 --> 00:11:09,320 OK? 221 00:11:09,320 --> 00:11:12,646 ดังนั้นผมจึงอยากให้พวกคุณก็จะคิดว่า เกี่ยวกับสิ่งที่เราอาจจะทำมี 222 00:11:12,646 --> 00:11:15,020 สิ่งที่อาจจะเป็นหนึ่งในครั้งแรก สิ่งที่เราต้องการที่จะตรวจสอบ? 223 00:11:15,020 --> 00:11:17,986 224 00:11:17,986 --> 00:11:19,110 มีสิ่งที่ดีที่นี่ 225 00:11:19,110 --> 00:11:24,700 เมื่อใดก็ตามที่มัน says-- ถ้ามีเคยบาง ถ้าคำสั่งเช่น "หากสแต็คเป็นที่ว่างเปล่า" 226 00:11:24,700 --> 00:11:29,330 หรือ "ถ้าผลตอบแทนนี้ null" หรือ "ถ้านี่คือสิ่งที่" - ขอโทษ 227 00:11:29,330 --> 00:11:30,710 >> ผู้ชม: เขียนคำสั่งถ้า 228 00:11:30,710 --> 00:11:31,000 >> ลำโพง 1: ขวา 229 00:11:31,000 --> 00:11:31,500 คุณสามารถเขียนคำสั่งถ้า 230 00:11:31,500 --> 00:11:34,100 และนั่นอาจเป็นหนึ่งใน สิ่งแรกที่คุณต้องการตรวจสอบ 231 00:11:34,100 --> 00:11:34,599 ตกลง 232 00:11:34,599 --> 00:11:36,940 เมื่อใดก็ตามที่พวกเขาให้คุณ ชนิดเช่นกรณีมุม 233 00:11:36,940 --> 00:11:39,150 เช่นนี้ว่าเป็นปกติ หนึ่งในสิ่งแรก 234 00:11:39,150 --> 00:11:41,200 คุณกำลังจะไปตรวจสอบในรหัสของคุณ 235 00:11:41,200 --> 00:11:44,220 >> นอกจากนี้สิ่งที่จะ รับรู้สำหรับการตอบคำถาม 236 00:11:44,220 --> 00:11:48,870 คือถ้าคุณมีวิธีที่ไม่มีประสิทธิภาพ ที่จะทำบางสิ่งบางอย่างเขียนมันลง 237 00:11:48,870 --> 00:11:52,220 เพราะเราไม่ได้จัดลำดับ คุณในการออกแบบเราไม่ 238 00:11:52,220 --> 00:11:54,840 การจัดลำดับคุณในความถูกต้องสำหรับแบบทดสอบ 239 00:11:54,840 --> 00:11:59,970 ดังนั้นแม้ว่าคุณจะรู้ว่ามันเป็นซุปเปอร์ วิธีที่ดีที่จะทำบางสิ่งบางอย่าง แต่มันทำงาน 240 00:11:59,970 --> 00:12:03,290 เขียนมันลง OK? 241 00:12:03,290 --> 00:12:06,520 >> แท้จริงฉันได้เห็นเด็กที่ผ่าน year-- ถ้าคุณมองไปที่หนึ่งปีที่ผ่านมา 242 00:12:06,520 --> 00:12:08,180 พวกเขาต้องการทำพีระมิดมาริโอ 243 00:12:08,180 --> 00:12:12,482 และพวกเขาก็ไม่ได้อย่างแท้จริง "พิมพ์ กัญชา, พิมพ์, กัญชา, กัญชา, พิมพ์, กัญชา 244 00:12:12,482 --> 00:12:13,242 กัญชากัญชา. " 245 00:12:13,242 --> 00:12:14,040 แต่มันเป็นเรื่องที่ถูกต้อง 246 00:12:14,040 --> 00:12:18,490 มันไม่สิ่งที่เราบอกว่ามันไป ดังนั้นคุณจึงไม่สามารถใช้จุดปิด 247 00:12:18,490 --> 00:12:20,487 ถ้าคุณลงไป ลวดอย่างเห็นได้ชัดคุณ 248 00:12:20,487 --> 00:12:23,820 ต้องการที่จะได้รับเป็นโซลูชันที่หรูหรามากขึ้นและ ทางออกที่สง่างามมากขึ้นอาจจะ 249 00:12:23,820 --> 00:12:27,292 เป็นโค้ดน้อยลงซึ่งหมายความว่าคุณอาจจะ มีโอกาสสูงที่ถูกต้อง 250 00:12:27,292 --> 00:12:29,750 แต่ถ้าคุณต้องการคุณรู้ว่า สิ่งที่ไม่ฉันไม่ได้มีเวลาผม 251 00:12:29,750 --> 00:12:32,640 รู้ว่านี่เป็นวิธีแก้ปัญหา มันไม่ได้เป็นที่ดีที่สุดที่เขียนมัน 252 00:12:32,640 --> 00:12:36,130 และคุณยังสามารถเขียนลงบน ข้างฉันรู้นี้น่ากลัว 253 00:12:36,130 --> 00:12:38,135 แต่ฉันรู้ว่ามันทำงาน 254 00:12:38,135 --> 00:12:39,320 ดังนั้นเพียงแค่หัวขึ้น 255 00:12:39,320 --> 00:12:39,820 ตกลง 256 00:12:39,820 --> 00:12:42,690 >> ดังนั้นเห็นได้ชัดว่าสิ่งแรกที่ นี่คือคำสั่งถ้า 257 00:12:42,690 --> 00:12:45,320 ดังนั้นสิ่งที่เราคิดว่าถ้าเรื่องนี้ คำสั่งที่เป็นไปได้? 258 00:12:45,320 --> 00:12:50,860 และที่จริงให้ฉันเปิด ขึ้นบรรณาธิการประเสริฐที่ดีของฉัน 259 00:12:50,860 --> 00:12:55,480 ฉันจะรหัสนี้แล้ว แสดงว่าพวกคุณเมื่อมันทำ 260 00:12:55,480 --> 00:12:57,370 ดังนั้น int ป๊อป 261 00:12:57,370 --> 00:13:02,260 262 00:13:02,260 --> 00:13:03,240 ตกลง 263 00:13:03,240 --> 00:13:07,330 ดังนั้นหากเรามี int นี้ ปรากฏ void-- ดังนั้นเห็นได้ชัดว่า 264 00:13:07,330 --> 00:13:13,270 นี้เป็นฟังก์ชั่นบางอย่างที่จะใช้เวลาใน ไม่มีอะไรและส่งกลับจำนวนเต็มใช่มั้ย? 265 00:13:13,270 --> 00:13:18,930 ดังนั้นมันจึงเป็นเพียงการพูดคุยเกี่ยวกับ สแต็คนี้ที่เราได้สร้างขึ้น 266 00:13:18,930 --> 00:13:23,360 >> ดังนั้นเพียงแค่แปลล่าสุดนี้ ประโยคที่ว่า "ถ้าสแต็คเป็นที่ว่างเปล่า 267 00:13:23,360 --> 00:13:28,380 ป๊อปควรกลับเชิงลบ 1 "วิธีที่เราอาจทำเช่นนั้น? 268 00:13:28,380 --> 00:13:30,250 ดังนั้นหากสิ่งที่? 269 00:13:30,250 --> 00:13:35,080 เราจะรู้ว่าสแต็คที่ยังว่างอยู่ได้อย่างไร? 270 00:13:35,080 --> 00:13:36,800 มันเป็นเพียงเรื่องของขนาดเท่ากับ 0 271 00:13:36,800 --> 00:13:40,300 Stack.size เท่ากับ 0 272 00:13:40,300 --> 00:13:42,840 นอกจากนี้ฉันชนิดของการเขียนตาบอดที่นี่ 273 00:13:42,840 --> 00:13:49,550 ดังนั้นถ้าผมทำให้ผู้ใด typos-- โอ้ ยังไม่ลืมที่จะกล่าวถึงนี้ 274 00:13:49,550 --> 00:13:54,310 >> สัปดาห์ที่แล้วผมคิดออกโดยสิ้นเชิง สิ่งที่เป็นปัญหาของเราคือด้วย JavaScript 275 00:13:54,310 --> 00:13:57,270 อย่าใช้ประโยชน์ผม และ D คุณควรเท่านั้น 276 00:13:57,270 --> 00:14:00,070 ผมใช้ประโยชน์และได้รับองค์ประกอบตามหมายเลข 277 00:14:00,070 --> 00:14:02,170 และนั่นก็คือข้อผิดพลาดทั้งหมด 278 00:14:02,170 --> 00:14:05,700 ดังนั้นถ้าพวกคุณกลับไป จริงมองผ่านรห​​ัสของฉัน 279 00:14:05,700 --> 00:14:09,590 ถ้าคุณเพียงแค่ทำให้ทุกอย่าง งพิมพ์เล็ก "ลืมองค์ประกอบตามหมายเลข" 280 00:14:09,590 --> 00:14:10,410 มันจะทำงาน 281 00:14:10,410 --> 00:14:12,823 ดังนั้นในขณะที่ผมสัญญาว่าผมอย่างใกล้ชิด 282 00:14:12,823 --> 00:14:15,570 ฉันเพียงแค่ทุนบางสิ่งบางอย่าง ผมก็ไม่ควรที่จะซึ่ง 283 00:14:15,570 --> 00:14:19,231 ฉันแน่ใจว่าพวกคุณมีใน PSET สุดท้ายของคุณ 284 00:14:19,231 --> 00:14:22,750 >> ดังนั้นถ้าขนาดของเราเท่ากับ 0 สิ่งที่เราควรจะทำอย่างไร? 285 00:14:22,750 --> 00:14:25,100 >> ผู้ชม: กลับเชิงลบ 1 286 00:14:25,100 --> 00:14:28,644 >> ลำโพง 1: กลับเชิงลบ 1 287 00:14:28,644 --> 00:14:29,450 เย็น 288 00:14:29,450 --> 00:14:33,050 ดังนั้นตอนนี้สิ่งที่เราจะทำอย่างไร 289 00:14:33,050 --> 00:14:39,420 290 00:14:39,420 --> 00:14:41,730 เราต้องการที่จะปรากฏสิ่งปิด 291 00:14:41,730 --> 00:14:45,090 ตอนนี้เป็นกรณีนี้ ที่เรามีบางสิ่งบางอย่าง 292 00:14:45,090 --> 00:14:48,686 ขนาดของเราเป็นมากกว่า 1 หรือมากกว่า 0 ใช่มั้ย? 293 00:14:48,686 --> 00:14:50,060 เราจริงมีบางสิ่งที่มี 294 00:14:50,060 --> 00:14:54,390 ดังนั้นสิ่งที่เราต้องการจะทำคือเรา ต้องการที่จะกลับมาที่นี่ 295 00:14:54,390 --> 00:14:58,860 เรากำลังจะบอกว่าเราต้องการ เพื่อกลับไปด้านบนของสแต็ค 296 00:14:58,860 --> 00:15:00,940 OK? 297 00:15:00,940 --> 00:15:03,840 >> ดังนั้นวิธีที่เราอาจจะทำเช่นนั้น? 298 00:15:03,840 --> 00:15:06,410 เราจะกลับมาด้านบนของสแต็คได้อย่างไร? 299 00:15:06,410 --> 00:15:09,700 โปรดจำไว้ว่าสแต็คของเราคือ เพียงอาร์เรย์ใช่มั้ย? 300 00:15:09,700 --> 00:15:12,690 แต่ก็มีความสามารถบางอย่าง ที่เราได้รับมัน 301 00:15:12,690 --> 00:15:17,840 ในฐานะที่เราได้นำสิ่ง on-- หรือจริง เรากำลังจะเขียน "ดัน" หลังจากนี้ 302 00:15:17,840 --> 00:15:21,563 หากสิ่งที่อยู่ในตรงนี้ อาจจะมีรูปจะช่วยให้ 303 00:15:21,563 --> 00:15:30,845 304 00:15:30,845 --> 00:15:32,120 อืมผมชอบชอล์กใหญ่ดีกว่า 305 00:15:32,120 --> 00:15:35,920 306 00:15:35,920 --> 00:15:41,000 >> ดังนั้นใดถ้าและคุณสามารถเพียง คิดว่านี้เป็นกองของเรา 307 00:15:41,000 --> 00:15:48,510 ดังนั้นนี่คือ 0, 1, 2 308 00:15:48,510 --> 00:15:51,175 ผมไม่ทราบว่าทำไมกล่องของฉัน จะได้รับมีขนาดเล็กลง 309 00:15:51,175 --> 00:15:52,540 แต่มี 310 00:15:52,540 --> 00:15:53,180 ตกลง 311 00:15:53,180 --> 00:15:59,960 >> ดังนั้นนี่คือบางสแต็ค มีความจุ 5 312 00:15:59,960 --> 00:16:04,470 และขอบอกว่าเรามีบางสิ่งบางอย่าง ที่นี่และเรามีบางสิ่งบางอย่างที่นี่ 313 00:16:04,470 --> 00:16:10,840 ดังนั้นในจุดนี้ของเรา ขนาดเท่ากับสิ่งที่? 314 00:16:10,840 --> 00:16:12,720 2 315 00:16:12,720 --> 00:16:15,370 และถ้าเราต้องการที่จะปรากฏ บางสิ่งบางอย่างออกจากมัน 316 00:16:15,370 --> 00:16:18,720 นั่นหมายความว่าเราต้องการที่จะได้รับ กำจัดของตรงนี้ 317 00:16:18,720 --> 00:16:21,300 OK? 318 00:16:21,300 --> 00:16:25,633 ดังนั้นวิธีการที่เราจะกลับมาค่านี้? 319 00:16:25,633 --> 00:16:27,397 >> ผู้ชม: ขนาดลบ 1 320 00:16:27,397 --> 00:16:28,230 >> ลำโพง 1: ขวา 321 00:16:28,230 --> 00:16:35,010 ดังนั้นขนาดลบ 1 หรือคุณ สามารถทำขนาดลบลบ 322 00:16:35,010 --> 00:16:36,740 แต่เราก็ไม่สามารถทำขนาด 323 00:16:36,740 --> 00:16:38,560 มันเป็นเรื่องภายใน struct ใช่มั้ย? 324 00:16:38,560 --> 00:16:42,690 ดังนั้น stack.struct 325 00:16:42,690 --> 00:16:44,510 หรือ stack.size 326 00:16:44,510 --> 00:16:47,100 นั่นคือดัชนีของเราอยู่ที่นั่น 327 00:16:47,100 --> 00:16:48,070 OK? 328 00:16:48,070 --> 00:16:56,240 >> แล้วถ้าเรามอง กลับไปที่ struct ของเราที่นี่ 329 00:16:56,240 --> 00:16:59,770 เราแจ้งให้ทราบว่า จริงเข้าถึงอาร์เรย์ 330 00:16:59,770 --> 00:17:04,920 ที่เราต้องทำ stack.numbers ในการเข้าถึงอาร์เรย์ที่จริง 331 00:17:04,920 --> 00:17:09,859 332 00:17:09,859 --> 00:17:13,700 เพื่อให้ผลตอบแทนที่ด้านบนของสแต็ค 333 00:17:13,700 --> 00:17:18,950 >> แต่บางสิ่งบางอย่าง that-- ถ้าพวกคุณดู ที่สำคัญคำตอบนี้เป็นสิ่งที่พวกเขา 334 00:17:18,950 --> 00:17:21,470 ให้คุณ 335 00:17:21,470 --> 00:17:22,640 ดังนั้นนี้มันเป็น 336 00:17:22,640 --> 00:17:27,450 แต่ผมอาจจะเถียงว่าพวกเขากำลัง miss-- โอไม่ใช่สิ่งที่ฉันต้องการ 337 00:17:27,450 --> 00:17:30,864 ฉันอาจจะเถียงว่าพวกเขากำลัง หายไปบางสิ่งบางอย่าง because-- ใช่ 338 00:17:30,864 --> 00:17:32,030 ผู้ชม: ลดขนาด 339 00:17:32,030 --> 00:17:32,738 ลำโพง 1: ขวา 340 00:17:32,738 --> 00:17:34,634 เราจำเป็นต้องลดขนาดของเราตอนนี้ 341 00:17:34,634 --> 00:17:36,550 ดังนั้นสิ่งที่ยุ่งยากเกี่ยวกับ นี้คือเมื่อคุณกลับมา 342 00:17:36,550 --> 00:17:38,780 บางสิ่งบางอย่างฟังก์ชั่นของคุณ จะออกใช่มั้ย? 343 00:17:38,780 --> 00:17:44,050 ดังนั้นสิ่งที่เราอาจจะเป็นจริง ลดขนาดครั้งแรกของเรา 344 00:17:44,050 --> 00:17:47,110 และแล้วเราก็สามารถทำ stack.size 345 00:17:47,110 --> 00:17:52,110 >> เราก็สามารถใช้ stack.size เป็นดัชนีของเราอาจจะไม่ได้เรา? 346 00:17:52,110 --> 00:17:55,650 เพราะถ้า stack.size เป็นที่ 2 เราพร่องมัน 347 00:17:55,650 --> 00:17:58,520 และดังนั้นจึงเป็นเรื่องที่ 1 ซึ่ง เป็น indice ที่แท้จริงของเรา 348 00:17:58,520 --> 00:18:03,320 เมื่อเรากำจัดนี้เราจริง มีเพียงสิ่งหนึ่งในอาร์เรย์ของเรา 349 00:18:03,320 --> 00:18:04,204 ดังนั้นมันไม่ทั้งสอง 350 00:18:04,204 --> 00:18:05,120 ผู้ชม: [ไม่ได้ยิน] 351 00:18:05,120 --> 00:18:09,186 352 00:18:09,186 --> 00:18:14,750 >> ลำโพง 1: ดีในกรณีนี้ เราเพิ่งกลับองค์ประกอบ 353 00:18:14,750 --> 00:18:19,500 ที่ด้านบนที่เป็นของเรา ขนาดที่ด้านบนสุด 354 00:18:19,500 --> 00:18:25,530 แต่เรายังไม่ได้ทำอะไรให้ ขนาดหลังจากที่เราเอาออกองค์ประกอบที่ 355 00:18:25,530 --> 00:18:29,970 นี้ไม่ได้เปลี่ยนขนาดของเรายัง 356 00:18:29,970 --> 00:18:32,410 นี้ไม่จริง โดยเนื้อแท้เปลี่ยนขนาดของเรา 357 00:18:32,410 --> 00:18:39,840 >> แต่การที่จะทำให้มันเล็ก ๆ น้อย ๆ ที่ชัดเจน คุณสามารถทำ stack.size ลบลบ 358 00:18:39,840 --> 00:18:46,960 สำหรับผมมันทำให้ผมไม่ทราบ เล็ก ๆ น้อย ๆ ที่ชัดเจน that-- อา 359 00:18:46,960 --> 00:18:51,080 ว่าคุณกำลังจริงที่เปลี่ยนแปลง ขนาดและกลับไป 360 00:18:51,080 --> 00:18:54,050 วิธีอื่น ๆ ได้ดีเพราะ คุณมีการเปลี่ยนแปลงและกลับ 361 00:18:54,050 --> 00:18:55,700 ในขณะเดียวกัน 362 00:18:55,700 --> 00:19:00,792 แต่นี่เป็นเพียงวิธีการที่จะเขียนอีก ว่าผมอยากจะแสดงให้พวกคุณ 363 00:19:00,792 --> 00:19:02,190 ไม่ว่าทำให้รู้สึก? 364 00:19:02,190 --> 00:19:04,940 365 00:19:04,940 --> 00:19:06,847 กองผมคิดว่าเป็น ง่ายกว่าการรอคิว 366 00:19:06,847 --> 00:19:08,188 [หัวเราะ] 367 00:19:08,188 --> 00:19:09,481 368 00:19:09,481 --> 00:19:09,980 ตกลง 369 00:19:09,980 --> 00:19:12,000 คุณมีคำถามใด ๆ ที่เฉพาะเจาะจง ประมาณ 11 และ 12 หรือ just-- 370 00:19:12,000 --> 00:19:13,736 >> ผู้ชม: ฉันคิดว่ามันเป็นสแต็ค 371 00:19:13,736 --> 00:19:14,910 >> ลำโพง 1: ขนาดสแต็ค? 372 00:19:14,910 --> 00:19:15,430 >> ผู้ชม: ใช่ 373 00:19:15,430 --> 00:19:15,980 >> ลำโพง 1: Gotcha 374 00:19:15,980 --> 00:19:16,490 ตกลง 375 00:19:16,490 --> 00:19:19,630 ใช่คุณสามารถทำมันได้ใน หนึ่งในสองวิธี 376 00:19:19,630 --> 00:19:20,320 ตกลง 377 00:19:20,320 --> 00:19:22,790 >> ดังนั้นตอนนี้เรามีอีกคนหนึ่ง 378 00:19:22,790 --> 00:19:30,250 379 00:19:30,250 --> 00:19:34,220 นี่คือแปลกจริงๆเช่น ไม่ได้มีนี้บนหน้าจอของฉัน 380 00:19:34,220 --> 00:19:46,480 381 00:19:46,480 --> 00:19:51,030 ดังนั้นหากเราดูที่นี่ตอนนี้เราต้องการที่จะ เสร็จสิ้นการดำเนินการของการผลักดันให้ 382 00:19:51,030 --> 00:19:57,030 ซึ่งอันที่จริงทำให้บางสิ่งบางอย่างไป และแทรกสิ่งที่เป็นคิวของเรา 383 00:19:57,030 --> 00:19:59,390 หรือเป็นกลุ่มของเรา 384 00:19:59,390 --> 00:20:00,140 OK? 385 00:20:00,140 --> 00:20:03,560 >> ดังนั้นหากเราสังเกตเห็นเรา มีสองสิ่ง 386 00:20:03,560 --> 00:20:07,730 เรามี great-- ของเราถ้าสิ่งอื่นใด เมื่อใดก็ตามที่เรามีหนึ่งของเหล่านี้ 387 00:20:07,730 --> 00:20:10,610 พวกคุณควรจะได้รับอย่างน้อยครึ่งหนึ่ง จุดเพราะสิ่งที่คุณต้องทำ 388 00:20:10,610 --> 00:20:15,760 ถูกแปลงนี้ในซีและ พวกเขาให้ครึ่งหนึ่งของมัน 389 00:20:15,760 --> 00:20:18,560 ดังนั้น "หากสแต็คที่เต็มไปด้วย หรือจะเป็นเชิงลบ 390 00:20:18,560 --> 00:20:20,940 แล้วดันควรกลับเท็จ. " 391 00:20:20,940 --> 00:20:21,890 OK? 392 00:20:21,890 --> 00:20:27,900 >> ดังนั้นเราเพียงต้องการบวก จำนวนเต็มจะต้องอยู่บนสแต็คของเรา 393 00:20:27,900 --> 00:20:28,430 ทั้งหมดใช่มั้ย? 394 00:20:28,430 --> 00:20:31,135 และนี้เป็นไปอย่างใดอย่างหนึ่ง กลับมาจริงหรือเท็จ 395 00:20:31,135 --> 00:20:36,410 396 00:20:36,410 --> 00:20:37,765 ดังนั้นเราจึงควร [ไม่ได้ยิน] บูล 397 00:20:37,765 --> 00:20:43,000 398 00:20:43,000 --> 00:20:43,660 ตกลง 399 00:20:43,660 --> 00:20:45,725 ดังนั้นแปล 400 00:20:45,725 --> 00:20:47,146 >> ผู้ชม: [ไม่ได้ยิน] 401 00:20:47,146 --> 00:20:48,318 >> ลำโพง 1: โอ้ขอบคุณ 402 00:20:48,318 --> 00:20:49,572 ใช่ 403 00:20:49,572 --> 00:20:52,834 นี่คือเหตุผลที่ฉันมีพวกคุณ 404 00:20:52,834 --> 00:20:53,810 Int n 405 00:20:53,810 --> 00:20:54,310 สมบูรณ์ 406 00:20:54,310 --> 00:20:56,590 เพราะเรากำลังวาง บางสิ่งบางอย่างเพื่อสแต็คของเรา 407 00:20:56,590 --> 00:20:58,750 เราจริงต้องมีหมายเลขบาง 408 00:20:58,750 --> 00:20:59,250 ตกลง 409 00:20:59,250 --> 00:21:05,669 >> ดังนั้นเพียงแค่การที่บรรทัดสุดท้ายว่า พวกเขาให้เราชนิดของกรณีมุมของเรา 410 00:21:05,669 --> 00:21:06,960 สิ่งที่คุณคิดว่าเรามีที่นี่? 411 00:21:06,960 --> 00:21:08,730 เห็นได้ชัดว่าเรากำลังจะมีถ้าบาง 412 00:21:08,730 --> 00:21:09,520 ตกลง 413 00:21:09,520 --> 00:21:14,380 ดังนั้นเราจึงกล่าวว่าหากสแต็คของเราคือ เต็มรูปแบบหรือถ้า n เป็นลบ 414 00:21:14,380 --> 00:21:18,850 ดังนั้นอาจจะง่ายที่สุดในการเริ่มต้น ด้วยดังนั้นถ้า n เป็นน้อยกว่า 0 415 00:21:18,850 --> 00:21:23,960 or-- จำที่ดีของคุณ และและหรือผู้ประกอบการที่มี 416 00:21:23,960 --> 00:21:27,340 >> วิธีการที่เราจะตรวจสอบเพื่อ ดูว่าสแต็คของเราจะเต็มไปด้วย? 417 00:21:27,340 --> 00:21:28,368 เกิดอะไรขึ้น? 418 00:21:28,368 --> 00:21:30,080 >> ผู้ชม: ขนาดความจุเท่ากัน 419 00:21:30,080 --> 00:21:30,871 >> ลำโพง 1: แน่นอน 420 00:21:30,871 --> 00:21:35,430 421 00:21:35,430 --> 00:21:36,817 สมบูรณ์ 422 00:21:36,817 --> 00:21:37,316 ตกลง 423 00:21:37,316 --> 00:21:40,672 และสิ่งที่เราต้องการจะทำที่นั่น? 424 00:21:40,672 --> 00:21:41,740 >> ผู้ชม: กลับเท็จ 425 00:21:41,740 --> 00:21:43,990 >> ลำโพง 1: กลับเท็จ 426 00:21:43,990 --> 00:21:44,960 สมบูรณ์ 427 00:21:44,960 --> 00:21:47,000 ดังนั้นครึ่งหนึ่งมีใช่มั้ย? 428 00:21:47,000 --> 00:21:50,370 อย่างน้อยที่สุดพวกคุณ จะมีครึ่งหนึ่งของนี้ 429 00:21:50,370 --> 00:21:53,280 ดังนั้นขอให้คิดเกี่ยวกับเรื่องนี้ 430 00:21:53,280 --> 00:21:57,100 431 00:21:57,100 --> 00:21:59,030 >> ดังนั้นนี่คือสแต็คที่เราเริ่มต้นด้วย 432 00:21:59,030 --> 00:22:02,340 เรากำลังพยายามที่จะนำ องค์ประกอบบางอย่างเกี่ยวกับที่นี่ 433 00:22:02,340 --> 00:22:05,580 >> เรามีขนาดที่ เท่ากับ 2 ในขณะนี้ 434 00:22:05,580 --> 00:22:09,060 เรามีกำลังการผลิตที่เท่ากับ 5 435 00:22:09,060 --> 00:22:13,470 และขอบอกว่าเรามี n บางอย่างที่เท่ากับ 3 436 00:22:13,470 --> 00:22:18,170 ดังนั้นเราจึงจำเป็นที่จะใส่ลงใน 3 พื้นที่นี้ 437 00:22:18,170 --> 00:22:22,320 และเราต้องใส่มันลงไปในดัชนี 2 438 00:22:22,320 --> 00:22:22,820 ใช่มั้ย? 439 00:22:22,820 --> 00:22:31,730 440 00:22:31,730 --> 00:22:35,130 >> ดังนั้นวิธีที่เราอาจจะทำเช่นนี้? 441 00:22:35,130 --> 00:22:46,580 พยายามที่จะ assign-- เรา ต้องการเข้าถึงอาร์เรย์ของเรา 442 00:22:46,580 --> 00:22:49,300 ดังนั้น stack.numbers 443 00:22:49,300 --> 00:22:52,932 แต่สิ่งที่จะ indice เราอยากให้เรื่องนี้เป็นอย่างไร 444 00:22:52,932 --> 00:22:54,408 >> ผู้ชม: [ไม่ได้ยิน] 445 00:22:54,408 --> 00:22:56,806 >> ลำโพง 1: ใช่ 446 00:22:56,806 --> 00:22:57,305 Stack.size 447 00:22:57,305 --> 00:23:02,720 448 00:23:02,720 --> 00:23:04,830 และเราต้องการที่จะ n เท่ากันใช่มั้ย? 449 00:23:04,830 --> 00:23:05,752 >> ผู้ชม: [ไม่ได้ยิน] 450 00:23:05,752 --> 00:23:07,710 ลำโพง 1: ฉันเป็นจริง เพียงแค่มองที่ว่า 451 00:23:07,710 --> 00:23:09,865 ผมคิดว่าเป็นสิ่งที่ผิด 452 00:23:09,865 --> 00:23:14,564 >> ผู้ชม: คุณไม่ต้องการ พื้นที่ที่ผ่านมาขนาดปัจจุบัน? 453 00:23:14,564 --> 00:23:18,842 >> ลำโพง 1: ดีถ้าเราดูที่นี่ ขนาดของเราที่จุดนี้คือ 2 454 00:23:18,842 --> 00:23:25,600 เราอยากให้มันไปเป็นดัชนีที่ 2 เพราะนี่คือด้านบนของสแต็คของเรา 455 00:23:25,600 --> 00:23:29,480 ดังนั้นผมจะบอกว่ามัน ควรจะ stack.size, 456 00:23:29,480 --> 00:23:32,380 และจากนั้นคุณจะเพิ่มขึ้น stack.size 457 00:23:32,380 --> 00:23:33,820 ทุกคนไม่เห็นด้วย? 458 00:23:33,820 --> 00:23:35,780 ผมคิดว่าผมเห็นด้วยกับที่ 459 00:23:35,780 --> 00:23:38,180 พวกคุณสามารถยืนยัน กับฉันถ้าคุณต้องการ 460 00:23:38,180 --> 00:23:40,078 หรือไม่เถียง แต่เราสามารถปรึกษาเรื่องนี้ 461 00:23:40,078 --> 00:23:42,518 >> ผู้ชม: [ไม่ได้ยิน] 462 00:23:42,518 --> 00:23:47,650 >> ลำโพง 1: MM-HM, เป็นที่ที่มันเป็น เปิดเพราะเป็นศูนย์การจัดทำดัชนี 463 00:23:47,650 --> 00:23:50,027 ดังนั้นในขณะที่ในส่วนแรก ผมคิดว่าพวกเขามีความผิด 464 00:23:50,027 --> 00:23:53,910 และพวกเขามีสิทธิในความเป็นจริงนี้ ส่วนที่จริงผมคิดว่าพวกเขาคิดผิด 465 00:23:53,910 --> 00:23:55,990 ผมจะบอกว่าคุณควร การป้อนข้อมูลได้ที่นี่แน่นอน 466 00:23:55,990 --> 00:23:58,540 ผมคิดว่าเราทุกคนยอมรับ เรามีขนาดของ 2 467 00:23:58,540 --> 00:24:01,480 นั่นคือสิ่งที่เรา ต้องการให้หมายเลขใหม่ของเราที่จะไป 468 00:24:01,480 --> 00:24:05,120 ดังนั้น stack.numbers ที่ stack.size ควรเท่ากับ n 469 00:24:05,120 --> 00:24:09,510 แล้วเราจะ เพิ่ม stack.size 470 00:24:09,510 --> 00:24:11,099 ++ 471 00:24:11,099 --> 00:24:12,390 และแล้วสิ่งที่เราต้องการจะทำอย่างไร 472 00:24:12,390 --> 00:24:17,400 มีสิ่งหนึ่งที่สุดท้ายที่เราจะต้องเป็น ทำอย่างไรถ้าเราใส่ประสบความสำเร็จในเรื่องนี้? 473 00:24:17,400 --> 00:24:19,190 กลับจริง 474 00:24:19,190 --> 00:24:20,071 และตอนนี้คุณกำลังทำ 475 00:24:20,071 --> 00:24:23,440 476 00:24:23,440 --> 00:24:27,765 ดังนั้นผมจึงรู้สึกเหมือนมันเป็นลบทั้งหมด ลบ stack.size และ stack.size ++ ที่ 477 00:24:27,765 --> 00:24:29,440 สิ่ง messed ขึ้น 478 00:24:29,440 --> 00:24:29,940 ฮึ 479 00:24:29,940 --> 00:24:34,400 ฉัน keep-- ฉันมีเข่าเหวี่ยงนี้ แนวโน้มที่จะตีเสมอ 480 00:24:34,400 --> 00:24:38,060 การควบคุม, S, เพราะผมไม่เคย ต้องการที่จะสูญเสียใด ๆ ของการทำงานของฉัน 481 00:24:38,060 --> 00:24:39,670 แต่ผมไม่จำเป็นต้องทำอย่างนั้นในขณะนี้ 482 00:24:39,670 --> 00:24:40,170 ตกลง 483 00:24:40,170 --> 00:24:41,650 เพื่อให้ได้รับการสแต็ค 484 00:24:41,650 --> 00:24:44,460 485 00:24:44,460 --> 00:24:46,300 เย็น 486 00:24:46,300 --> 00:24:48,970 >> มีอะไร? 487 00:24:48,970 --> 00:24:51,220 พวกคุณไม่พบใด ๆ คำถามอื่น ๆ ที่คุณต้องการ 488 00:24:51,220 --> 00:24:52,810 ชอบที่จะไปจากแบบทดสอบก่อนหน้าหรือไม่ 489 00:24:52,810 --> 00:24:57,660 ถ้าไม่ได้เราสามารถชนิดของการเริ่มต้นการพูดคุย ผ่านการทดสอบหนึ่งจากปีที่แล้ว 490 00:24:57,660 --> 00:24:58,160 ใช่ 491 00:24:58,160 --> 00:25:00,035 >> ผู้ชม: สำหรับครั้งแรก ส่วนผมไม่ได้จริงๆ 492 00:25:00,035 --> 00:25:02,438 เข้าใจว่าคุณลบหมายเลข 493 00:25:02,438 --> 00:25:03,600 ไม่ได้ก็ยังมี? 494 00:25:03,600 --> 00:25:05,100 >> ลำโพง 1: จำนวนยังคงมี 495 00:25:05,100 --> 00:25:11,350 แต่สิ่งที่เกิดขึ้นคือเพราะคุณได้ บอกว่าด้านบนของสแต็คของคุณ 496 00:25:11,350 --> 00:25:16,180 อยู่ที่นี่เมื่อคุณไปเพื่อเพิ่มบางสิ่งบางอย่าง บนสแต็คมันก็จะเปลี่ยนไป 497 00:25:16,180 --> 00:25:17,084 >> ผู้ชม: โอ้ตกลง 498 00:25:17,084 --> 00:25:17,750 ลำโพง 1: ใช่ 499 00:25:17,750 --> 00:25:21,334 ดังนั้นจึงเป็นเหมือนเขาลืมและก็มี ประเภทของสิ่งแม้ว่าจะมี 500 00:25:21,334 --> 00:25:22,750 ผู้ชม: [ไม่ได้ยิน] หรืออะไร? 501 00:25:22,750 --> 00:25:23,333 ลำโพง 1: เลขที่ 502 00:25:23,333 --> 00:25:25,090 เพราะเราอยู่ใน อาร์เรย์คุณไม่ได้ 503 00:25:25,090 --> 00:25:28,850 กังวล about-- คุณจะเพียงแค่ แทนที่มันเมื่อคุณจำเป็นต้องใช้มัน 504 00:25:28,850 --> 00:25:30,560 สิทธิ์ทั้งหมด 505 00:25:30,560 --> 00:25:31,560 คำถามใด ๆ ที่อื่น ๆ ? 506 00:25:31,560 --> 00:25:34,843 ถ้าไม่ได้เราก็จะ ที่จะเริ่มต้นการทำงานผ่าน 507 00:25:34,843 --> 00:25:35,343 ใช่ 508 00:25:35,343 --> 00:25:40,905 >> ผู้ชม: ดีคนนี้เป็นในปี 2013 แต่เพิ่งจะผ่านสิ่ง SQL 509 00:25:40,905 --> 00:25:41,530 ลำโพง 1: SQL? 510 00:25:41,530 --> 00:25:42,030 ตกลง 511 00:25:42,030 --> 00:25:45,290 512 00:25:45,290 --> 00:25:46,925 ดังนั้นนี่คือ 26 ผ่าน 29 513 00:25:46,925 --> 00:25:47,550 ผู้ชม: ใช่ 514 00:25:47,550 --> 00:25:48,120 ลำโพง 1: ตกลง 515 00:25:48,120 --> 00:25:48,620 น่ารัก 516 00:25:48,620 --> 00:25:50,230 ลองดึงเหล่านั้นขึ้น 517 00:25:50,230 --> 00:25:57,560 518 00:25:57,560 --> 00:25:59,506 โอ้ดู 519 00:25:59,506 --> 00:26:02,180 พวกคุณเพลิดเพลินไปกับสตีฟ Ballmer พูดคุยโดยวิธี? 520 00:26:02,180 --> 00:26:06,350 มันเป็นเฮฮาสวยในความคิดของฉัน 521 00:26:06,350 --> 00:26:09,930 ฉันรักที่ทุกครั้งที่ผมนำมาขึ้นของ CS50 เว็บไซต์ในช่วงส่วนก็เหมือนโอ้ 522 00:26:09,930 --> 00:26:10,730 ส่วนนาฬิกา 523 00:26:10,730 --> 00:26:11,575 และฉันชอบ, มม 524 00:26:11,575 --> 00:26:13,100 >> ผู้ชม: เราสามารถทำมันได้หรือไม่ 525 00:26:13,100 --> 00:26:15,060 >> ลำโพง 1: เราจะทำมันในตอนท้าย 526 00:26:15,060 --> 00:26:15,560 ที่ได้อย่างไร? 527 00:26:15,560 --> 00:26:17,476 เพราะฉันรู้ว่าพวกคุณ มีเสมอต้องการ 528 00:26:17,476 --> 00:26:18,573 ดังนั้นเราจะทำมันในตอนท้าย 529 00:26:18,573 --> 00:26:21,884 530 00:26:21,884 --> 00:26:22,800 หนึ่งคำถาม 531 00:26:22,800 --> 00:26:24,502 >> ผู้ชม: [ไม่ได้ยิน] 532 00:26:24,502 --> 00:26:25,960 ลำโพง 1: มันจะเป็นส่วนเมตา 533 00:26:25,960 --> 00:26:27,332 ผู้ชม: มันเหมือน 5 วินาที 534 00:26:27,332 --> 00:26:28,805 ผู้ชม: จริงเหรอ? 535 00:26:28,805 --> 00:26:30,567 ผู้ชม: มันเหมือนกับ 20 วินาที 536 00:26:30,567 --> 00:26:33,260 [interposing VOICES] 537 00:26:33,260 --> 00:26:35,756 [หัวเราะ] 538 00:26:35,756 --> 00:26:35,931 539 00:26:35,931 --> 00:26:37,680 ลำโพง 1: ฉันชอบที่ คุณได้ทำมาแล้ว 540 00:26:37,680 --> 00:26:40,130 มันซึ่งเป็นสิ่งที่ทำให้ฉันมีความสุขมาก 541 00:26:40,130 --> 00:26:42,340 ตกลง 542 00:26:42,340 --> 00:26:42,840 26 543 00:26:42,840 --> 00:26:43,340 ตกลง 544 00:26:43,340 --> 00:26:46,050 545 00:26:46,050 --> 00:26:48,930 ที่จริงเรากำลังจะ กระจกในตอนนี้เพราะผมไม่สามารถ 546 00:26:48,930 --> 00:26:49,640 นี้เป็นที่น่ารำคาญ 547 00:26:49,640 --> 00:26:56,200 548 00:26:56,200 --> 00:26:56,700 ตกลง 549 00:26:56,700 --> 00:27:00,254 ตอนนี้ฉันสามารถเห็นทุกอย่าง 550 00:27:00,254 --> 00:27:01,230 น่ารัก 551 00:27:01,230 --> 00:27:02,500 ตกลง 552 00:27:02,500 --> 00:27:07,300 >> ดังนั้นเห็นได้ชัดนี้ควรนำกลับมา ความทรงจำที่ดีจาก [? CSG?] การเงิน 553 00:27:07,300 --> 00:27:09,090 ครึ่งหนึ่งของคุณเกี่ยวกับคุณได้อย่างช้า ๆ ในขณะนี้ 554 00:27:09,090 --> 00:27:13,370 อีกครึ่งหนึ่งที่ฉันจะได้รับ มากเร็ว ๆ นี้ผมสัญญา 555 00:27:13,370 --> 00:27:17,110 >> ดังนั้นเราจึงมีตาราง SQL บาง ที่บัญชีที่นี่ 556 00:27:17,110 --> 00:27:19,830 อาจจะคล้ายกับ พวกของตารางผู้ใช้ 557 00:27:19,830 --> 00:27:22,350 และเรามีตัวเลขบางอย่าง ที่เป็นคีย์หลัก 558 00:27:22,350 --> 00:27:24,750 และแสดงให้เห็นถึง เลขที่บัญชี 12 หลัก 559 00:27:24,750 --> 00:27:27,140 และความสมดุลเป็นเท่าใดเงินที่พวกเขามี 560 00:27:27,140 --> 00:27:30,530 และค่าเริ่มต้นคือ 100 561 00:27:30,530 --> 00:27:33,470 และพวกเขาให้พวกเขา 100 $ ใด ๆ เวลาที่พวกเขาเปิดบัญชี 562 00:27:33,470 --> 00:27:36,132 ฉันหวังว่าธนาคารของฉันไม่ว่า 563 00:27:36,132 --> 00:27:37,710 ตกลง 564 00:27:37,710 --> 00:27:41,110 >> ดังนั้นเราจึงต้องการแผนการให้เสร็จสมบูรณ์โดย ระบุต่อไปยังหมายเลขในสมดุล 565 00:27:41,110 --> 00:27:43,900 ชนิดที่เหมาะสม SQL 566 00:27:43,900 --> 00:27:50,240 ดังนั้นสิ่งที่พวกคุณคิดว่าจะเป็น ชนิดเช่นปฏิกิริยาเข่าเหวี่ยงของคุณ 567 00:27:50,240 --> 00:27:51,380 ชนิดสำหรับทั้งสอง? 568 00:27:51,380 --> 00:27:52,180 >> ผู้ชม: Int 569 00:27:52,180 --> 00:27:53,450 >> ลำโพง 1: int 570 00:27:53,450 --> 00:27:54,230 ตกลง 571 00:27:54,230 --> 00:27:57,490 และจากนั้นก็เพื่อความสมดุลหรือไม่? 572 00:27:57,490 --> 00:27:57,990 ทศนิยม 573 00:27:57,990 --> 00:27:58,490 ตกลง 574 00:27:58,490 --> 00:27:59,830 ดังนั้นตอนทศนิยมของ 575 00:27:59,830 --> 00:28:01,450 Int อยู่ใกล้ 576 00:28:01,450 --> 00:28:08,610 ชนิดของสิ่งที่ใหญ่เป็นแบบนี้ ขีดเส้นใต้เลขที่บัญชี 12 หลัก 577 00:28:08,610 --> 00:28:11,460 เมื่อใดก็ตามที่เรามีบางสิ่งบางอย่าง ที่มีขนาดใหญ่กว่าตัวเลขแปดหลัก, 578 00:28:11,460 --> 00:28:15,522 พวกเขาต้องการให้คุณใช้ขนาดใหญ่ int ซึ่งผมคิดว่าเป็นเท่าไหร่ 579 00:28:15,522 --> 00:28:18,370 580 00:28:18,370 --> 00:28:21,605 >> ผู้ชม: นั่นคือเพียงแค่ SQL? 581 00:28:21,605 --> 00:28:27,290 >> ลำโพง 1: มันเป็นครั้งเดียวที่ผมเคยได้ยิน ของมันก็คือ SQL-- เช่นการใช้ int ใหญ่ 582 00:28:27,290 --> 00:28:29,330 มันเป็นเพียงเพื่อให้คุณ เล็ก ๆ น้อย ๆ ที่มีความแม่นยำมากขึ้น 583 00:28:29,330 --> 00:28:33,070 ทำให้แน่ใจว่าคุณไม่ได้ สิ่งที่ล้นชนิด 584 00:28:33,070 --> 00:28:35,910 ในความซื่อสัตย์สุจริตทุกฉันคิดว่านี่ เป็นมั่นเหมาะหนึ่งของคนที่ 585 00:28:35,910 --> 00:28:38,480 ที่มันเหมือนโอ้ มันมีความหมายสำหรับคน 586 00:28:38,480 --> 00:28:41,090 ที่มีความรู้เล็ก ๆ น้อย ๆ ของ SQL 587 00:28:41,090 --> 00:28:44,710 เราไม่เคยพูดคุยเกี่ยวกับ ints ใหญ่ใน PSET ของคุณ 588 00:28:44,710 --> 00:28:48,210 ดังนั้นจึงเป็นชนิดเช่นฉันแน่ใจว่าสวย ถ้าคุณใส่ int มันเป็นเครดิตครึ่ง 589 00:28:48,210 --> 00:28:51,450 >> และที่ผมกล่าวว่าก่อนที่จะมีไป จะเป็นคำถามที่เป็นเพียง 590 00:28:51,450 --> 00:28:55,550 หมายถึงการเดินทางที่คุณขึ้นดังนั้น ที่ทุกคนไม่ได้รับ 100 591 00:28:55,550 --> 00:28:58,326 เพราะแน่นอนว่ายังมี มีบางคนใน CS50 592 00:28:58,326 --> 00:29:00,950 ที่ได้รับการทำเช่นนี้เหมือน แปดปีและคุณต้องการ, 593 00:29:00,950 --> 00:29:01,741 สิ่งที่คุณกำลังทำอะไรอยู่? 594 00:29:01,741 --> 00:29:03,290 แต่ใช่ 595 00:29:03,290 --> 00:29:05,650 >> ทศนิยมเพื่อความสมดุลเป็นคนที่เห็นได้ชัด 596 00:29:05,650 --> 00:29:10,910 และ int ใหญ่แล้วสำหรับจำนวนเพียงเพราะ ของที่ชอบขีดเส้นใต้ 12 หลัก 597 00:29:10,910 --> 00:29:16,760 เมื่อใดก็ตามสิ่งที่เป็นตัวหนาหรือเป็น ขีดเส้นใต้เช่นให้ความสนใจกับมัน 598 00:29:16,760 --> 00:29:18,940 เราไม่ได้ทำอย่างนั้นเพียงเพราะ 599 00:29:18,940 --> 00:29:20,290 ตกลง 600 00:29:20,290 --> 00:29:24,400 >> ดังนั้น "คิดว่าธนาคารเรียกเก็บ ค่าบริการรายเดือน $ 20 ในบัญชีทั้งหมด 601 00:29:24,400 --> 00:29:27,850 กับสิ่งที่แบบสอบถามสามารถธนาคาร หักค่าใช้จ่าย $ 20 จากทุกบัญชี 602 00:29:27,850 --> 00:29:31,490 ถึงแม้ว่ามันจะเป็นผลมาจาก บางยอดเชิงลบได้อย่างไร " 603 00:29:31,490 --> 00:29:35,220 เพื่อขอเริ่มต้นง่ายๆ 604 00:29:35,220 --> 00:29:39,240 เรามีสี่คำสั่งหลัก สำหรับ SQL ซึ่งเป็น? 605 00:29:39,240 --> 00:29:42,620 พวกคุณจำสี่ คนใหญ่ที่ผมบอกคุณ? 606 00:29:42,620 --> 00:29:45,710 >> ปรับปรุงลบ SELECT และ INSERT 607 00:29:45,710 --> 00:29:46,430 สมบูรณ์ 608 00:29:46,430 --> 00:29:46,930 ได้รับมัน 609 00:29:46,930 --> 00:29:52,910 ดังนั้นสิ่งที่เราคิดว่าอาจจะ จะเป็นประโยชน์มากที่สุดสำหรับคนนี้? 610 00:29:52,910 --> 00:29:54,231 เรา are-- UPDATE 611 00:29:54,231 --> 00:29:54,730 อย่างแน่นอน 612 00:29:54,730 --> 00:29:59,330 ดังนั้นการปรับปรุงเพราะเรากำลังมองหา ที่บัญชีที่มีอยู่แล้ว 613 00:29:59,330 --> 00:30:03,570 >> ดังนั้นจำทั่วไปของเรา เรียงลำดับของสิ่งคือการปรับปรุง 614 00:30:03,570 --> 00:30:06,300 และแล้วสิ่งที่เกิดขึ้นหลังจากการปรับปรุง? 615 00:30:06,300 --> 00:30:09,780 เรามีตารางบาง ที่เรากำลังอ้างอิง 616 00:30:09,780 --> 00:30:17,130 ดังนั้นถ้าผมดึงขึ้น UPDATE งามเหมือนเดิม 617 00:30:17,130 --> 00:30:18,820 ดังนั้นนี่คือรูปแบบทั่วไป 618 00:30:18,820 --> 00:30:20,800 ดังนั้นเราจึงมีตาราง UPDATE 619 00:30:20,800 --> 00:30:23,203 และแล้วสิ่งที่เป็นสิ่งต่อไปที่เรามี? 620 00:30:23,203 --> 00:30:26,230 >> คุณสามารถทำอะไรที่ไหน 621 00:30:26,230 --> 00:30:30,530 แล้วเรามีรอบคัดเลือกบางอย่างที่นี่ 622 00:30:30,530 --> 00:30:32,300 และเราแล้วสิ่งที่จะมีต่อไปหรือไม่ 623 00:30:32,300 --> 00:30:38,020 เรามีบางสิ่งบางอย่างถึงตรง เท่ากับบางสิ่งบางอย่าง 624 00:30:38,020 --> 00:30:38,870 blah blah เท่ากับ 625 00:30:38,870 --> 00:30:41,859 626 00:30:41,859 --> 00:30:42,400 Updated blah 627 00:30:42,400 --> 00:30:45,655 628 00:30:45,655 --> 00:30:47,050 ใช่มั้ย? 629 00:30:47,050 --> 00:30:52,280 เพื่อให้เป็นเหมือนทั่วไป ความคิดสำหรับการปรับปรุงบางส่วน 630 00:30:52,280 --> 00:30:53,060 OK? 631 00:30:53,060 --> 00:30:56,890 >> เพื่อขอเริ่มต้นกรอกนี้ ในกับสิ่งที่มันควรจะเป็น 632 00:30:56,890 --> 00:30:59,640 ดังนั้นสิ่งที่โต๊ะที่เราพูดถึง? 633 00:30:59,640 --> 00:31:02,190 บัญชี 634 00:31:02,190 --> 00:31:05,360 และแล้วในกรณีนี้ สิ่งที่เจ๋งจริงๆ 635 00:31:05,360 --> 00:31:08,620 คือเรากำลังพูดถึงเฉพาะ ผู้ใช้ในบัญชีของเรา 636 00:31:08,620 --> 00:31:11,240 หรือที่เราพูดคุยเกี่ยวกับผู้ใช้ทั้งหมดหรือไม่ 637 00:31:11,240 --> 00:31:12,490 เรากำลังพูดถึงผู้ใช้ทุกคน 638 00:31:12,490 --> 00:31:16,870 ดังนั้นในกรณีที่เราสามารถทำได้เพียงแค่ ลบรอบคัดเลือก WHERE 639 00:31:16,870 --> 00:31:20,500 ที่เป็นเพียงเมื่อคุณต้องการ เพื่อ จำกัด สิ่งที่คุณกำลังจะเปลี่ยน 640 00:31:20,500 --> 00:31:23,500 ถ้าคุณต้องการที่จะเปลี่ยนทั้งหมด โต๊ะคุณก็สามารถวางที่ 641 00:31:23,500 --> 00:31:27,390 642 00:31:27,390 --> 00:31:27,960 ตกลง 643 00:31:27,960 --> 00:31:29,430 >> ดังนั้นตอนนี้เราอยู่ที่ส่วนตลาดหลักทรัพย์ของเรา 644 00:31:29,430 --> 00:31:31,514 เราทำอะไรต้องการที่จะเปลี่ยน? 645 00:31:31,514 --> 00:31:33,502 >> ผู้ชม: ยอดคงเหลือ 646 00:31:33,502 --> 00:31:34,747 >> ลำโพงที่ 1: ยอด 647 00:31:34,747 --> 00:31:37,080 และเรากำลังจะ to-- เป็นอย่างไร เราจะเปลี่ยนความสมดุล? 648 00:31:37,080 --> 00:31:40,230 649 00:31:40,230 --> 00:31:43,370 เรามีค่าธรรมเนียม $ 20 ใช่มั้ย? 650 00:31:43,370 --> 00:31:45,210 ลบ 20 651 00:31:45,210 --> 00:31:48,130 และพวกเขาบอกว่ามันก็โอเคถ้า เรามียอดเชิงลบ 652 00:31:48,130 --> 00:31:51,630 ดังนั้นในกรณีนี้คุณไม่จำเป็นต้อง ที่จะทำการตรวจสอบข้อผิดพลาดใด ๆ เพิ่มเติม 653 00:31:51,630 --> 00:31:53,040 OK? 654 00:31:53,040 --> 00:31:56,130 นั่นคือตัวอักษรทั้งหมดที่คุณต้องทำ 655 00:31:56,130 --> 00:31:57,990 เย็น? 656 00:31:57,990 --> 00:31:59,260 ตกลง 657 00:31:59,260 --> 00:32:01,460 >> ดังนั้นขอให้ผ่านไปที่หน้าหนึ่ง 658 00:32:01,460 --> 00:32:04,510 "กับสิ่งที่สามารถทำได้แบบสอบถาม SQL ธนาคารเรียกหมายเลขบัญชี 659 00:32:04,510 --> 00:32:08,300 ของลูกค้าที่ร่ำรวยที่สุดด้วย สมดุลมากขึ้นกว่า $ 1,000? " 660 00:32:08,300 --> 00:32:11,820 หากธนาคารและลูกค้าที่ร่ำรวยที่สุดของคุณ เป็นเพียงคนที่มีมากกว่า $ 1,000 661 00:32:11,820 --> 00:32:14,130 ฉันรู้สึกเหมือนคุณ ทำอะไรผิดพลาด 662 00:32:14,130 --> 00:32:16,080 เช่นเดียวกับวิธีการเอาตัวรอดของธนาคารไม่ว่า? 663 00:32:16,080 --> 00:32:18,930 เช่นเดียวกับดอกเบี้ยที่ไม่มากพอ 664 00:32:18,930 --> 00:32:20,911 ตกลง 665 00:32:20,911 --> 00:32:23,660 ด้วยการเรียงลำดับของสิ่งนี้สิ่งที่ทำ ที่คุณคิดว่าสี่ฟังก์ชั่นของเรา 666 00:32:23,660 --> 00:32:25,970 คุณคิดว่าเรากำลังจะใช้งานหรือไม่ 667 00:32:25,970 --> 00:32:27,048 SELECT 668 00:32:27,048 --> 00:32:27,548 สมบูรณ์ 669 00:32:27,548 --> 00:32:31,300 670 00:32:31,300 --> 00:32:32,460 SELECT 671 00:32:32,460 --> 00:32:33,300 ตกลง 672 00:32:33,300 --> 00:32:40,150 ดังนั้นเราเลือกบาง ระบุจากตาราง 673 00:32:40,150 --> 00:32:44,070 และแล้ว WHERE สภาพ 674 00:32:44,070 --> 00:32:46,110 ดังนั้นในขณะที่เราผ่านไป เหล่านี้ฉันแค่ไป 675 00:32:46,110 --> 00:32:49,680 ที่จะให้พวกคุณทบทวนทั่วไป ในรูปแบบทั่วไปของสิ่งเหล่านี้ 676 00:32:49,680 --> 00:32:54,600 >> ดังนั้นเราเลือกการจัดเรียงบาง ของ [? สิ่ง ?] ในกรณีนี้ 677 00:32:54,600 --> 00:32:59,050 นี้เป็นไปได้ โดยทั่วไปจะมีบางคอลัมน์ 678 00:32:59,050 --> 00:33:02,870 ดังนั้นในกรณีของเราเรามีจำนวนสมดุล 679 00:33:02,870 --> 00:33:06,020 ในกรณีที่พวกคุณอาจจะ มันเป็น ID ชื่อรหัสผ่าน 680 00:33:06,020 --> 00:33:10,760 คอลัมน์ใด ๆ เหล่านั้นว่าเป็น โดยทั่วไปสิ่งที่เรากำลังเลือก 681 00:33:10,760 --> 00:33:14,785 >> ดังนั้นในกรณีนี้ที่นี่ซึ่ง ชนิดของคอลัมน์สิ่งที่ระบุ 682 00:33:14,785 --> 00:33:17,700 เราจะดึงจากตารางของเราหรือไม่ 683 00:33:17,700 --> 00:33:21,020 มันจะมีอะไรขอให้เราหรือไม่? 684 00:33:21,020 --> 00:33:24,510 มันขอให้เราสำหรับตัวเลขของเราใช่มั้ย? 685 00:33:24,510 --> 00:33:26,236 เลขที่บัญชี 686 00:33:26,236 --> 00:33:30,500 ดังนั้นจำเพียงตัวเลขในกรณีนี้ 687 00:33:30,500 --> 00:33:33,910 ถ้าพวกคุณเคยมีข้อผิดพลาดที่ กล่องสีส้มสดใสจะเกิดขึ้น 688 00:33:33,910 --> 00:33:37,040 และมันก็เป็นเช่นเดียวกับที่ไม่คาดคิด แถวในเช่นเดียวกับสิ่งที่ 689 00:33:37,040 --> 00:33:39,840 นั่นเป็นเพราะคุณเรียกว่า ตารางของคุณผิดใช่ไหม 690 00:33:39,840 --> 00:33:43,660 เพื่อให้แน่ใจว่าคุณมี เรียกคอลัมน์ได้อย่างถูกต้อง 691 00:33:43,660 --> 00:33:48,670 >> ดังนั้นจากโต๊ะของเรา ที่เรียกว่าบัญชี 692 00:33:48,670 --> 00:33:51,460 อีกครั้งให้แน่ใจว่าคุณ อ้างอิงตารางของคุณได้อย่างถูกต้อง 693 00:33:51,460 --> 00:33:52,990 และแล้วสิ่งที่เป็นเงื่อนไขของเราที่นี่? 694 00:33:52,990 --> 00:33:55,672 สิ่งที่เรากำลังมองหา? 695 00:33:55,672 --> 00:33:56,680 เราต้องการคนที่อุดมไปด้วยของเรา 696 00:33:56,680 --> 00:33:57,180 ใช่ 697 00:33:57,180 --> 00:34:00,580 ดังนั้นความสมดุลมากกว่า 1,000 698 00:34:00,580 --> 00:34:02,020 มีคุณไป 699 00:34:02,020 --> 00:34:03,760 นั่นเป็นคำค้นหาของคุณ 700 00:34:03,760 --> 00:34:06,430 ไม่เลวร้ายเกินไปใช่มั้ย? 701 00:34:06,430 --> 00:34:07,160 ตกลง 702 00:34:07,160 --> 00:34:09,350 >> ดังนั้นตอนนี้สำหรับหนึ่งสุดท้ายของเรา 703 00:34:09,350 --> 00:34:11,370 กับที่เรากำลังมีลมผ่านได้ผ่าน 704 00:34:11,370 --> 00:34:12,170 ตกลง 705 00:34:12,170 --> 00:34:16,280 ดังนั้นตอนนี้ "กับสิ่งที่แบบสอบถามจะทำได้ ใกล้ธนาคารเช่นการลบ "- 706 00:34:16,280 --> 00:34:19,760 คุณไม่รักวิธีที่พวกเขา เพียงแค่ให้คุณ DELETE-- 707 00:34:19,760 --> 00:34:24,060 "บัญชีทุกคนที่มีความสมดุลของ 0?" 708 00:34:24,060 --> 00:34:26,899 ผมคิดว่าเราทุกคนสามารถยอมรับเรา อาจจะต้องใช้ลบ 709 00:34:26,899 --> 00:34:29,330 ฉันยินดีที่จะใช้ใด ๆ การอภิปรายรอบที่ 710 00:34:29,330 --> 00:34:33,560 แต่ฉันคิดว่ามันสวยปลอดภัยที่จะ บอกว่าเราสามารถใช้ลบ 711 00:34:33,560 --> 00:34:42,600 >> ดังนั้นเรากำลังจะลบบางส่วน ผู้ใช้จากตาราง WHERE สภาพ 712 00:34:42,600 --> 00:34:45,480 เรียงลำดับเดียวกันดังนั้นสิ่งที่เป็น SELECT 713 00:34:45,480 --> 00:34:48,389 714 00:34:48,389 --> 00:34:49,840 ดังนั้นใน case-- นี้โอ้ขอโทษ 715 00:34:49,840 --> 00:34:51,570 ฉันควรจะลบออกจาก 716 00:34:51,570 --> 00:34:54,320 เพราะจะลบ ลบทั้งแถว 717 00:34:54,320 --> 00:34:58,300 ดังนั้นเราจึงไม่จำเป็นที่จะพูดคุยเกี่ยวกับการที่ สิ่งที่เฉพาะเจาะจงเกี่ยวกับผู้ใช้เรา 718 00:34:58,300 --> 00:34:59,280 ลบ 719 00:34:59,280 --> 00:35:02,870 ถ้าเราลบผู้ใช้เราไม่ ลบทุกอย่างเกี่ยวกับพวกเขา 720 00:35:02,870 --> 00:35:07,230 >> ดังนั้นในกรณีนี้เราก็ต้อง กรอกข้อมูลลงในสถานที่และเงื่อนไขของเรา 721 00:35:07,230 --> 00:35:13,050 ดังนั้นตารางของเราเป็นเพียงบัญชีของเรา ตารางที่เราเคยทำ 722 00:35:13,050 --> 00:35:14,931 และแล้วสิ่งที่เป็นเงื่อนไขของเราที่นี่? 723 00:35:14,931 --> 00:35:16,655 >> ผู้ชม: ยอดคงเหลือ 724 00:35:16,655 --> 00:35:18,330 >> ลำโพงที่ 1: ยอดเท่ากับ 0 725 00:35:18,330 --> 00:35:19,401 ถูกต้อง 726 00:35:19,401 --> 00:35:19,900 ทั้งหมดที่ดี 727 00:35:19,900 --> 00:35:20,322 ใช่ 728 00:35:20,322 --> 00:35:21,238 >> ผู้ชม: [ไม่ได้ยิน] 729 00:35:21,238 --> 00:35:25,745 730 00:35:25,745 --> 00:35:30,530 >> ลำโพง 1: ดังนั้นลบ โดยเนื้อแท้ลบทุกอย่าง 731 00:35:30,530 --> 00:35:42,380 ดังนั้นในขณะที่มีการเลือกเลือกใช้เวลาใน คอลัมน์บางอย่างที่คุณต้องการกลับมา 732 00:35:42,380 --> 00:35:46,680 หากคุณต้องการทุกอย่างเกี่ยวกับ ผู้ใช้กลับมาที่คุณใช้ดาว 733 00:35:46,680 --> 00:35:49,040 สตาร์กล่าวว่ากลับมาหาเรา ทุกอย่างจากผู้ใช้นี้ 734 00:35:49,040 --> 00:35:54,430 หรือถ้าคุณใส่ WHERE ดาวที่ หมายถึงเพียงแค่ให้ฉันทุกอย่าง 735 00:35:54,430 --> 00:35:56,520 >> แต่โดยเนื้อแท้ DELETE มีว่า 736 00:35:56,520 --> 00:36:01,569 ดังนั้นถ้าคุณจะพูดว่าลบจาก บัญชีที่สมดุลเท่ากับ 0 737 00:36:01,569 --> 00:36:02,610 มันจะผ่านไป 738 00:36:02,610 --> 00:36:05,890 และทุกที่ที่มีความสมดุล เท่ากับ 0 ก็ไม่ว่าโดยเนื้อแท้ 739 00:36:05,890 --> 00:36:07,470 มันจะลบทุกอย่าง 740 00:36:07,470 --> 00:36:15,120 ดาว for-- เพิ่มเติม กับ SELECT หรือปรับปรุง 741 00:36:15,120 --> 00:36:20,320 ก็พูดคุยมากขึ้นเกี่ยวกับบุคคล สาขาที่สอดคล้องกับผู้ใช้ 742 00:36:20,320 --> 00:36:25,530 >> ดังนั้นเมื่อคุณเลือก ดาราจากตารางที่ id 743 00:36:25,530 --> 00:36:31,130 เท่ากับ 1, ที่ส่งกลับมาให้คุณ ทุกอย่างที่เกี่ยวกับผู้ใช้ที่มี ID 1 744 00:36:31,130 --> 00:36:38,980 ถ้าคุณได้ทำจำนวนเลือก หรือเลือกชื่อจุลภาค ID จากผู้ใช้ 745 00:36:38,980 --> 00:36:43,110 ที่ id เท่ากับ 1 ที่ เพียงแค่ส่งกลับจำนวนของพวกเขา 746 00:36:43,110 --> 00:36:44,880 หรือ ID ของพวกเขาและชื่อของพวกเขา 747 00:36:44,880 --> 00:36:45,540 OK? 748 00:36:45,540 --> 00:36:49,420 >> ดังนั้นเราจึงใช้ดาวในกรณีที่ ให้เราทุกอย่างที่เกี่ยวกับผู้ใช้ 749 00:36:49,420 --> 00:36:51,940 และลบโดยเนื้อแท้ไม่ว่า 750 00:36:51,940 --> 00:36:56,950 มันไม่เพียงแค่ลบ ID, หรือเพียงแค่ชื่อหรืออะไรก็ตาม 751 00:36:56,950 --> 00:36:57,550 ใช่ไม่ 752 00:36:57,550 --> 00:36:59,780 มันก็จะลบผู้ใช้ทั้งหมด 753 00:36:59,780 --> 00:37:05,210 ดังนั้นเราจึงไม่ต้องกังวล เกี่ยวกับดาวมี 754 00:37:05,210 --> 00:37:09,170 >> ถ้าคุณต้องการที่จะลบ ทุกสิ่งที่คุณสามารถทำเช่นนั้น 755 00:37:09,170 --> 00:37:11,970 และนี่ก็จะลดลงทุกอย่าง 756 00:37:11,970 --> 00:37:14,290 แต่โดยทั่วไปแล้วคุณ ไม่ต้องการที่จะทำเช่นนั้น 757 00:37:14,290 --> 00:37:16,940 แต่ถ้าคุณเคยต้องการที่จะลบ ทุกสิ่งที่คุณสามารถดำเนินการได้ 758 00:37:16,940 --> 00:37:18,890 ตกลง 759 00:37:18,890 --> 00:37:22,120 >> มีพวกคุณพบคำถามอื่น ๆ ? 760 00:37:22,120 --> 00:37:22,620 ใช่ 761 00:37:22,620 --> 00:37:24,316 >> ผู้ชม: คุณสามารถทำ 26? 762 00:37:24,316 --> 00:37:27,090 >> ลำโพง 1: 26 เราก็ไม่ได้ 763 00:37:27,090 --> 00:37:28,090 ผู้ชม: โอ้, 25, ขอโทษ 764 00:37:28,090 --> 00:37:30,721 ลำโพง 1: 25 765 00:37:30,721 --> 00:37:31,220 ตกลง 766 00:37:31,220 --> 00:37:31,870 25 767 00:37:31,870 --> 00:37:32,650 โอ้ 768 00:37:32,650 --> 00:37:33,691 พวกเขากำลังทำ JavaScript 769 00:37:33,691 --> 00:37:37,265 โอ้ฉันไม่สามารถเชื่อว่า 770 00:37:37,265 --> 00:37:38,765 ฉันจะไปยุ่งกับเราขึ้นมาอีกครั้งครับ 771 00:37:38,765 --> 00:37:42,180 772 00:37:42,180 --> 00:37:43,330 ตกลง 773 00:37:43,330 --> 00:37:44,440 เราได้รับนี้ 774 00:37:44,440 --> 00:37:46,172 เรากำลังจะทำให้งานนี้ 775 00:37:46,172 --> 00:37:48,190 Ah, jQuery 776 00:37:48,190 --> 00:37:49,380 สนุก 777 00:37:49,380 --> 00:37:49,880 ตกลง 778 00:37:49,880 --> 00:37:54,040 >> ดังนั้นเราจึงจะเสร็จสมบูรณ์ การดำเนินการของหน้าเว็บ 779 00:37:54,040 --> 00:37:57,820 ในลักษณะที่ว่าถ้าพวกเขาเยี่ยมชม ใส่ชื่อของพวกเขาและส่งแบบฟอร์ม 780 00:37:57,820 --> 00:38:03,810 พวกเขามีการแจ้งเตือนที่ดีนี้ หน้าต่างที่กำลังจะปรากฏ 781 00:38:03,810 --> 00:38:08,410 ดังนั้นสิ่งที่มีการแจ้งเตือนเรารู้ว่า เราจะต้องใช้ JavaScript 782 00:38:08,410 --> 00:38:11,190 ยาย, JavaScript 783 00:38:11,190 --> 00:38:14,070 และถ้าพวกเขาล้มเหลวในการป้อนข้อมูล ชื่อก่อนที่จะส่งแบบฟอร์ม 784 00:38:14,070 --> 00:38:15,110 ไม่มีการแจ้งเตือนจะปรากฏขึ้น 785 00:38:15,110 --> 00:38:17,900 ดังนั้นคุณจึงสามารถใช้ jQuery, แต่คุณจะได้ไม่ต้อง 786 00:38:17,900 --> 00:38:22,390 >> ดังนั้นฉันจะให้คุณสามารถทำงานคน เกี่ยวกับเรื่องนี้เพียงแค่สองสามนาที 787 00:38:22,390 --> 00:38:24,050 คิดเกี่ยวกับมัน 788 00:38:24,050 --> 00:38:26,050 และจากนั้นเราจะได้รหัสมัน 789 00:38:26,050 --> 00:38:29,260 790 00:38:29,260 --> 00:38:33,610 ฉะฉันกำลังจะลองและคิดว่า วิธีที่ดีที่สุดที่จะอธิบายคำตอบนี้กับคุณ 791 00:38:33,610 --> 00:38:49,945 792 00:38:49,945 --> 00:38:50,470 สิทธิ์ทั้งหมด 793 00:38:50,470 --> 00:38:53,150 เราจะรับมันติดตั้ง 794 00:38:53,150 --> 00:38:53,920 ตกลง 795 00:38:53,920 --> 00:38:56,370 >> ดังนั้นเราก็จะ ที่จะเดินผ่านนี้ 796 00:38:56,370 --> 00:38:59,010 เพราะฉันรู้ว่า jQuery เป็นความสับสนเล็กน้อย 797 00:38:59,010 --> 00:39:01,710 JavaScript 798 00:39:01,710 --> 00:39:03,542 มันเป็นเรื่องเล็ก ๆ น้อย ๆ ออกมี 799 00:39:03,542 --> 00:39:05,875 ดังนั้นสิ่งที่เรากำลังจะทำคือ [ไม่ได้ยิน] แก้ไขจริง 800 00:39:05,875 --> 00:39:07,250 ปัญหากับ jQuery นี้ 801 00:39:07,250 --> 00:39:09,490 ดังนั้นถ้าคุณจำได้ jQuery เป็นเพียงห้องสมุด 802 00:39:09,490 --> 00:39:11,520 ที่สร้างขึ้นเพียงด้านบนของ JavaScript 803 00:39:11,520 --> 00:39:14,750 มันหมายถึงการให้ของคุณ ชีวิตง่ายขึ้นเล็กน้อย 804 00:39:14,750 --> 00:39:17,660 >> ฉันจะแน่นอนถ้า คุณมีเวลาดูมากกว่า 805 00:39:17,660 --> 00:39:20,510 นิด ๆ หน่อย ๆ เอกสารสำหรับ jQuery 806 00:39:20,510 --> 00:39:23,230 แต่มันก็คล้ายกับ JavaScript 807 00:39:23,230 --> 00:39:27,830 มันมีกรอบความคิดที่คล้ายกันที่คุณ ใช้นี้ผู้ประกอบการจุดที่จะเรียกฟังก์ชั่น 808 00:39:27,830 --> 00:39:31,720 บนวัตถุที่คุณมี 809 00:39:31,720 --> 00:39:36,970 >> ดังนั้นสิ่งที่เรามีที่นี่สำหรับ jQuery, คุณควรมีการจัดเรียงนี้ 810 00:39:36,970 --> 00:39:43,010 ของเสื้อคลุมซึ่งเป็น $ (เอกสาร) .ready (ฟังก์ชัน) ฟังก์ชั่น 811 00:39:43,010 --> 00:39:45,510 ในวงเล็บที่นี่ 812 00:39:45,510 --> 00:39:46,070 ตกลง 813 00:39:46,070 --> 00:39:48,700 ดังนั้นนี้อาจจะมีบางสิ่งบางอย่าง คุณต้องการบนแผ่นโกงของคุณ 814 00:39:48,700 --> 00:39:52,070 เพราะอย่างน้อยที่สุดคุณสามารถ มีเสื้อคลุมสำหรับ jQuery ของคุณ 815 00:39:52,070 --> 00:39:57,190 และมันจะอย่างน้อยได้รับ คุณเป็นส่วนหนึ่งวิธีที่มี 816 00:39:57,190 --> 00:40:00,110 >> ดังนั้นในทางเดียวกันกับที่เรา พูดคุยกันมากเกี่ยวกับ JavaScript, 817 00:40:00,110 --> 00:40:04,560 และเราจะเริ่มต้นด้วยการมอง ในสิ่งที่เรากำลังพยายามที่จะแก้ไข 818 00:40:04,560 --> 00:40:06,150 หรือสิ่งที่เรากำลังพยายามที่จะเปลี่ยน 819 00:40:06,150 --> 00:40:09,050 และที่มักจะเป็น สิ่งแรกที่เราต้องการใส่ใน 820 00:40:09,050 --> 00:40:18,270 ดังนั้นในกรณีนี้ถ้าเรากลับไปนี้ ที่นี่และเรามองไปที่รูปแบบของเราที่นี่ 821 00:40:18,270 --> 00:40:21,790 เรามีปัจจัยการผลิตนี้ ขวา id ของปัจจัยการผลิตนี้ 822 00:40:21,790 --> 00:40:24,780 และเรารู้ว่าขึ้นอยู่ กับคำถามของเราเรา 823 00:40:24,780 --> 00:40:27,970 มีทั้งที่จะโยน ข้อผิดพลาดที่ว่านี้เป็นที่ว่างเปล่า, 824 00:40:27,970 --> 00:40:31,720 หรือเรากำลังจะใส่ นี้ในการแจ้งเตือนใช่มั้ย? 825 00:40:31,720 --> 00:40:36,670 ดังนั้นอาจจะปลอดภัยที่จะบอกว่าเรา จะได้รับการจัดการกับปัจจัยการผลิตที่นี่ 826 00:40:36,670 --> 00:40:41,770 >> jQuery คล้ายกันมากในการที่ถ้าเรา คิดว่ากลับไป CSS อะไรที่มี ID 827 00:40:41,770 --> 00:40:44,760 เรามองไปที่ที่มีกัญชา 828 00:40:44,760 --> 00:40:48,310 อะไรกับชั้นเรา มองไปที่จุดด้วยใช่มั้ย? 829 00:40:48,310 --> 00:40:53,210 ดังนั้นในทางเดียวกันที่นี่สิ่งที่ เรากำลังพูดถึงเกี่ยวกับการเป็นปัจจัยการผลิต 830 00:40:53,210 --> 00:40:56,920 เราเห็นปัจจัยการผลิตที่เป็น ID ภายในแบบฟอร์มของเรา 831 00:40:56,920 --> 00:41:00,850 ดังนั้นเราจะเรียกมันว่าเป็นเช่นนั้น 832 00:41:00,850 --> 00:41:01,653 ปัจจัยการผลิต 833 00:41:01,653 --> 00:41:02,460 OK? 834 00:41:02,460 --> 00:41:04,480 >> ดังนั้นเมื่อมีข้อสงสัยแม้กระทั่ง ถ้าคุณมีไม่มีที่ไหนเลย 835 00:41:04,480 --> 00:41:09,100 หากคุณไม่แน่ใจจริงๆเกี่ยวกับวิธีการ วิธีการนี​​้มีเสื้อคลุมนี้ 836 00:41:09,100 --> 00:41:11,780 ดังนั้นการเริ่มต้นที่นั่นด้วย เสื้อคลุมสำหรับ jQuery 837 00:41:11,780 --> 00:41:16,330 B, ให้แน่ใจว่าคุณรู้ว่า สิ่งที่คุณมีการเปลี่ยนแปลง 838 00:41:16,330 --> 00:41:18,830 และเมื่อมีข้อสงสัย ใส่ที่ในบางสิ่งบางอย่าง 839 00:41:18,830 --> 00:41:21,390 และทำจุดสิ่งที่คุณคิดว่า คุณควรจะทำกับมัน 840 00:41:21,390 --> 00:41:22,150 >> ผู้ชม: เสื้อคลุมคืออะไร? 841 00:41:22,150 --> 00:41:24,160 >> ลำโพง 1: เสื้อคลุม เป็นบรรทัดแรกนี้ 842 00:41:24,160 --> 00:41:27,520 ดังนั้นนี่กล่าวว่ารอจนกว่า เอกสารของฉันพร้อม 843 00:41:27,520 --> 00:41:29,160 แล้วเริ่มล้อเล่นกับสิ่งที่ 844 00:41:29,160 --> 00:41:30,890 OK? 845 00:41:30,890 --> 00:41:32,780 ดังนั้นเราจึงรู้ว่าเรากำลังล้อเล่นกับปัจจัยการผลิต 846 00:41:32,780 --> 00:41:35,450 ดังนั้นเราจึงต้องการ, OK, ปัจจัยการผลิตที่เป็นรูปแบบของเรา 847 00:41:35,450 --> 00:41:37,220 นั่นเป็น ID ของเรา 848 00:41:37,220 --> 00:41:39,800 นั่นคือสิ่งที่เรากำลัง จะได้รับการมองหา 849 00:41:39,800 --> 00:41:45,220 และเราต้องการที่จะเห็นสิ่งที่เกิดขึ้น เมื่อฟอร์มนี้ถูกส่งใช่มั้ย? 850 00:41:45,220 --> 00:41:50,180 >> ดังนั้นในขณะที่เราอาจจะคิดว่า เรามี .submit บาง 851 00:41:50,180 --> 00:41:56,080 ดังนั้น .submit เพียงแค่บอกว่าตกลงแบบฟอร์มนี้ ที่เราได้มีการอ้างอิงกับปัจจัยการผลิตกัญชา 852 00:41:56,080 --> 00:41:59,594 เมื่อมันส่ง ดำเนินการอย่างอื่น 853 00:41:59,594 --> 00:42:01,135 ดังนั้นเรากำลังจะมีฟังก์ชั่นบางอย่าง 854 00:42:01,135 --> 00:42:05,010 855 00:42:05,010 --> 00:42:07,270 ขอให้สังเกตว่าเรามีฟังก์ชั่นที่ไม่ระบุชื่อที่นี่ 856 00:42:07,270 --> 00:42:09,090 เรามีฟังก์ชั่นที่ไม่ระบุชื่อที่นี่ 857 00:42:09,090 --> 00:42:09,590 ใช่ 858 00:42:09,590 --> 00:42:14,880 >> ผู้ชม: มันจะเสมอ .submit, หรือจะเป็นเพียงเพราะใน HTML, 859 00:42:14,880 --> 00:42:18,260 เราทำชนิดปุ่มส่ง? 860 00:42:18,260 --> 00:42:23,680 >> ลำโพง 1: มันควรจะ .submit เพราะ มันเป็นรูปแบบที่เราจะส่งบางส่วน 861 00:42:23,680 --> 00:42:27,750 เพราะ .submit นี้ไม่จำเป็นต้อง สอดคล้องกับสิ่งที่ปุ่มเป็นเหมือน 862 00:42:27,750 --> 00:42:28,430 ที่จะเรียก 863 00:42:28,430 --> 00:42:32,610 แต่ความจริงที่ว่ามันเป็น รูปแบบที่เรากำลังส่ง 864 00:42:32,610 --> 00:42:33,140 ตกลง 865 00:42:33,140 --> 00:42:35,015 >> ดังนั้นสังเกตที่ไม่ระบุชื่อ ฟังก์ชั่นที่นี่ที่ says-- 866 00:42:35,015 --> 00:42:37,348 ผู้ชม: ฉันทำไม่ได้จริงๆ เข้าใจการทำงานที่ไม่ระบุชื่อ 867 00:42:37,348 --> 00:42:39,240 ลำโพง 1: ไม่ระบุชื่อดังนั้น ฟังก์ชั่นที่พวกเขากำลัง 868 00:42:39,240 --> 00:42:42,380 เพียงแค่ฟังก์ชั่นที่ไม่ได้มีชื่อ 869 00:42:42,380 --> 00:42:49,560 ดังนั้นแทนที่จะมีบางฟังก์ชั่นหลัก ที่ calls-- เราอาจจะบอกว่าถ้าเอกสาร 870 00:42:49,560 --> 00:42:52,380 พร้อมแล้วที่เราจะเรียกปัจจัยการผลิต 871 00:42:52,380 --> 00:42:57,470 และแล้วเมื่อส่ง call-- เช่นถ้าเป็นเช่นนั้นและเพื่อส่ง 872 00:42:57,470 --> 00:42:59,550 เราจะเรียกบางฟังก์ชั่นอื่น ๆ 873 00:42:59,550 --> 00:43:01,840 ฟังก์ชั่นที่ไม่ระบุชื่อ ก็ไม่ได้มีชื่อ 874 00:43:01,840 --> 00:43:05,120 และมันก็จะดำเนินการ ภายในทุกประเภทของสิ่งเหล่านี้ 875 00:43:05,120 --> 00:43:10,970 >> ดังนั้นในกรณีนี้สิ่งนี้กล่าวว่า คือเมื่อเอกสารของเรามีความพร้อม 876 00:43:10,970 --> 00:43:12,880 ดำเนินการฟังก์ชั่นนี้ 877 00:43:12,880 --> 00:43:17,110 ฟังก์ชั่นนี้ประกอบด้วย ของทุกอย่างภายในที่นี่ 878 00:43:17,110 --> 00:43:24,410 และจากนั้นในชั้นถัดไปคือตกลง เมื่อปัจจัยการผลิตที่มีการส่งดำเนินการนี​​้ 879 00:43:24,410 --> 00:43:28,329 มันเป็นเพียงวิธีการ denoting สิ่งที่ควรจะดำเนินการเมื่อ 880 00:43:28,329 --> 00:43:30,120 มันเป็นเพียงแค่ตัวอักษร ฟังก์ชั่นที่ไม่ได้ 881 00:43:30,120 --> 00:43:32,860 มีชื่อเพื่อให้พวกเขามีแนวโน้มที่จะ ซ้อนกันในแต่ละอื่น ๆ 882 00:43:32,860 --> 00:43:35,132 เพราะคุณไม่สามารถเรียกพวกเขาโดยใช้ชื่อ 883 00:43:35,132 --> 00:43:36,984 OK? 884 00:43:36,984 --> 00:43:39,775 แท้จริงฟังก์ชั่นที่ไม่ระบุชื่อ เป็นเพียงการทำงานไม่มีชื่อ 885 00:43:39,775 --> 00:43:41,470 นั่นแหล่ะ 886 00:43:41,470 --> 00:43:47,370 เพียงแค่วิธีการที่จะสรุป สิ่งที่แตกต่าง 887 00:43:47,370 --> 00:43:49,250 ที่เราต้องการดำเนินการในเวลาที่ระบุ 888 00:43:49,250 --> 00:43:51,164 >> ผู้ชม: [ไม่ได้ยิน] 889 00:43:51,164 --> 00:43:53,420 >> ลำโพง 1: ระบาย? 890 00:43:53,420 --> 00:43:54,360 ที่ไหน? 891 00:43:54,360 --> 00:43:57,510 >> ผู้ชม: ใน วงเล็บหลังฟังก์ชั่น? 892 00:43:57,510 --> 00:44:00,660 >> ลำโพง 1: หลังจากที่ฟังก์ชั่น 893 00:44:00,660 --> 00:44:01,290 ซึ่งหนึ่ง? 894 00:44:01,290 --> 00:44:02,410 >> ผู้ชม: ทั้งสอง 895 00:44:02,410 --> 00:44:05,137 หากคุณใส่เช่นเหตุการณ์หรือถ้า คุณใส่อาร์กิวเมนต์ในนั้น 896 00:44:05,137 --> 00:44:07,372 มันจะผิดหรือเปล่า? 897 00:44:07,372 --> 00:44:12,592 >> ลำโพง 1: ในกรณีนี้ผมคิดว่า คุณสามารถใส่อาร์กิวเมนต์ในนั้น 898 00:44:12,592 --> 00:44:15,619 แต่เป็นเพราะเราไม่จำเป็นต้อง อาร์กิวเมนต์ไม่ควรจะมี 899 00:44:15,619 --> 00:44:17,410 เช่นเดียวกับมันทั้ง เช่นคุณควรเท่านั้น 900 00:44:17,410 --> 00:44:19,810 มีสิ่งที่มี การจัดเรียงสิ่งที่จำเป็นของ 901 00:44:19,810 --> 00:44:29,325 ในทางเดียวกันว่าถ้าเรามีใด ๆ ฟังก์ชั่นที่มี int หลัก void-- เหมือน 902 00:44:29,325 --> 00:44:35,687 กับเป็นโมฆะหลัก int คุณ สามารถทำ int หาเรื่องวีสิ่งที่ 903 00:44:35,687 --> 00:44:38,270 แต่ถ้าคุณไม่จำเป็นที่คุณ ไม่ควรมีพวกเขาอยู่ในนั้น 904 00:44:38,270 --> 00:44:39,070 สิ่งเดียวกัน 905 00:44:39,070 --> 00:44:40,896 เอ็มม่าไม่คุณมีคำถาม? 906 00:44:40,896 --> 00:44:41,671 ตกลง 907 00:44:41,671 --> 00:44:42,170 เย็น 908 00:44:42,170 --> 00:44:42,670 ตกลง 909 00:44:42,670 --> 00:44:45,862 ดังนั้นสิ่งที่เรามีเพื่อให้ห่างไกลคือเมื่อเรา เอกสารพร้อมดำเนินการนี​​้ 910 00:44:45,862 --> 00:44:47,570 ตอนนี้เรากำลังมองหาที่ เมื่อมันส่ง 911 00:44:47,570 --> 00:44:51,530 ดังนั้นตอนนี้เราจะมีการจัดเรียง เนื้อของสิ่งที่เรา 912 00:44:51,530 --> 00:45:00,120 ดังนั้นเราจึงจำเป็นที่จะได้รับค่าที่ คิดเห็นของผู้ใช้ไม่ว่าจะเป็นชื่อ 913 00:45:00,120 --> 00:45:01,340 หรือที่ว่างเปล่า 914 00:45:01,340 --> 00:45:07,270 และจากนั้นเราต้องกลับมาอย่างใดอย่างหนึ่ง การแจ้งเตือนนี้หรือโยนความผิดพลาด 915 00:45:07,270 --> 00:45:08,560 ทั้งสองวิธี 916 00:45:08,560 --> 00:45:13,690 >> ดังนั้นวิธีที่เราประกาศ ตัวแปรใน JavaScript? 917 00:45:13,690 --> 00:45:14,670 Var 918 00:45:14,670 --> 00:45:19,430 ดังนั้นสมมติว่าชื่อ var equals-- หรือจริง ๆ แล้วเราจะ 919 00:45:19,430 --> 00:45:21,960 ทำมูลค่าตั้งแต่ผมคิดว่ามันเป็นชื่อ 920 00:45:21,960 --> 00:45:23,920 ตกลง 921 00:45:23,920 --> 00:45:31,320 ดังนั้นเราจึงมีค่าบางอย่างที่นี่ที่เรา ต้องการที่จะดึงจากรูปแบบปัจจัยการผลิตของเรา 922 00:45:31,320 --> 00:45:34,100 ดังนั้นในทางเดียวกันว่า เราชนิดของปัจจัยการผลิตได้ 923 00:45:34,100 --> 00:45:38,380 ทุกคนสามารถบอกสิ่งที่เรา อาจจะมีการเรียกร้องภายในที่นี่ 924 00:45:38,380 --> 00:45:41,230 ถ้าเราต้องการที่จะได้รับ ชื่อจากรูปแบบ? 925 00:45:41,230 --> 00:45:46,929 และถ้าเรามองกลับไปที่รูปแบบของเราที่นี่ เราแจ้งให้ทราบว่าเรามี ID ของชื่อ 926 00:45:46,929 --> 00:45:47,845 ผู้ชม: [ไม่ได้ยิน] 927 00:45:47,845 --> 00:45:51,026 928 00:45:51,026 --> 00:45:54,675 >> ลำโพงที่ 1: คุณจะได้ไม่ต้อง จะคิดว่ามันเป็นอาร์เรย์ 929 00:45:54,675 --> 00:45:57,650 930 00:45:57,650 --> 00:46:00,760 คุณไม่จำเป็นต้องกังวลเกี่ยวกับการที่ 931 00:46:00,760 --> 00:46:03,250 ดังนั้นเราก็มีชื่อบางส่วน 932 00:46:03,250 --> 00:46:09,022 และจากนั้นก็เพราะ JavaScript และสิ่ง มีความแปลกที่เราไม่สามารถเพียงแค่ทำ "ชื่อ". 933 00:46:09,022 --> 00:46:11,230 เราจริงต้องเรียก ฟังก์ชั่นบางอย่างที่จะช่วยให้เรา 934 00:46:11,230 --> 00:46:14,160 เช่นค่าของตัวระบุว่า 935 00:46:14,160 --> 00:46:15,160 OK? 936 00:46:15,160 --> 00:46:16,780 เพื่อให้เป็นเพียงแค่ .val 937 00:46:16,780 --> 00:46:18,356 >> ผู้ชม: [ไม่ได้ยิน] 938 00:46:18,356 --> 00:46:19,160 >> ลำโพง 1: ตกลง 939 00:46:19,160 --> 00:46:27,030 ดังนั้นด้วย JavaScript, การจัดเรียงของนี้ สิ่งที่ถูกต้องที่นี่เพียงแค่ผ่านไป 940 00:46:27,030 --> 00:46:35,730 และคุณอาจคิดว่า as-- นี้มัน เหมือนเกือบ getElementById ที่ 941 00:46:35,730 --> 00:46:40,630 getElementById จริงจะ กลับเป็นสิ่งที่เต็มรูปแบบให้กับคุณ 942 00:46:40,630 --> 00:46:49,930 $ ("ชื่อ #") เป็นเหมือนเพียง ตกลงฉันมีมันฉันสามารถเข้าถึงได้ 943 00:46:49,930 --> 00:46:52,265 แต่ถ้าคุณต้องการจริง เพื่อกลับค่าเป็น you-- 944 00:46:52,265 --> 00:46:53,596 >> ผู้ชม: มันเป็นเหมือนตัวชี้? 945 00:46:53,596 --> 00:46:55,070 >> ลำโพง 1: มันเป็นชนิดเช่นตัวชี้ 946 00:46:55,070 --> 00:46:57,069 คุณอาจจะคิดว่ามันเป็น ชนิดเช่นตัวชี้ 947 00:46:57,069 --> 00:46:59,060 ชอบก็บอกว่าตกลงฉัน รู้วิธีการที่จะได้มี 948 00:46:59,060 --> 00:47:02,330 แต่ที่จริงได้รับค่าจาก มันคุณจะต้องชัดเจนขอมัน 949 00:47:02,330 --> 00:47:07,800 และโชคไม่ดีที่เห็นได้ชัดว่าเราทำไม่ได้ ทำมากเกินไปด้วย JavaScript และ jQuery 950 00:47:07,800 --> 00:47:12,160 >> ดังนั้นมันจะลงมาเท่าไหร่ คุณ guys-- สิ่งที่คุณเกิดขึ้นที่จะรู้ว่า 951 00:47:12,160 --> 00:47:17,610 สิ่งที่เกิดขึ้นกับคุณได้เห็นและสิ่งที่ ชนิดที่คุณสามารถคาดเดาเหตุผลที่ 952 00:47:17,610 --> 00:47:21,639 เพราะบางส่วนของสิ่งเหล่านี้คุณ อาจจะได้รับครึ่งหนึ่งมี 953 00:47:21,639 --> 00:47:24,180 แต่การที่จะทำให้ถูกต้องสมบูรณ์ ผมคิดว่าปัญหานี้น่าจะเป็น 954 00:47:24,180 --> 00:47:25,624 มีหนึ่งของคะแนนที่ต่ำที่สุด 955 00:47:25,624 --> 00:47:27,790 ผู้ชม: เหมือนเช่น สำหรับ [ไม่ได้ยิน] ปัจจัยการผลิต 956 00:47:27,790 --> 00:47:29,450 ทำไมคุณไม่ต้องใส่ Val มี? 957 00:47:29,450 --> 00:47:30,450 ลำโพง 1: สำหรับคนนี้? 958 00:47:30,450 --> 00:47:31,124 ผู้ชม: ใช่ 959 00:47:31,124 --> 00:47:31,790 ลำโพง 1: ใช่ 960 00:47:31,790 --> 00:47:33,498 เพราะนี่คือชนิด ของชอบที่เรากล่าวว่า 961 00:47:33,498 --> 00:47:37,180 บางตัวชี้และนี่คือฉันอ้างอิง และรับจริงเราค่า 962 00:47:37,180 --> 00:47:38,872 >> ผู้ชม: ในขณะที่ [ไม่ได้ยิน] 963 00:47:38,872 --> 00:47:42,060 >> ลำโพง 1: สำหรับปัจจัยการผลิต ปัจจัยการผลิตเป็นเพียง some-- 964 00:47:42,060 --> 00:47:44,450 มันก็เหมือนเราเป็นแค่ มองหาที่มันเป็นทั้ง 965 00:47:44,450 --> 00:47:48,859 และ .submit นี้บอก ในสิ่งที่เราจำเป็นต้องรู้ 966 00:47:48,859 --> 00:47:50,150 jQuery และ JavaScript เป็นลาง 967 00:47:50,150 --> 00:47:50,800 ฉันรู้ว่า 968 00:47:50,800 --> 00:47:51,690 ฉันรู้ว่าพวก 969 00:47:51,690 --> 00:47:52,460 ฉันรู้ว่า 970 00:47:52,460 --> 00:47:55,260 มีเหตุผลที่ฉันทำไม่เป็น ทำโปรแกรมเว็บ 971 00:47:55,260 --> 00:47:56,230 เพียงแค่ล้อเล่น 972 00:47:56,230 --> 00:47:57,780 ฉันไม่ได้มีมากพอที่จะเปิดรับมัน 973 00:47:57,780 --> 00:47:59,070 >> ผู้ชม: [ไม่ได้ยิน] CSS 974 00:47:59,070 --> 00:48:00,206 >> [หัวเราะ] 975 00:48:00,206 --> 00:48:00,590 >> ลำโพง 1: ตกลงว่าเป็น CSS 976 00:48:00,590 --> 00:48:03,730 CSS เป็นเพียงแค่ชอบทำในสิ่งที่รัก มันไม่ได้เป็นเช่นนั้นเรามาจัดการกับข้อมูล 977 00:48:03,730 --> 00:48:05,710 มีความแตกต่างมีความเป็น 978 00:48:05,710 --> 00:48:06,350 ตกลง 979 00:48:06,350 --> 00:48:12,110 ดังนั้นตอนนี้หวังว่านี้ยัง part-- สำหรับ ปัญหาเช่นนี้ที่คุณอาจไม่ได้ 980 00:48:12,110 --> 00:48:16,070 รู้ไวยากรณ์คุณอาจจะชอบ ตกลงคุณอาจมีค่า var บาง 981 00:48:16,070 --> 00:48:18,320 และเป็นเช่นสมมติผม มีค่าได้อย่างถูกต้อง 982 00:48:18,320 --> 00:48:20,600 แล้วคุณอาจจะสามารถทำได้ เขียนส่วนต่อไปนี้ 983 00:48:20,600 --> 00:48:24,640 ส่วนต่อไปนี้อาจจะ ดูเหมือนง่ายมากขึ้น 984 00:48:24,640 --> 00:48:26,610 หรือมันจะทำให้ตรรกะ ความรู้สึกที่พวกคุณ 985 00:48:26,610 --> 00:48:31,520 >> ในขณะที่สิ่งที่เราได้เขียนเพื่อให้ห่างไกล ฉันรู้ว่าฉันจะเป็นเช่น, อืมมใช่ 986 00:48:31,520 --> 00:48:34,340 ผมไม่ทราบว่าในการตอบคำถาม 987 00:48:34,340 --> 00:48:37,610 คุณทั้งหมดสามารถเขียน psuedocode แล้วบุกเข้าไปในรหัสจริง 988 00:48:37,610 --> 00:48:40,460 เมื่อ you-- มันเป็นชนิดเช่นคณิตศาสตร์ 989 00:48:40,460 --> 00:48:42,904 หากคุณเคยมีบาง ปัญหาหลายส่วนที่ 990 00:48:42,904 --> 00:48:44,820 คุณไม่ทราบวิธีการ ได้ผ่านขั้นตอนแรก 991 00:48:44,820 --> 00:48:46,736 แต่ทุกอย่างอื่น ขึ้นอยู่กับว่าขั้นตอนแรก 992 00:48:46,736 --> 00:48:49,577 คุณเพียงแค่พูดเช่นสมมติ x เท่ากับ 4 993 00:48:49,577 --> 00:48:50,910 แล้วคุณทำงานกับมันใช่มั้ย? 994 00:48:50,910 --> 00:48:52,410 >> คุณสามารถทำสิ่งเดียวกันกับรหัส 995 00:48:52,410 --> 00:48:55,740 ดังนั้นคุณอาจจะบอกว่าสมมติ ผมมีสิทธิค่า 996 00:48:55,740 --> 00:48:58,290 แล้วทำส่วนต่อไปนี้ที่นี่ 997 00:48:58,290 --> 00:49:02,610 เพราะส่วนนี้จริง ควรจะเป็นตรรกะสวย 998 00:49:02,610 --> 00:49:06,560 >> ดังนั้นเราจึงจำเป็นต้องตรวจสอบ ถ้าค่าของเราเป็นที่ว่างเปล่า 999 00:49:06,560 --> 00:49:11,650 หรือถ้าเป็นชื่อบาง จริงให้แจ้งเตือน 1000 00:49:11,650 --> 00:49:15,085 ดังนั้นสิ่งที่เราอาจต้องการตรวจสอบ? 1001 00:49:15,085 --> 00:49:17,800 เราต้องการที่จะมีถ้าบาง 1002 00:49:17,800 --> 00:49:19,510 อะไรที่คุณคิดว่าถ้าเราเป็นไปได้? 1003 00:49:19,510 --> 00:49:24,141 เราจำเป็นต้องตรวจสอบเพื่อดูถ้าค่า เท่าไหร่ถ้ามันไม่ได้เป็นสตริงว่าง 1004 00:49:24,141 --> 00:49:30,740 1005 00:49:30,740 --> 00:49:31,730 >> สมบูรณ์ 1006 00:49:31,730 --> 00:49:32,570 อย่างแน่นอน 1007 00:49:32,570 --> 00:49:33,070 ตกลง 1008 00:49:33,070 --> 00:49:36,320 ดังนั้นถ้าเป็นกรณีที่ ทำในสิ่งที่เราต้องการจะทำอย่างไร? 1009 00:49:36,320 --> 00:49:39,190 เราต้องการที่จะโยนแจ้งเตือนบางอย่างใช่มั้ย? 1010 00:49:39,190 --> 00:49:41,090 ดังนั้นจึงเป็นเพียงการแจ้งเตือน 1011 00:49:41,090 --> 00:49:43,050 และแล้วสิ่งที่เราต้องการภายใน 1012 00:49:43,050 --> 00:49:45,430 ดังนั้นสิ่งที่เราควรจะมี ที่จะมีการแจ้งเตือนภายในของเราหรือไม่ 1013 00:49:45,430 --> 00:49:48,916 >> ผู้ชม: "สวัสดีครับ." 1014 00:49:48,916 --> 00:49:50,421 >> ลำโพง 1: จุลภาค 1015 00:49:50,421 --> 00:49:52,462 และแล้วพวกคุณ จำวิธีการเชื่อม? 1016 00:49:52,462 --> 00:49:53,400 >> ผู้ชม: พลัส 1017 00:49:53,400 --> 00:49:54,520 >> ลำโพง 1: พลัส 1018 00:49:54,520 --> 00:49:57,490 ดังนั้นเราจึงต้องการที่จะมีบวก 1019 00:49:57,490 --> 00:50:03,480 แล้วเราต้องบวกอีก สำหรับเครื่องหมายอัศเจรีย์ของเรา 1020 00:50:03,480 --> 00:50:05,620 เย็น 1021 00:50:05,620 --> 00:50:06,540 ตกลง 1022 00:50:06,540 --> 00:50:08,255 มิฉะนั้นสิ่งที่เราอาจต้องการที่จะทำอย่างไร? 1023 00:50:08,255 --> 00:50:10,380 เราไม่ต้องการที่จะทำอะไรใช่มั้ย? 1024 00:50:10,380 --> 00:50:14,190 ดังนั้นเราก็กลับเท็จ 1025 00:50:14,190 --> 00:50:17,200 ไม่ใช่สิ่งที่ฉันต้องการจะทำ 1026 00:50:17,200 --> 00:50:18,520 ตกลง 1027 00:50:18,520 --> 00:50:20,660 >> และแล้วเหล่านี้ของ course-- สิ่งที่สำคัญ 1028 00:50:20,660 --> 00:50:23,510 คือการจำที่จะปิด ฟังก์ชั่นที่ไม่ระบุชื่อของคุณ 1029 00:50:23,510 --> 00:50:27,230 ดังนั้นถ้าคุณสังเกตเห็นเรามีบาง ฟังก์ชั่นที่นี่ที่สิ้นสุดที่นี่ 1030 00:50:27,230 --> 00:50:31,710 ดังนั้นเราจึงจำเป็นต้องปิดนี้ คนแรกและเพิ่มอัฒภาค 1031 00:50:31,710 --> 00:50:35,195 และจากนั้นหนึ่งที่นี่มี ทำอย่างไรกับฟังก์ชั่นที่ไม่ระบุชื่อนี้ 1032 00:50:35,195 --> 00:50:38,650 ดังนั้นเราปิดมันมี 1033 00:50:38,650 --> 00:50:40,190 นั่นปฏิกิริยาเข่าเหวี่ยงของการประหยัด 1034 00:50:40,190 --> 00:50:40,690 ใช่ 1035 00:50:40,690 --> 00:50:45,650 ผู้ชม: มีเหตุผล that-- เพียงแค่ในตัวอย่างทั้งหมดใน JavaScript 1036 00:50:45,650 --> 00:50:48,480 ที่ผมเคยเห็นเรามี วงเล็บปีกกาแรก 1037 00:50:48,480 --> 00:50:51,075 ในบรรทัดเดียวกับฟังก์ชั่น? 1038 00:50:51,075 --> 00:50:53,040 >> ลำโพง 1: นั่นเป็นโวหาร 1039 00:50:53,040 --> 00:50:54,130 ใช่ 1040 00:50:54,130 --> 00:51:00,650 และอันที่จริงถ้าคุณใช้เวลา 61 เรา ทำเครื่องหมายปีกกาของเราวิธีการที่ 1041 00:51:00,650 --> 00:51:01,830 อืมมม? 1042 00:51:01,830 --> 00:51:05,030 >> ผู้ชม: ถ้าเราไม่ทำอย่างนั้นใน PSET เป็นที่ไม่ดีสำหรับรูปแบบ? 1043 00:51:05,030 --> 00:51:05,720 >> ลำโพง 1: เลขที่ 1044 00:51:05,720 --> 00:51:09,710 เราได้บอกอย่างชัดเจน พวกคุณจะทำเช่นนี้ 1045 00:51:09,710 --> 00:51:14,540 แต่จริงๆแล้วนี้เป็นชนิด ของการประชุมมีอำนาจเหนือ 1046 00:51:14,540 --> 00:51:19,620 ในจำนวนมากของการเรียน C และ JavaScript และ jQuery 1047 00:51:19,620 --> 00:51:23,074 ดังนั้นเห็นได้ชัดผม sure-- และที่จริงถ้าผม 1048 00:51:23,074 --> 00:51:26,770 ได้รับที่จะทำปัญหานี้อย่างสมบูรณ์ คนตาบอดโดยไม่ได้มองมัน 1049 00:51:26,770 --> 00:51:30,080 อาจมีน้อยมาก วิธีที่ฉันจะได้รับนี้ 1050 00:51:30,080 --> 00:51:36,160 >> ฉันอาจจะเคยชอบ, OK, บางทีฉัน ต้องการที่จะคว้าสิ่งที่ป้อนข้อมูล 1051 00:51:36,160 --> 00:51:38,020 และผมคิดว่ามี ความรู้ที่เหมือน 1052 00:51:38,020 --> 00:51:43,240 ตกลงถ้าผมต้องการที่จะได้รับบางสิ่งบางอย่าง จากรูปแบบที่มี ID, 1053 00:51:43,240 --> 00:51:46,990 ผมหมายถึงมันในทางนี้ ฉันอาจจะได้รับว่า 1054 00:51:46,990 --> 00:51:49,940 ฉันอาจจะได้รับนี้ 1055 00:51:49,940 --> 00:51:53,400 แต่จริงๆสิ่งเดียวที่ผมคิดว่า ผมจะได้รับคือตรงนี้ 1056 00:51:53,400 --> 00:51:59,230 >> ดังนั้นมันจึงเป็นชนิดของสิ่งสำคัญที่จะ รู้เช่นเดียวกับการทดสอบที่ยากลำบากใด ๆ 1057 00:51:59,230 --> 00:52:02,130 คุณเลือกชนิดของการต่อสู้ของคุณใช่ไหม? 1058 00:52:02,130 --> 00:52:06,780 ถ้าคุณรู้ว่าคุณจะไม่ได้รับ ที่ส่วนแรกสำหรับ jQuery, ที่ผมกล่าวว่า 1059 00:52:06,780 --> 00:52:10,080 สมมติว่าคุณมีค่านี้ และทำในสิ่งที่คุณสามารถมีมัน 1060 00:52:10,080 --> 00:52:14,730 และถ้าคุณมีเวลากลับไป และพยายามกรอกข้อมูลลงในชิ้น 1061 00:52:14,730 --> 00:52:17,150 แต่จะไม่ปล่อยให้คำถามเช่น นี้จริงๆคุณชะงักลง 1062 00:52:17,150 --> 00:52:18,080 เพราะอะไร? 1063 00:52:18,080 --> 00:52:23,260 นี่เป็นหนึ่งในคำถาม jQuery จากการสอบทั้งหมด 1064 00:52:23,260 --> 00:52:25,810 ดังนั้นใช่มันจะดีมากถ้าคุณได้รับมัน 1065 00:52:25,810 --> 00:52:28,297 >> ผู้ชม: [ไม่ได้ยิน] คุณ จะยินดีที่จะใช้ jQuery 1066 00:52:28,297 --> 00:52:30,005 ลำโพง 1: คุณเป็น ยินดีที่จะใช้ jQuery 1067 00:52:30,005 --> 00:52:31,088 ผู้ชม: ตกลง [ไม่ได้ยิน] 1068 00:52:31,088 --> 00:52:33,060 ลำโพง 1: วิธีที่คุณจะได้ใช้มันได้หรือไม่ 1069 00:52:33,060 --> 00:52:35,850 ฉันจะต้องมอง ขึ้น JavaScript ทั้งหมดของฉัน 1070 00:52:35,850 --> 00:52:38,810 เป็นจริงมากขึ้น ผมคิดว่าการใช้ jQuery, 1071 00:52:38,810 --> 00:52:42,995 เพราะ jQuery ลดจริง ปริมาณของ JavaScript คุณเขียนอาจ 1072 00:52:42,995 --> 00:52:43,620 โดยเหมือนครึ่งหนึ่ง 1073 00:52:43,620 --> 00:52:46,334 ดังนั้นรหัสของเราอาจจะเป็น ยาวเป็นสองเท่าโดยไม่ต้องว่า 1074 00:52:46,334 --> 00:52:49,250 ดังนั้นถ้าคุณ recognize-- ที่ใหญ่ที่สุด สิ่งที่จะต้องนำมาใช้จากปัญหานี้ 1075 00:52:49,250 --> 00:52:50,550 มีรูปแบบ 1076 00:52:50,550 --> 00:52:52,890 หากคุณกำลังเข้าถึง บางสิ่งบางอย่างจากรูปแบบ, 1077 00:52:52,890 --> 00:52:57,830 คุณกำลังจะใช้คำพูด, กัญชา สิ่งที่คุณกำลังพยายามที่จะเข้าถึง 1078 00:52:57,830 --> 00:53:01,000 ถ้ามันถูกส่งที่คุณต้องการ ใช้สิ่งที่ต้องการ .submit 1079 00:53:01,000 --> 00:53:03,680 คุณอาจจะใช้ ฟังก์ชั่นที่ไม่ระบุชื่อในนั้น 1080 00:53:03,680 --> 00:53:08,030 หากคุณจำเป็นต้องมีค่าของ สิ่งที่คุณกำลังจะทำคำพูด 1081 00:53:08,030 --> 00:53:12,160 กัญชาสิ่งที่ข้อมูลที่เป็น .val 1082 00:53:12,160 --> 00:53:14,690 และตระหนักถึงรูปแบบ เช่นเดียวกับที่จะไป 1083 00:53:14,690 --> 00:53:19,586 จะไกลที่มีประโยชน์มากกว่า ทราบจริงๆ nitty ทราย 1084 00:53:19,586 --> 00:53:20,562 ใช่ 1085 00:53:20,562 --> 00:53:23,164 >> ผู้ชม: ดังนั้นถ้า ใช้ส่งชื่อของพวกเขา 1086 00:53:23,164 --> 00:53:27,394 และมันจะทำงานผ่านคำสั่งที่จะ มันลงไปและกลับเท็จหลังจากนี้หรือไม่? 1087 00:53:27,394 --> 00:53:30,373 >> ลำโพง 1: ไม่มีเพราะการแจ้งเตือน คุณสามารถคิดว่ามันเหมือนการกลับมา 1088 00:53:30,373 --> 00:53:30,873 ใช่ 1089 00:53:30,873 --> 00:53:31,590 ดังนั้นมันจะออกจาก 1090 00:53:31,590 --> 00:53:31,925 ใช่ 1091 00:53:31,925 --> 00:53:33,883 >> ผู้ชม: คุณสามารถ [? วาง?] วงเล็บ 1092 00:53:33,883 --> 00:53:37,105 ของส่งวงเล็บอะไร? 1093 00:53:37,105 --> 00:53:38,870 >> ลำโพง 1: ฉันไม่ได้ผมเชื่อว่า 1094 00:53:38,870 --> 00:53:42,300 หนึ่งนี้ปิดที่นี่ 1095 00:53:42,300 --> 00:53:45,800 และจากนั้นคนนี้ได้รับการปิดตัวลงที่นี่ 1096 00:53:45,800 --> 00:53:47,135 >> ผู้ชม: โอ้มี 1097 00:53:47,135 --> 00:53:48,470 สิทธิ์ทั้งหมด 1098 00:53:48,470 --> 00:53:53,572 >> ลำโพง 1: เห็นได้ชัดว่าเล็ก ๆ น้อย ๆ สิ่งเล็ก ๆ น้อย ๆ ประโยค 1099 00:53:53,572 --> 00:53:55,780 เช่นเดียวกับที่เราอาจจะ เพียงแค่วงกลมมันและเป็นเช่น 1100 00:53:55,780 --> 00:53:58,385 อย่าลืมวงเล็บของคุณ 1101 00:53:58,385 --> 00:53:59,810 แต่ใช่ 1102 00:53:59,810 --> 00:54:00,950 ตกลง 1103 00:54:00,950 --> 00:54:04,190 เรามีอีกคนหนึ่ง ที่เราอยากจะทำอย่างไร? 1104 00:54:04,190 --> 00:54:07,700 1105 00:54:07,700 --> 00:54:11,599 คุณไม่ได้รับคนหนึ่งต้นไม้ไบนารี? 1106 00:54:11,599 --> 00:54:12,890 เราไม่ต้องการที่จะไปกว่าที่หนึ่ง? 1107 00:54:12,890 --> 00:54:17,940 ฉันรู้สึกเหมือนต้นไม้ไบนารี และถุงยางควรจะจุด 1108 00:54:17,940 --> 00:54:19,880 ที่พวกคุณได้รับสวยได้อย่างง่ายดาย 1109 00:54:19,880 --> 00:54:21,978 ฉันจะไม่ต้องการให้คุณ ที่จะสูญเสียจุดบนว่า 1110 00:54:21,978 --> 00:54:28,335 1111 00:54:28,335 --> 00:54:30,370 ตกลง 1112 00:54:30,370 --> 00:54:33,097 >> ขอทำ DOM ที่นี่ 1113 00:54:33,097 --> 00:54:35,555 ฉันต้องการฉันมีพื้นผิวของฉันดังนั้นฉัน ก็สามารถวาดภาพบนหน้าจอ 1114 00:54:35,555 --> 00:54:38,330 1115 00:54:38,330 --> 00:54:41,461 นั่นคือสิ่งที่ผมเคยทำเมื่อปีที่แล้ว 1116 00:54:41,461 --> 00:54:41,960 ตกลง 1117 00:54:41,960 --> 00:54:48,370 ดังนั้นที่ผมกล่าวถึงเราได้พูดคุย เกี่ยวกับ DOM, เอกสารวัตถุแบบจำลอง 1118 00:54:48,370 --> 00:54:51,415 พวกเขากำลังอาจจะให้คุณ บางส่วนเล็กน้อยของตัวอย่างเช่นนี้ 1119 00:54:51,415 --> 00:54:54,250 และขอให้คุณสร้างต้นไม้สำหรับมัน 1120 00:54:54,250 --> 00:54:58,050 และเพียงแค่นี้ทุกคนได้จะทำอย่างไร กับการทำงานผ่านทางแท็ก 1121 00:54:58,050 --> 00:55:00,685 งั้นลองและทำเช่นนี้ 1122 00:55:00,685 --> 00:55:09,610 1123 00:55:09,610 --> 00:55:12,920 >> นอกจากนี้ตามปกติถ้าพวกคุณ ทำแบบทดสอบเหล่านี้ฉันขอ 1124 00:55:12,920 --> 00:55:16,450 ขอแนะนำให้คุณทำตามที่ปฏิบัติ ใด ๆ ของพวกเขาที่คุณไม่ชอบ 1125 00:55:16,450 --> 00:55:19,480 ผมไม่ได้รับสิ่งที่เป็น เกิดขึ้นที่นี่เพียงแน่นอน 1126 00:55:19,480 --> 00:55:23,334 ส่งอีเมลที่มีคำถาม และผมจะอธิบายให้ดีที่สุดเท่าที่ฉันสามารถ 1127 00:55:23,334 --> 00:55:25,298 ตกลง 1128 00:55:25,298 --> 00:55:33,420 >> เรามีเอกสารบางอย่างและเรามี HTML 1129 00:55:33,420 --> 00:55:33,970 ตกลง 1130 00:55:33,970 --> 00:55:38,750 ดังนั้นแล้วเราเพียงแค่การวิเคราะห์ แท็กที่นี่ใช่มั้ย? 1131 00:55:38,750 --> 00:55:45,810 ดังนั้นสิ่งที่เราเห็น comes-- สิ่งที่เป็น สองหัวข้อย่อยภายใต้ HTML ได้ไหม? 1132 00:55:45,810 --> 00:55:48,880 โดยเฉพาะอย่างยิ่งเพราะ พวกเขากำลังเยื้องถูกต้องหรือไม่ 1133 00:55:48,880 --> 00:55:49,580 หัวและลำตัว 1134 00:55:49,580 --> 00:56:00,298 1135 00:56:00,298 --> 00:56:00,800 อา 1136 00:56:00,800 --> 00:56:03,730 1137 00:56:03,730 --> 00:56:04,960 หัวและลำตัว 1138 00:56:04,960 --> 00:56:05,952 น่ารัก 1139 00:56:05,952 --> 00:56:07,410 ดังนั้นแล้วเรามาเริ่มต้นที่นี่กับหัว 1140 00:56:07,410 --> 00:56:09,090 มีอะไรอยู่ใต้หัว? 1141 00:56:09,090 --> 00:56:11,721 อะไรแท็กต่อไปของเรา? 1142 00:56:11,721 --> 00:56:12,220 ชื่อเรื่อง 1143 00:56:12,220 --> 00:56:16,450 1144 00:56:16,450 --> 00:56:19,605 และจากนั้นภายในชื่อแบบทดสอบ 1145 00:56:19,605 --> 00:56:23,970 1146 00:56:23,970 --> 00:56:24,690 ตกลง 1147 00:56:24,690 --> 00:56:27,940 >> ดังนั้นแท้จริงก็เพียง เดินผ่านแท็ก, OK? 1148 00:56:27,940 --> 00:56:31,610 ดังนั้นแล้วถ้าเรามี ร่างกายที่เราผ่านไป 1149 00:56:31,610 --> 00:56:35,460 ร่างกายมีสามสิ่งที่อยู่ในนั้นใช่มั้ย? 1150 00:56:35,460 --> 00:56:36,400 มันมีสาม divs 1151 00:56:36,400 --> 00:56:40,060 1152 00:56:40,060 --> 00:56:41,900 div ทุกคนได้รับกล่องเล็ก ๆ ของตัวเอง 1153 00:56:41,900 --> 00:56:45,260 1154 00:56:45,260 --> 00:56:48,106 และสิ่งที่อยู่ใน div แรก? 1155 00:56:48,106 --> 00:56:48,606 [ไม่ได้ยิน] 1156 00:56:48,606 --> 00:56:52,070 1157 00:56:52,070 --> 00:56:57,292 และจากนั้นหนึ่งต่อไปคือกลาง ซึ่งฉันแค่จะย่อ 1158 00:56:57,292 --> 00:56:59,410 และแล้วสุดท้ายคือด้านล่าง 1159 00:56:59,410 --> 00:57:06,060 1160 00:57:06,060 --> 00:57:07,650 >> ดังนั้นจริงๆก็แค่เดินผ่าน 1161 00:57:07,650 --> 00:57:11,140 และเนื่องจากเรากำลังจะให้ คุณ HTML ที่เยื้องถูกต้อง 1162 00:57:11,140 --> 00:57:16,800 คุณสามารถแท้จริงเพียงแค่วิ่งผ่าน และเป็นเช่นตกลงนี่คือ HTML 1163 00:57:16,800 --> 00:57:19,460 ดังนั้นนี่คือสุด มุมหรือไกลซ้าย 1164 00:57:19,460 --> 00:57:22,410 เพื่อที่ว่าจะต้องมีสิ่งที่เป็นของตัวเอง 1165 00:57:22,410 --> 00:57:26,360 เหล่านี้อยู่บนรอยบากเดียวกัน 1166 00:57:26,360 --> 00:57:30,120 >> ดังนั้นเราจึงรู้ว่าหัวความต้องการที่จะ จะอยู่ในระดับเดียวกับร่างกาย 1167 00:57:30,120 --> 00:57:32,040 แต่ภายใต้ HTML 1168 00:57:32,040 --> 00:57:33,100 มันเป็นสิ่งที่เราได้ที่นี่ 1169 00:57:33,100 --> 00:57:36,810 หัวและลำตัวเป็นพี่น้อง แต่พวกเขาอยู่ภายใต้ HTML 1170 00:57:36,810 --> 00:57:39,130 และแล้วเราก็ไปลงในแต่ละเหล่านี้ 1171 00:57:39,130 --> 00:57:44,370 ดังนั้นหัวมีชื่อซึ่ง มีการตอบคำถามที่เราเห็นที่นี่ 1172 00:57:44,370 --> 00:57:48,210 และแล้วในกรณีนี้เรามี ร่างกายซึ่งมีทั้งสามสาย 1173 00:57:48,210 --> 00:57:51,470 ดังนั้นเหล่านี้ทั้งหมด พี่น้องทั้งหมดภายใต้ร่างกาย 1174 00:57:51,470 --> 00:57:53,732 OK? 1175 00:57:53,732 --> 00:57:56,190 เพื่อหวังว่าเมื่อคุณเห็น บางสิ่งบางอย่างเช่นนี้คุณต้องการ, 1176 00:57:56,190 --> 00:57:57,900 ใช่ฉันเพิ่งได้รับการวาดต้นไม้ 1177 00:57:57,900 --> 00:58:00,430 มันจะเป็นการดี 1178 00:58:00,430 --> 00:58:01,130 ตกลง 1179 00:58:01,130 --> 00:58:03,220 ดังนั้นอยากจะให้แน่ใจว่า พวกคุณรู้ว่า 1180 00:58:03,220 --> 00:58:10,510 >> ดังนั้นทำไมเราไม่ไป 32 กับต้นไม้ไบนารีของเราหรือไม่ 1181 00:58:10,510 --> 00:58:17,905 เพราะเมื่อคุณเข้าใจไบนารี ค้นหาต้นไม้ก็จริงๆไม่ใ​​ช่ว่าไม่ดี 1182 00:58:17,905 --> 00:58:20,960 ดังนั้น Everett ผมสามารถ erase-- ฉัน หมายถึงเหล่านี้ทั้งหมดออนไลน์เกินไป 1183 00:58:20,960 --> 00:58:24,130 ดังนั้นถ้าคุณมีคำถามใด ๆ 1184 00:58:24,130 --> 00:58:44,410 1185 00:58:44,410 --> 00:58:46,370 >> สูญเสียพื้นที่น้อยมี แต่ก็ OK 1186 00:58:46,370 --> 00:58:50,190 ดังนั้นต้นไม้ค้นหาแบบทวิภาคเป็น เพียงวิธีการจัดระเบียบข้อมูล 1187 00:58:50,190 --> 00:58:57,000 ไม่ได้อยู่ในอาร์เรย์ที่ รากอยู่เสมอมากขึ้น 1188 00:58:57,000 --> 00:59:03,500 กว่าเด็กซ้ายและราก มักจะน้อยกว่าเด็กที่เหมาะสม 1189 00:59:03,500 --> 00:59:04,770 ตกลง 1190 00:59:04,770 --> 00:59:08,160 >> ดังนั้นเราจึงมีการค้นหานี้ต้นไม้ที่ดีที่นี่ 1191 00:59:08,160 --> 00:59:13,360 เรามีตัวเลขเหล่านี้ 34, 59, 20, 106, 36, และ 52 1192 00:59:13,360 --> 00:59:15,160 และเราจำเป็นต้องจัดระเบียบ พวกเขาในทางดังกล่าว 1193 00:59:15,160 --> 00:59:22,100 เช่นว่ารากเป็นมากขึ้น กว่าทุกอย่างบนด้านซ้าย 1194 00:59:22,100 --> 00:59:24,750 และมันมีค่าน้อยกว่า ทุกอย่างที่อยู่ทางด้านขวา 1195 00:59:24,750 --> 00:59:29,580 และมักจะสิ่งที่คุณ ต้องการจะทำคือพยายามหา 1196 00:59:29,580 --> 00:59:31,720 สิ่งที่เกี่ยวกับที่อยู่ตรงกลาง 1197 00:59:31,720 --> 00:59:35,420 มีต้นไม้ค้นหาแบบทวิภาคคุณอาจมี ในการเล่นรอบนิด ๆ หน่อย ๆ กับมัน 1198 00:59:35,420 --> 00:59:40,850 >> แต่ในกรณีนี้ให้เพียง สมมติว่าเรารู้ว่านี่เป็นครั้งแรกหนึ่ง 1199 00:59:40,850 --> 00:59:44,870 ดังนั้น 36 คนแรกของเราที่นี่ 1200 00:59:44,870 --> 00:59:46,790 โดยปกติผมจะพยายาม และเลือกบางสิ่งบางอย่าง 1201 00:59:46,790 --> 00:59:50,160 เกี่ยวกับที่อยู่ตรงกลางที่จะ อาจให้ผลลัพธ์ที่ดีที่สุด 1202 00:59:50,160 --> 00:59:56,200 ดังนั้นตอนนี้เรารู้ว่าทุกอย่างบน ด้านนี้จะต้องน้อยกว่า 36 1203 00:59:56,200 --> 00:59:59,520 แต่ก็ยังมีสิ่งที่คุณจะได้เห็นคือ ที่เรามีสองจุดมากกว่าที่นี่ 1204 00:59:59,520 --> 01:00:04,350 ดังนั้นถ้าเรารู้ว่าเราต้องสอง ตัวเลขที่น้อยกว่าราก 1205 01:00:04,350 --> 01:00:08,670 จากนั้นคุณก็สามารถสั่งซื้อเหล่านี้ และเลือกตัวเลขที่สาม 1206 01:00:08,670 --> 01:00:09,390 ตกลง 1207 01:00:09,390 --> 01:00:11,550 >> ดังนั้นทำไมเราไม่เริ่มต้นด้วยด้านนี้หรือไม่? 1208 01:00:11,550 --> 01:00:17,270 ดังนั้นหากเรารู้ว่าทุกอย่างบน ด้านนี้จะต้องน้อยกว่า 36-- 1209 01:00:17,270 --> 01:00:21,290 แต่ถ้าเรามองไปที่คนนี้ เรารู้ว่าหมายเลขนี้ 1210 01:00:21,290 --> 01:00:25,180 จะต้องมีน้อยกว่าจำนวนนี้ใช่มั้ย? 1211 01:00:25,180 --> 01:00:30,810 เพราะตัวเลขนี้ที่นี่ จะอยู่ทางด้านขวา 1212 01:00:30,810 --> 01:00:34,680 และจำไว้ว่าเช่นเดียวกับในเรามีขนาดใหญ่ ต้นไม้ทุกอย่างที่อยู่ด้านขวา 1213 01:00:34,680 --> 01:00:37,130 จะต้องมีขนาดใหญ่กว่าราก 1214 01:00:37,130 --> 01:00:40,540 ด้วยวิธีนี้เรารู้ว่า สิ่งที่อยู่ในความต้องการนี​​้ 1215 01:00:40,540 --> 01:00:43,090 จะมีขนาดใหญ่กว่าสิ่งที่อยู่ที่นี่ 1216 01:00:43,090 --> 01:00:44,020 OK? 1217 01:00:44,020 --> 01:00:46,340 >> ดังนั้นเราจึงมีสองทางเลือก สำหรับทั้งสองฟอง 1218 01:00:46,340 --> 01:00:49,830 เรามี 32 และ 34-- หรือเสียใจ 1219 01:00:49,830 --> 01:00:53,330 20 และ 34 1220 01:00:53,330 --> 01:00:56,500 ดังนั้นวิธีการที่คุณคิดว่า เราอาจจะนำเหล่านี้มีอะไรบ้าง? 1221 01:00:56,500 --> 01:00:59,230 ถ้าคนนี้จะต้องมี มีขนาดใหญ่กว่าคนนี้ 1222 01:00:59,230 --> 01:01:04,340 นั่นหมายความว่าเราต้องการที่จะ ที่นี่มี 20 และ 34 ที่นี่ 1223 01:01:04,340 --> 01:01:05,340 ตกลง 1224 01:01:05,340 --> 01:01:09,380 >> ดังนั้นในทางเดียวกันเรามอง ที่ชนิดของต้นไม้ย่อยนี้ 1225 01:01:09,380 --> 01:01:14,994 และเราบอกว่าโอเคเราไม่ได้ 36 1226 01:01:14,994 --> 01:01:20,460 เรามี 106, 52, และ 59 1227 01:01:20,460 --> 01:01:21,590 ใช่มั้ย? 1228 01:01:21,590 --> 01:01:24,820 ในกรณีนี้ที่นี่เรา รู้ว่าคนนี้ความต้องการ 1229 01:01:24,820 --> 01:01:29,570 จะมีสิ่งหนึ่งที่เป็นมากกว่า และสิ่งหนึ่งที่น้อยกว่า 1230 01:01:29,570 --> 01:01:30,100 ใช่มั้ย? 1231 01:01:30,100 --> 01:01:34,580 ดังนั้นถ้าเราใส่เหล่านี้เพื่อที่จะเป็นเพียง เกี่ยวกับการหาค่ากลางอีกครั้ง 1232 01:01:34,580 --> 01:01:35,766 ดังนั้นค่ากลางของเราคือ 59 1233 01:01:35,766 --> 01:01:38,524 1234 01:01:38,524 --> 01:01:40,190 ดังนั้นแล้วเราบอกว่าโอเคสิ่งที่น้อยกว่า 59? 1235 01:01:40,190 --> 01:01:41,826 ดีที่ 52 1236 01:01:41,826 --> 01:01:42,950 และสิ่งที่ยิ่งใหญ่กว่า 59? 1237 01:01:42,950 --> 01:01:45,120 ดีที่ 106 1238 01:01:45,120 --> 01:01:45,930 OK? 1239 01:01:45,930 --> 01:01:49,430 ดังนั้นจึงเป็นเพียงเล็กน้อยเช่นปริศนา 1240 01:01:49,430 --> 01:01:53,160 มันมักจะช่วยโดยเฉพาะอย่างยิ่ง ในต้นไม้เล็ก ๆ เช่นนี้ 1241 01:01:53,160 --> 01:01:56,617 ถ้าคุณเพียงแค่สั่งซื้อได้ถ้าคุณ ทราบว่าหลายอยู่บนด้านซ้าย 1242 01:01:56,617 --> 01:01:58,450 และวิธีการที่หลายคนใน ที่เหมาะสมที่สามารถเพียง 1243 01:01:58,450 --> 01:02:01,050 ช่วยให้คุณสามารถเลือกสิ่งที่ ควรจะอยู่ที่รากของคุณ 1244 01:02:01,050 --> 01:02:02,922 และจากนั้นคุณสามารถชนิด ของการทำงานจากที่นั่น 1245 01:02:02,922 --> 01:02:05,080 MM-HM 1246 01:02:05,080 --> 01:02:05,580 33? 1247 01:02:05,580 --> 01:02:07,570 แน่ใจ 1248 01:02:07,570 --> 01:02:10,120 ตกลง 1249 01:02:10,120 --> 01:02:17,410 ดังนั้นเราจึงต้องการที่จะสร้างโหนด หรือต้นไม้ค้นหาแบบทวิภาค 1250 01:02:17,410 --> 01:02:20,416 และให้ดูที่สิ่งที่อาจจะอยู่ในนั้น 1251 01:02:20,416 --> 01:02:26,130 1252 01:02:26,130 --> 01:02:28,600 และผมคิดว่านี้จะ จริงจะมีปัญหาที่ผ่านมาของเรา 1253 01:02:28,600 --> 01:02:29,510 อา 1254 01:02:29,510 --> 01:02:30,010 ตกลง 1255 01:02:30,010 --> 01:02:48,190 1256 01:02:48,190 --> 01:02:48,690 ตกลง 1257 01:02:48,690 --> 01:02:55,580 1258 01:02:55,580 --> 01:02:58,040 >> นี้เป็นเหมือนสิ่งที่เราสามารถ คิดว่าเป็นโหนดใช่มั้ย? 1259 01:02:58,040 --> 01:03:01,610 เรามีค่าบางอย่างและเรา รู้ว่ามันจะอย่างใดอย่างหนึ่ง 1260 01:03:01,610 --> 01:03:03,830 มีซ้ายขวาและเด็ก 1261 01:03:03,830 --> 01:03:08,420 การค้นหาแบบไบนารี tree-- หมายความว่า ว่ามันมีที่ส่วนใหญ่เด็กสองคน 1262 01:03:08,420 --> 01:03:08,920 OK? 1263 01:03:08,920 --> 01:03:12,690 1264 01:03:12,690 --> 01:03:15,540 ลองคิดเกี่ยวกับวิธีที่เรา กำหนดรายการที่เชื่อมโยงใช่มั้ย? 1265 01:03:15,540 --> 01:03:17,740 >> เรามี int บางอย่างที่ แสดงค่า 1266 01:03:17,740 --> 01:03:20,760 เรามีตัวชี้ที่เป็นตัวแทนบางส่วน สิ่งที่มันเป็นไปต่อไป 1267 01:03:20,760 --> 01:03:23,350 ค้นหาต้นไม้ไบนารีจะคล้ายกันมาก 1268 01:03:23,350 --> 01:03:27,980 เรายังคงมีค่าบางอย่าง n ที่เราจะให้มันใช่มั้ย? 1269 01:03:27,980 --> 01:03:31,750 แล้วผมก็ดึงเหล่านี้มาก อย่างชัดเจนมีลูกศร, 1270 01:03:31,750 --> 01:03:34,010 เพราะพวกเขาได้อย่างมีประสิทธิภาพตัวชี้ 1271 01:03:34,010 --> 01:03:34,940 OK? 1272 01:03:34,940 --> 01:03:38,500 >> n ดังนั้นโดยปกติคืออะไร? 1273 01:03:38,500 --> 01:03:39,230 มันเป็นค่าบางอย่าง 1274 01:03:39,230 --> 01:03:41,800 เราทำอะไรมักจะกำหนดเป็น? 1275 01:03:41,800 --> 01:03:42,500 int 1276 01:03:42,500 --> 01:03:49,980 ดังนั้นเราจึงมี n int บางหรือค่า int, หรือสิ่งที่คุณต้องการจะเรียกมันว่า 1277 01:03:49,980 --> 01:03:53,230 แล้วเรามีซ้าย เด็กและเด็กที่เหมาะสม 1278 01:03:53,230 --> 01:03:54,570 ใช่มั้ย? 1279 01:03:54,570 --> 01:03:58,060 และเรารู้ว่าสิ่งที่พวกเขากำลัง จุดลิสิ่งที่พวกเขาชี้ไป? 1280 01:03:58,060 --> 01:04:01,560 พวกเขากำลังชี้ไปยังโหนดอื่น ๆ ใช่มั้ย? 1281 01:04:01,560 --> 01:04:07,540 ดังนั้นวิธีการที่เราจะประกาศตัวชี้โหนด? 1282 01:04:07,540 --> 01:04:10,480 1283 01:04:10,480 --> 01:04:11,460 >> ผู้ชม: [ไม่ได้ยิน] 1284 01:04:11,460 --> 01:04:12,472 >> ลำโพง 1: MM-HM 1285 01:04:12,472 --> 01:04:14,305 และเรากำลังจะมี สองคนนั้นใช่ไหม? 1286 01:04:14,305 --> 01:04:18,070 1287 01:04:18,070 --> 01:04:26,710 และจากนั้นเราสามารถที่แท้จริง ไม่เหลือเด็กซ้าย 1288 01:04:26,710 --> 01:04:30,950 และเหมาะสมสำหรับเด็กขวา 1289 01:04:30,950 --> 01:04:31,820 ที่จริงขอโทษ 1290 01:04:31,820 --> 01:04:33,155 เพราะเราต้อง struct 1291 01:04:33,155 --> 01:04:36,250 1292 01:04:36,250 --> 01:04:41,580 >> struct ดังนั้นเป็นเพราะเรายังไม่ได้ เสร็จสิ้นการประกาศยังโหนด 1293 01:04:41,580 --> 01:04:47,070 ดังนั้นโหนดอยู่ในที่นี่ 1294 01:04:47,070 --> 01:04:49,640 มันเป็นชนิดเช่น นิยาม recursive ใช่มั้ย? 1295 01:04:49,640 --> 01:04:53,140 ดังนั้นเมื่อเราอยู่ใน คำนิยามนี้เรา 1296 01:04:53,140 --> 01:04:57,310 ยังไม่เสร็จสิ้นการประกาศ โหนดเป็นโครงสร้าง 1297 01:04:57,310 --> 01:04:59,380 ดังนั้นเราจึงต้องทำ struct โหนดเพียงแค่จะบอกว่าใช่ 1298 01:04:59,380 --> 01:05:03,930 เราอยู่ในความเป็นจริงหมาย กลับไปยังสิ่งที่เราเองชนิด 1299 01:05:03,930 --> 01:05:07,410 นั่นเช่นเมื่อมีการ สร้างขึ้นก็จะปรับ 1300 01:05:07,410 --> 01:05:10,890 >> ดังนั้นวิธีการขนาดใหญ่ที่พวกคุณคิดว่านี้คืออะไร? 1301 01:05:10,890 --> 01:05:13,650 อะไรขนาดของโครงสร้างนี้? 1302 01:05:13,650 --> 01:05:14,370 12 1303 01:05:14,370 --> 01:05:14,870 ทำไม? 1304 01:05:14,870 --> 01:05:18,990 1305 01:05:18,990 --> 01:05:19,664 อย่างแม่นยำ 1306 01:05:19,664 --> 01:05:21,830 และในความเป็นจริงอย่างใดอย่างหนึ่ง คำถามแรกคำถามหนึ่ง 1307 01:05:21,830 --> 01:05:24,170 เป็นเรื่องเกี่ยวกับขนาดซึ่งเป็นเหตุผลที่ผมถาม 1308 01:05:24,170 --> 01:05:25,230 สิทธิ์ทั้งหมด 1309 01:05:25,230 --> 01:05:29,350 >> พวกเราจะไปสิ้นสุดเพราะ DCE จะตะโกนใส่ฉันถ้าเราทำไม่ได้ 1310 01:05:29,350 --> 01:05:33,790 แต่ถ้าพวกคุณมีคำถามใด ๆ แน่นอนส่งอีเมลฉันแจ้งให้เราทราบ 1311 01:05:33,790 --> 01:05:35,190 พวกคุณกำลังจะโยกไปมา 1312 01:05:35,190 --> 01:05:37,210 ฉันตื่นเต้นสุด 1313 01:05:37,210 --> 01:05:39,380 พวกคุณจะทำได้ ของวันพุธที่แล้ว 1314 01:05:39,380 --> 01:05:43,150 คุณจะได้รับในการทำงานในขั้นสุดท้ายของคุณ โครงการและมันเป็นไปได้ที่น่ากลัว 1315 01:05:43,150 --> 01:05:48,784 >> ผมจะอยู่ที่นี่ต่อไป สัปดาห์ 4:00-04:30 1316 01:05:48,784 --> 01:05:50,700 ถ้าพวกคุณต้องการที่จะมา รับแบบทดสอบของคุณ 1317 01:05:50,700 --> 01:05:54,410 ถ้าคุณต้องการที่จะหาฉันบางเวลาอื่น ๆ หรือเพียงแค่การประสานงานเวลาที่แตกต่างกัน 1318 01:05:54,410 --> 01:05:56,460 อย่าลังเลที่จะแจ้งให้เราทราบ 1319 01:05:56,460 --> 01:05:58,670 มิฉะนั้นนี้เป็นส่วนสุดท้ายของเรา 1320 01:05:58,670 --> 01:06:01,070 ดังนั้นมันจึงเป็นที่ดีที่จะเห็นพวกคุณ 1321 01:06:01,070 --> 01:06:02,450 กรุณาใช้ขนมอื่น ๆ อีกมากมาย 1322 01:06:02,450 --> 01:06:05,390 และโชคดีในการทดสอบของคุณ 1323 01:06:05,390 --> 01:06:06,687