1 00:00:00,000 --> 00:00:11,100 2 00:00:11,100 --> 00:00:12,300 >> დინამიკები 1: Hey ყველას! 3 00:00:12,300 --> 00:00:13,890 მივესალმებით თავში მონაკვეთზე. 4 00:00:13,890 --> 00:00:17,480 ასე მიხარია, რომ ბევრი თქვენგანი, როგორც აქ, და ყველას, ვინც თვალს ონლაინ რეჟიმში. 5 00:00:17,480 --> 00:00:18,760 6 00:00:18,760 --> 00:00:20,920 ასე რომ, როგორც ყოველთვის მივესალმებით უკან. 7 00:00:20,920 --> 00:00:24,360 იმედი მაქვს, რომ ყველა ჰქონდა ლამაზი კვირას, სავსე დასვენება, რელაქსაცია. 8 00:00:24,360 --> 00:00:26,026 ეს იყო ლამაზი გუშინ. 9 00:00:26,026 --> 00:00:27,525 ასე რომ, იმედი მაქვს, თქვენ სარგებლობდა გარეთ. 10 00:00:27,525 --> 00:00:28,840 11 00:00:28,840 --> 00:00:30,610 >> ასე რომ, პირველი რამდენიმე განცხადებები. 12 00:00:30,610 --> 00:00:31,920 13 00:00:31,920 --> 00:00:32,700 შეფასების. 14 00:00:32,700 --> 00:00:37,350 ასე რომ, ყველაზე მეტად თქვენ უნდა მიღებული ელ me თქვენი Scratch Pset, 15 00:00:37,350 --> 00:00:39,920 ისევე როგორც შეფასების pset 1. 16 00:00:39,920 --> 00:00:41,000 17 00:00:41,000 --> 00:00:42,220 ასე რომ, მხოლოდ რამდენიმე რამ. 18 00:00:42,220 --> 00:00:45,150 რა თქმა უნდა გამოიყენოს check50 in style50. 19 00:00:45,150 --> 00:00:47,250 ეს კი იმას ნიშნავდა, რომ იყოს რესურსები ბიჭები, 20 00:00:47,250 --> 00:00:50,660 დარწმუნდით, რომ თქვენ მიღების იმდენი რაოდენობა, როგორც თქვენ შეგიძლიათ 21 00:00:50,660 --> 00:00:52,390 გარეშე უხეშად კარგავს მათ. 22 00:00:52,390 --> 00:00:54,407 ასე რომ, რამ, როგორიცაა სტილი ძალიან მნიშვნელოვანია. 23 00:00:54,407 --> 00:00:55,740 ჩვენ ვაპირებთ, რომ მიიღოს off მას. 24 00:00:55,740 --> 00:00:58,115 ზოგიერთი შეიძლება უკვე შენიშნა, რომ თქვენი pset. 25 00:00:58,115 --> 00:00:58,920 26 00:00:58,920 --> 00:01:01,450 და check50 მხოლოდ ნამდვილად მარტივი გზა დარწმუნდით 27 00:01:01,450 --> 00:01:05,050 რომ ჩვენ რეალურად დაბრუნების რა უნდა დაუბრუნდეს მომხმარებელს, 28 00:01:05,050 --> 00:01:06,690 და ყველაფერი მუშაობს გამართულად. 29 00:01:06,690 --> 00:01:08,690 30 00:01:08,690 --> 00:01:12,040 >> მეორე შენიშვნა, დარწმუნდით, რომ თქვენი ატვირთვა რამ სწორი საქაღალდეში. 31 00:01:12,040 --> 00:01:14,470 რაც ჩემს ცხოვრებაში მხოლოდ ცოტა უფრო რთული, 32 00:01:14,470 --> 00:01:18,836 თუ თქვენ ატვირთეთ pset 2 შევიდა pset 1 იმიტომ, რომ როცა ჩამოტვირთოთ რამ, 33 00:01:18,836 --> 00:01:20,085 ისინი არ ჩამოტვირთვა სწორად. 34 00:01:20,085 --> 00:01:21,690 35 00:01:21,690 --> 00:01:24,560 და მე ვიცი, რომ ეს პატარა wonky სისტემა, შეეგუება, 36 00:01:24,560 --> 00:01:26,950 მაგრამ მხოლოდ სუპერ ფრთხილად, თუ მხოლოდ ჩემთვის, 37 00:01:26,950 --> 00:01:30,080 ასე რომ, როდესაც თქვენ მიღების წერილებს, at მოსწონს 2 საათზე და მე შეფასების. 38 00:01:30,080 --> 00:01:33,710 თუ არ გამოიწვიოს მე უნდა გამოიყურებოდეს ყველა გარშემო თქვენი pset. 39 00:01:33,710 --> 00:01:34,440 ზემოთ. 40 00:01:34,440 --> 00:01:37,270 >> მე ვიცი, რომ ადრე, მაგრამ სრულიად მიიღო წაიყვანეს მცველი 41 00:01:37,270 --> 00:01:40,800 ესსე, რომ იმის გამო ამ პარასკევს, რომ ჩემი პროფესორები, ისევე, როგორც, oh yeah. 42 00:01:40,800 --> 00:01:42,550 გახსოვდეთ, თქვენ უნდა ესეს გამო პარასკევს. 43 00:01:42,550 --> 00:01:45,780 ასე რომ, მე ვიცი, არავის არ მოსწონს უნდა ვიფიქროთ იმაზე, შუალედური 44 00:01:45,780 --> 00:01:50,620 მაგრამ თქვენი პირველი ვიქტორინა არის 15 ოქტომბერს, რომელიც ოქტომბერში იწყება ამ კვირაში. 45 00:01:50,620 --> 00:01:53,290 ასე რომ, ეს შეიძლება იყოს უფრო ადრე, ვიდრე მოსალოდნელი არ არის. 46 00:01:53,290 --> 00:01:57,510 ასე რომ თქვენ არ დააგდეს off ფხიზლად მინდა აღვნიშნო, რომ მომავალ კვირას სექცია, რომელიც oh, 47 00:01:57,510 --> 00:02:00,560 თქვენი ვიქტორინა მომავალ კვირას, ვფიქრობდი, მე მინდა გადმოგცეთ ცოტა მეტი 48 00:02:00,560 --> 00:02:01,500 of ხელმძღვანელები ახლა. 49 00:02:01,500 --> 00:02:02,970 50 00:02:02,970 --> 00:02:04,660 >> ასე რომ, თქვენი პრობლემა კომპლექტი, ნომერი სამი. 51 00:02:04,660 --> 00:02:07,070 როგორ ხალხი წაიკითხავს სპეც გარეთ ცნობისმოყვარეობა? 52 00:02:07,070 --> 00:02:08,560 53 00:02:08,560 --> 00:02:09,199 OK. 54 00:02:09,199 --> 00:02:10,229 ჩვენ მივიღეთ რამდენიმე. 55 00:02:10,229 --> 00:02:12,320 სახის ქვემოთ ბოლო კვირას, მაგრამ ეს OK. 56 00:02:12,320 --> 00:02:13,650 მე ვიცი, რომ ეს იყო ლამაზი out. 57 00:02:13,650 --> 00:02:15,120 58 00:02:15,120 --> 00:02:16,660 ასე დაარღვიე Out. 59 00:02:16,660 --> 00:02:21,010 აუცილებლად შემდეგ თქვენ გაკეთდეს დღეს წავიკითხე თქვენი სპეც მინიმუმ 60 00:02:21,010 --> 00:02:25,240 ცდილობენ, როგორიცაა ჩამოტვირთვის განაწილების კოდი და გაშვებული 61 00:02:25,240 --> 00:02:27,430 როგორც საწყის საქმე იმაშია, რომ ისინი გთხოვოთ. 62 00:02:27,430 --> 00:02:28,681 63 00:02:28,681 --> 00:02:32,590 იმიტომ, რომ ჩვენ გამოყენებით განაწილების კოდი და ბიბლიოთეკა 64 00:02:32,590 --> 00:02:36,790 რომ ჩვენ მხოლოდ using-- --It მხოლოდ მეორედ, ჩვენ გავაკეთეთ ამ Pset, 65 00:02:36,790 --> 00:02:38,650 გიჟები რამ შეიძლება მოხდეს თქვენი მოწყობილობების, 66 00:02:38,650 --> 00:02:41,370 და თქვენ სურს იპოვოს, რომ ახლა წინააღმდეგ შემდეგ. 67 00:02:41,370 --> 00:02:45,570 >> იმიტომ, რომ თუ ის ხუთშაბათს ღამით ან ეს ღამით და რატომღაც 68 00:02:45,570 --> 00:02:48,912 თქვენი მოწყობილობის უბრალოდ არ გსურთ აწარმოებს ბიბლიოთეკა 69 00:02:48,912 --> 00:02:50,620 ან განაწილების კოდი, რომელიც საშუალება 70 00:02:50,620 --> 00:02:52,309 თქვენ კი არ დაიწყოს აკეთებს კოდირებას. 71 00:02:52,309 --> 00:02:54,100 იმიტომ, რომ არ შეგიძლიათ შეამოწმოთ თუ ეს მუშაობს. 72 00:02:54,100 --> 00:02:55,975 თქვენი არ ამოვიღებთ შეძლებს ვნახოთ, თუ იგი ადგენს. 73 00:02:55,975 --> 00:03:00,500 გსურთ იზრუნოს იმ დასაწყისში კვირას, როდესაც თქვენ მაინც მომაწოდეთ 74 00:03:00,500 --> 00:03:03,100 ან რომელიმე სხვა TFs, და ჩვენ შეგვიძლია მივიღოთ იმ დაფიქსირდა. 75 00:03:03,100 --> 00:03:05,410 იმის გამო, რომ ეს ის საკითხებია, რომ ვაპირებთ შეჩერება 76 00:03:05,410 --> 00:03:07,120 მიღების რაიმე რეალური პროგრესი. 77 00:03:07,120 --> 00:03:10,055 ეს იმას არ ნიშნავს, ერთი bug, რომელიც შეგიძლიათ უბრალოდ სახის გამოტოვოთ. 78 00:03:10,055 --> 00:03:10,712 79 00:03:10,712 --> 00:03:13,420 თუ თქვენ მქონე საკითხებზე თქვენი ელექტრო ან განაწილების კოდი, 80 00:03:13,420 --> 00:03:16,211 თქვენ ნამდვილად გვინდა, რომ მიღებული ზრუნვა ადრე თუ გვიან. 81 00:03:16,211 --> 00:03:20,410 ისე კი, თუ თქვენ არ ამოვიღებთ რეალურად დაიწყოს კოდირების, უფასო განაწილების 82 00:03:20,410 --> 00:03:24,040 კოდი, წაიკითხა სპეც, დარწმუნდით ყველაფერი მუშაობს იქ. 83 00:03:24,040 --> 00:03:25,134 OK? 84 00:03:25,134 --> 00:03:27,675 თუ შეგიძლიათ უბრალოდ რომ, მე გპირდებით, თქვენი ცხოვრება უფრო ადვილი იქნება. 85 00:03:27,675 --> 00:03:28,800 86 00:03:28,800 --> 00:03:31,410 და ასე რომ თქვენ ალბათ აპირებს ამის გაკეთება ახლა არა? 87 00:03:31,410 --> 00:03:32,100 OK. 88 00:03:32,100 --> 00:03:33,950 ასე რომ, ნებისმიერ კითხვებზე? 89 00:03:33,950 --> 00:03:35,850 ნებისმიერი ლოგისტიკური რამ? 90 00:03:35,850 --> 00:03:36,910 ყველას კარგი? 91 00:03:36,910 --> 00:03:38,270 OK. 92 00:03:38,270 --> 00:03:41,700 >> პასუხისმგებლობის შეზღუდვის განაცხადი იმ თქვენ ოთახში და ონლაინ. 93 00:03:41,700 --> 00:03:45,437 მე ვაპირებ ცდილობს გადართოთ შორის PowerPoint ელექტრო 94 00:03:45,437 --> 00:03:47,270 რადგან ჩვენ ვაპირებთ, იყოს აკეთებს კოდირებას 95 00:03:47,270 --> 00:03:53,630 დღეს პოპულარული მოთხოვნა ანონიმური წინადადება გამოკითხვა გააძევეს გასულ კვირას. 96 00:03:53,630 --> 00:03:55,480 ასე რომ, ჩვენ უნდა აკეთებს კოდირებას. 97 00:03:55,480 --> 00:03:57,800 ასე რომ, თუ თქვენ ბიჭები ასევე მინდა ცეცხლი თქვენი ნივთები, 98 00:03:57,800 --> 00:04:02,910 და თქვენ არ უნდა მიიღო ელ მე, ერთად ნიმუში ფაილი. 99 00:04:02,910 --> 00:04:04,310 გთხოვთ მოგერიდებათ გაგვაჩნია. 100 00:04:04,310 --> 00:04:07,340 >> ასე რომ, ჩვენ ვაპირებთ ვისაუბროთ GDB, რომელიც debugger. 101 00:04:07,340 --> 00:04:09,970 ის აპირებს დაგეხმაროთ სახის გაერკვნენ, სადაც 102 00:04:09,970 --> 00:04:11,860 ვაპირებთ არასწორი თქვენს კოდი. 103 00:04:11,860 --> 00:04:15,370 ეს უბრალოდ გზა თქვენ უნდა გადადგას თქვენი კოდი, როგორც ეს ხდება, 104 00:04:15,370 --> 00:04:19,100 და შეძლებს ამობეჭდოთ ცვლადები ან რა ხდება რეალურად 105 00:04:19,100 --> 00:04:22,980 ქვეშ Hood ლექსები თქვენი პროგრამა მხოლოდ გაშვებული, ეს როგორც ნასხლეტმა, 106 00:04:22,980 --> 00:04:25,030 და თქვენ, როგორიცაა, არ ვიცი რა მოხდა აქ. 107 00:04:25,030 --> 00:04:26,730 მე არ ვიცი, რა ხაზის ეს ვერ შეძლეს. 108 00:04:26,730 --> 00:04:29,040 მე არ ვიცი, სადაც ეს მოხდა. 109 00:04:29,040 --> 00:04:31,280 ასე რომ, GDB აპირებს დაგეხმარებათ, რომ. 110 00:04:31,280 --> 00:04:35,240 გარდა ამისა, თუ თქვენ გადაწყვიტეთ გაგრძელდება დიახ, და მიიღოს 61, 111 00:04:35,240 --> 00:04:38,430 ეს მართლაც, მართლაც იყოს თქვენი საუკეთესო მეგობარი, მიზეზი მე შემიძლია გითხრათ, 112 00:04:38,430 --> 00:04:40,840 იმიტომ, რომ მე ვაპირებ მეშვეობით, რომ კლასი. 113 00:04:40,840 --> 00:04:43,620 >> ჩვენ ვაპირებთ შევხედოთ ორობითი ძებნა, რომელიც თუ ბიჭები გახსოვთ 114 00:04:43,620 --> 00:04:47,540 დიდი სატელეფონო წიგნი მაგალითად სპექტაკლი კლასის. 115 00:04:47,540 --> 00:04:50,620 ჩვენ უნდა განხორციელების, რომ, და გავლით, რომ ცოტა მეტი, 116 00:04:50,620 --> 00:04:54,650 და მაშინ ჩვენ ვაპირებთ ოთხ სხვადასხვა სახის, რომლებიც Bubble, 117 00:04:54,650 --> 00:04:56,285 შერჩევის, Insertion და შერწყმა. 118 00:04:56,285 --> 00:04:57,830 119 00:04:57,830 --> 00:04:58,330 ზემოთ. 120 00:04:58,330 --> 00:05:00,390 ასე რომ, GDB, როგორც აღვნიშნე, არის debugger. 121 00:05:00,390 --> 00:05:01,400 122 00:05:01,400 --> 00:05:09,370 და ეს არის ერთგვარი დიდი რამ, big ფუნქცია ან ბრძანებები 123 00:05:09,370 --> 00:05:13,240 რომ გამოიყენოთ ფარგლებში GDB, და მე ფეხით თქვენ მეშვეობით დემო იგი მეორე. 124 00:05:13,240 --> 00:05:15,360 >> ასე რომ, ეს არ არის მხოლოდ დარჩება აბსტრაქტული. 125 00:05:15,360 --> 00:05:18,000 ვეცდები და მას, როგორც ბეტონის შესაძლებელია თქვენთვის ბიჭები. 126 00:05:18,000 --> 00:05:19,870 ასე რომ, შესვენება. 127 00:05:19,870 --> 00:05:22,200 ეს კიდე იყოს break როგორიცაა, ზოგიერთი ნომერი, რომელიც 128 00:05:22,200 --> 00:05:26,900 წარმოადგენს ხაზი თქვენს პროგრამაში, ან შეგიძლიათ დაასახელოთ ფუნქცია. 129 00:05:26,900 --> 00:05:30,150 ასე რომ, თუ თქვენ აცხადებენ, რომ შესვენება მთავარ, ის შეწყვეტს მთავარი, 130 00:05:30,150 --> 00:05:32,400 და მოდით გავლა, რომ ფუნქცია. 131 00:05:32,400 --> 00:05:36,350 >> გარდა ამისა, თუ თქვენ გაქვთ რაიმე გარე ფუნქციონირებს, როგორც Swap ან Cube, 132 00:05:36,350 --> 00:05:38,450 ჩვენ შევხედეთ გასულ კვირას. 133 00:05:38,450 --> 00:05:41,780 თუ ამბობენ, რომ შესვენება ერთი იმ, როდესაც თქვენი პროგრამის ჰიტები, რომ 134 00:05:41,780 --> 00:05:44,290 ეს თქვენ დაველოდოთ თქვენ ვუთხრა მას, რა უნდა გააკეთოს. 135 00:05:44,290 --> 00:05:47,860 სანამ უბრალოდ შეასრულოს, ასე რომ თქვენ შეიძლება რეალურად დაიხევს შიგნით ფუნქცია 136 00:05:47,860 --> 00:05:49,020 და ვნახოთ რა ხდება. 137 00:05:49,020 --> 00:05:50,370 138 00:05:50,370 --> 00:05:53,515 ასე რომ, შემდეგი, უბრალოდ ნახტომი მეტი შემდეგი ხაზი, მიდის ფუნქციები. 139 00:05:53,515 --> 00:05:54,730 140 00:05:54,730 --> 00:05:55,560 ნაბიჯი. 141 00:05:55,560 --> 00:05:56,810 ეს არის ყველა ცოტა აბსტრაქტული. 142 00:05:56,810 --> 00:06:00,530 ასე რომ, მე მხოლოდ აპირებს მათ, მაგრამ დაინახავთ მათ გამოყენება მეორე. 143 00:06:00,530 --> 00:06:01,810 >> ნაბიჯი შევიდა ფუნქცია. 144 00:06:01,810 --> 00:06:04,170 ასე რომ, როგორც მე ამბობდა, ისევე, როგორც Swap, რომ ის 145 00:06:04,170 --> 00:06:07,110 საშუალებას მოგცემთ რეალურად თითქოს თქვენ როგორც ფიზიკურად სტეპინგზე შიგნით, 146 00:06:07,110 --> 00:06:10,990 თქვენ შეგიძლიათ სასადილო ცვლადები, ბეჭდვა გაირკვეს, თუ რა ისინი, რა ხდება. 147 00:06:10,990 --> 00:06:12,140 148 00:06:12,140 --> 00:06:14,830 სია იქნება ფაქტიურად მხოლოდ ბეჭდვა out მიმდებარე კოდი. 149 00:06:14,830 --> 00:06:17,570 ასე რომ, თუ როგორი დაგავიწყდეთ სადაც თქვენ ხართ თქვენს პროგრამაში, 150 00:06:17,570 --> 00:06:19,880 ან თქვენ გაინტერესებთ რა ხდება გარშემო, 151 00:06:19,880 --> 00:06:23,790 ეს უბრალოდ ამობეჭდოთ სეგმენტი მოსწონს ხუთი ან ექვსი ხაზები გარშემო. 152 00:06:23,790 --> 00:06:26,080 ასე რომ, შეგიძლიათ ორიენტირებული შესახებ, სადაც ხართ. 153 00:06:26,080 --> 00:06:27,230 154 00:06:27,230 --> 00:06:28,650 >> ბეჭდვა ზოგიერთი ცვლადი. 155 00:06:28,650 --> 00:06:34,590 ასე რომ, თუ თქვენ გაქვთ გასაღები, როგორიცაა კეისარი, რომ ჩვენ შევხედოთ. 156 00:06:34,590 --> 00:06:36,220 შეიძლება ითქვას, Print ძირითადი ნებისმიერ წერტილში. 157 00:06:36,220 --> 00:06:40,070 ის გეტყვით, თუ რა ღირებულება არის ასე რომ, შესაძლოა, სადღაც გზაზე, 158 00:06:40,070 --> 00:06:42,070 თქვენ overwrote თქვენი გასაღები. 159 00:06:42,070 --> 00:06:45,495 თქვენ შეგიძლიათ რეალურად გითხრათ, რომ იმის გამო, თქვენ შეგიძლიათ რეალურად ვაკვირდებით, რომ ღირებულება. 160 00:06:45,495 --> 00:06:46,500 161 00:06:46,500 --> 00:06:48,780 >> ადგილობრივებს, ისევე ანაბეჭდები თქვენი ადგილობრივი ცვლადები. 162 00:06:48,780 --> 00:06:53,120 ასე რომ, ნებისმიერ დროს თქვენ ფარგლებში მარყუჟის, და თქვენ უბრალოდ გვინდა, რომ მოსწონს, oh. 163 00:06:53,120 --> 00:06:54,270 რა არის ჩემი მე? 164 00:06:54,270 --> 00:06:57,020 რა არის ეს ძირითადი ღირებულება რომ მე ვრთავ აქ? 165 00:06:57,020 --> 00:06:58,537 რა არის გაგზავნა ამ ეტაპზე? 166 00:06:58,537 --> 00:07:00,370 ეს იქნება მხოლოდ ბეჭდვა იმ, ასე რომ თქვენ 167 00:07:00,370 --> 00:07:04,330 არ უნდა ინდივიდუალურად ამბობენ, Print I. შეტყობინების ამობეჭდვა. 168 00:07:04,330 --> 00:07:04,970 Print Key. 169 00:07:04,970 --> 00:07:06,190 170 00:07:06,190 --> 00:07:07,700 და მაშინ არიან. 171 00:07:07,700 --> 00:07:10,370 რა რომ არ არის, როგორც თქვენ დაიხევს მეშვეობით პროგრამა, 172 00:07:10,370 --> 00:07:13,980 ეს უბრალოდ, დარწმუნდით, რომ ეს აჩვენებს გარკვეული ცვლადი 173 00:07:13,980 --> 00:07:14,780 ყველა წერტილი. 174 00:07:14,780 --> 00:07:17,160 ასე რომ თქვენ also-- --it არის სახის კომბინაცია, სადაც 175 00:07:17,160 --> 00:07:19,530 თქვენ არ გაქვთ შენარჩუნება აპირებს, როგორიცაა, OH. 176 00:07:19,530 --> 00:07:23,150 ბეჭდვა ძირითადი ან ბეჭდვის I. უბრალოდ ავტომატურად გააკეთებს იგი თქვენთვის. 177 00:07:23,150 --> 00:07:25,959 >> ასე, რომ, ჩვენ ვაპირებთ ნახეთ, თუ როგორ მიდის. 178 00:07:25,959 --> 00:07:28,000 მე ვაპირებ ცდილობენ და შეცვლა მეტი ჩემს ელექტრო მოწყობილობების. 179 00:07:28,000 --> 00:07:30,200 180 00:07:30,200 --> 00:07:31,271 თუ მე შემიძლია ამის გაკეთება. 181 00:07:31,271 --> 00:07:31,770 ყველა. 182 00:07:31,770 --> 00:07:40,970 183 00:07:40,970 --> 00:07:42,370 ჩვენ უბრალოდ აპირებს სარკისებური იგი. 184 00:07:42,370 --> 00:07:44,530 იქ არაფერი გიჟები ჩემი ლეპტოპი მაინც. 185 00:07:44,530 --> 00:07:49,600 186 00:07:49,600 --> 00:07:50,100 OK. 187 00:07:50,100 --> 00:07:57,030 188 00:07:57,030 --> 00:08:01,054 ეს უნდა იყოს ეს ერთი. 189 00:08:01,054 --> 00:08:01,795 ეს იმდენად პატარა. 190 00:08:01,795 --> 00:08:03,730 191 00:08:03,730 --> 00:08:05,120 მოდით ვნახოთ, თუ ჩვენ შეგვიძლია ამის გაკეთება. 192 00:08:05,120 --> 00:08:09,970 193 00:08:09,970 --> 00:08:10,940 >> OK. 194 00:08:10,940 --> 00:08:15,305 Alice აშკარად ცდილობს აქ ცოტა, 195 00:08:15,305 --> 00:08:17,995 მაგრამ ჩვენ ეს momento. 196 00:08:17,995 --> 00:08:20,810 197 00:08:20,810 --> 00:08:22,020 OK. 198 00:08:22,020 --> 00:08:25,900 ჩვენ უბრალოდ აპირებს გაზარდოს ეს. 199 00:08:25,900 --> 00:08:28,770 200 00:08:28,770 --> 00:08:29,380 OK. 201 00:08:29,380 --> 00:08:31,679 შეიძლება ყველას სახის, რომ? 202 00:08:31,679 --> 00:08:32,470 იქნებ ცოტა? 203 00:08:32,470 --> 00:08:33,594 მე ვიცი, რომ ცოტა პატარა. 204 00:08:33,594 --> 00:08:34,570 205 00:08:34,570 --> 00:08:37,530 თქვენ ვერ საკმაოდ გაერკვნენ როგორ უნდა ამ დიდი. 206 00:08:37,530 --> 00:08:38,350 თუ ვინმე იცის. 207 00:08:38,350 --> 00:08:40,309 ვინმეს ვიცი როგორ, რათა ის უფრო დიდი? 208 00:08:40,309 --> 00:08:40,932 OK. 209 00:08:40,932 --> 00:08:42,140 ჩვენ ვაპირებთ, რომ გააფართოვოს მას. 210 00:08:42,140 --> 00:08:45,801 არ აქვს მნიშვნელობა, მაინც, რადგან ეს მხოლოდ ეს კოდი, რომ თქვენ ბიჭები უნდა 211 00:08:45,801 --> 00:08:46,300 აქვს. 212 00:08:46,300 --> 00:08:48,310 >> რაც მთავარია, ტერმინალის აქ. 213 00:08:48,310 --> 00:08:52,840 214 00:08:52,840 --> 00:08:58,690 და ჩვენ გვაქვს რატომ არის ასე პატარა? 215 00:08:58,690 --> 00:09:02,325 216 00:09:02,325 --> 00:09:02,825 პარამეტრები. 217 00:09:02,825 --> 00:09:07,920 218 00:09:07,920 --> 00:09:08,420 Oh. 219 00:09:08,420 --> 00:09:09,500 True Ike. 220 00:09:09,500 --> 00:09:10,880 როგორ არის ეს? 221 00:09:10,880 --> 00:09:11,770 გარეთ არსებობს. 222 00:09:11,770 --> 00:09:19,370 223 00:09:19,370 --> 00:09:21,810 ის არის, რომ ყველასთვის უკეთესი? 224 00:09:21,810 --> 00:09:22,525 OK ,. 225 00:09:22,525 --> 00:09:23,025 ზემოთ. 226 00:09:23,025 --> 00:09:25,830 227 00:09:25,830 --> 00:09:28,220 >> თქვენ იცით, როდესაც თქვენ CS კლასი ტექნიკური სირთულეების 228 00:09:28,220 --> 00:09:32,971 სახის ნაწილი the-- ასე რომ, მოდით გარკვევა ამ. 229 00:09:32,971 --> 00:09:33,470 OK. 230 00:09:33,470 --> 00:09:38,060 ასე რომ, აქ განყოფილებიანი, რომელიც ჩვენ გვქონდა აქ. 231 00:09:38,060 --> 00:09:40,830 Caesar არის შესრულებადი ფაილი. 232 00:09:40,830 --> 00:09:41,800 ამიტომ მე მივიღე იგი. 233 00:09:41,800 --> 00:09:46,370 ასე რომ, ერთი რამ უნდა გააცნობიეროს ერთად GDB არის რომ ეს მუშაობს მხოლოდ შესრულებადი ფაილი. 234 00:09:46,370 --> 00:09:48,040 ასე რომ, თქვენ ვერ აწარმოებს DOTSY. 235 00:09:48,040 --> 00:09:50,532 თქვენ უნდა რეალურად დარწმუნებული ვარ, რომ თქვენი კოდი ადგენს, 236 00:09:50,532 --> 00:09:51,865 და ის, რომ რეალურად აწარმოებს. 237 00:09:51,865 --> 00:09:52,970 238 00:09:52,970 --> 00:09:56,186 >> ასე რომ, დარწმუნებული ვარ, რომ თუ ის არ შედგენა, მას შედგენა, 239 00:09:56,186 --> 00:09:57,810 ასე რომ თქვენ შეგიძლიათ სახის აწარმოებს მეშვეობით. 240 00:09:57,810 --> 00:10:04,590 ასე რომ, დავიწყოთ GDB, ყველა თქვენ, Gloria ტიპის GDB, და მერე მხოლოდ 241 00:10:04,590 --> 00:10:06,250 ფაილი, რომელიც გსურთ. 242 00:10:06,250 --> 00:10:08,240 მე ყოველთვის შეცდომას დავუშვებთ Caesar. 243 00:10:08,240 --> 00:10:11,730 მაგრამ თქვენ უნდა დავრწმუნდეთ, მას შემდეგ, რაც ის შემსრულებელი, 244 00:10:11,730 --> 00:10:14,210 ti ს dot ფლეშ ასე რომ ნიშნავს, რომ თქვენ აპირებს 245 00:10:14,210 --> 00:10:19,240 აწარმოებს CSI თქვენ აპირებს შეასრულოს ეს ფაილი ვერც debugger. 246 00:10:19,240 --> 00:10:19,910 OK. 247 00:10:19,910 --> 00:10:22,885 ამიტომ, თქვენ, თქვენ მიიღოს ამ სახის გაუგებრობა. 248 00:10:22,885 --> 00:10:24,250 249 00:10:24,250 --> 00:10:25,750 ეს მხოლოდ ყველა რამ debugger. 250 00:10:25,750 --> 00:10:28,200 თქვენ ნამდვილად არ უნდა ფიქრი ახლა. 251 00:10:28,200 --> 00:10:31,460 და როგორც ხედავთ, ჩვენ გვაქვს ამ ღია parens, მშპ, მჭიდრო parens, 252 00:10:31,460 --> 00:10:34,690 და მხოლოდ სახის ჰგავს ჩვენი ბრძანების ხაზი, არა? 253 00:10:34,690 --> 00:10:37,010 >> ასე რომ, რაც ჩვენ გვინდა გავაკეთოთ --So, პირველ რიგში, 254 00:10:37,010 --> 00:10:39,570 ჩვენ გვინდა აირჩიეთ ადგილი დაარღვიოს იგი. 255 00:10:39,570 --> 00:10:42,332 ასე რომ, არსებობს ერთი bug ამ Caesar პროგრამა 256 00:10:42,332 --> 00:10:44,290 რომ მე გააცნობს, რომელიც ჩვენ ვაპირებთ გავარკვიოთ. 257 00:10:44,290 --> 00:10:45,330 258 00:10:45,330 --> 00:10:56,350 ეს რა არ არის ეს ხდება შეყვანის Barfoo ყველა caps, და რატომღაც 259 00:10:56,350 --> 00:11:01,950 ეს არ ცვლის ა ტოვებს არაფერი არ არის ყველაფერი სწორია, 260 00:11:01,950 --> 00:11:03,980 მაგრამ მეორე წერილი უცვლელი რჩება. 261 00:11:03,980 --> 00:11:07,120 ასე რომ, ჩვენ ვაპირებთ შევეცადოთ და გაერკვნენ, თუ რატომ არის. 262 00:11:07,120 --> 00:11:10,440 ასე რომ, პირველი, რაც თქვენ, როგორც წესი, მინდა ამის გაკეთება, როდესაც თქვენ დაიწყოს GDB 263 00:11:10,440 --> 00:11:12,010 გაერკვნენ, სადაც შესვენება იგი. 264 00:11:12,010 --> 00:11:14,956 >> ასე რომ კეისრის არის საკმაოდ მოკლე პროგრამა. 265 00:11:14,956 --> 00:11:16,330 ჩვენ მხოლოდ ერთი ფუნქცია, არა? 266 00:11:16,330 --> 00:11:18,520 რა იყო ჩვენი ფუნქცია Caesar? 267 00:11:18,520 --> 00:11:19,590 268 00:11:19,590 --> 00:11:24,350 არსებობს მხოლოდ ერთი ფუნქცია, მთავარი არა? 269 00:11:24,350 --> 00:11:26,490 მთავარი არის ფუნქცია ყველა თქვენი პროგრამებს. 270 00:11:26,490 --> 00:11:29,230 თუ თქვენ არ აქვს მთავარი, ალბათ, იყოს პატარა აწუხებს ახლა, 271 00:11:29,230 --> 00:11:31,000 მაგრამ იმედი მაქვს, რომ ყველა ჰქონდა Main არსებობს. 272 00:11:31,000 --> 00:11:34,150 ასე რომ, რა შეგვიძლია გავაკეთოთ არის შეგვიძლია უბრალოდ შესვენება მთავარ, ისევე, რომ. 273 00:11:34,150 --> 00:11:35,190 ასე, იგი ამბობს, OK. 274 00:11:35,190 --> 00:11:37,430 ჩვენ დავსახეთ ჩვენი breakpoint არ არსებობს. 275 00:11:37,430 --> 00:11:42,870 >> ასე რომ, ახლა ის უნდა გვახსოვდეს არის Caesar იღებს ერთი ბრძანება ხაზი არგუმენტი მარჯვენა 276 00:11:42,870 --> 00:11:45,150 და ჩვენ ეს არ გავაკეთეთ, რომ არსად არ არის. 277 00:11:45,150 --> 00:11:47,560 ასე რომ, თუ რას აკეთებთ, როდესაც თქვენ ნამდვილად წასვლა აწარმოებს 278 00:11:47,560 --> 00:11:51,540 პროგრამა, რაიმე პროგრამა, რომელიც თქვენ გაშვებული GDB, რომელიც საჭიროებს command line 279 00:11:51,540 --> 00:11:55,010 არგუმენტები, თქვენ აპირებს input როდესაც თქვენ დავიწყოთ გაშვებული. 280 00:11:55,010 --> 00:11:59,280 ასე რომ, ამ შემთხვევაში, ჩვენ გავაკეთებთ აწარმოებს გასაღები სამ. 281 00:11:59,280 --> 00:12:00,770 282 00:12:00,770 --> 00:12:02,040 და ეს რეალურად დაიწყოს. 283 00:12:02,040 --> 00:12:08,480 >> ასე რომ, თუ ხედავთ, ჩვენ გვაქვს თუ RC არ არის ტოლი 2. 284 00:12:08,480 --> 00:12:12,210 ასე რომ, თუ თქვენ ბიჭები ყველამ უნდა რომ ფაილი, რომელიც გააძევეს up 285 00:12:12,210 --> 00:12:15,100 თქვენ ნახავთ, რომ ასეთი პირველი ხაზი ჩვენი მთავარი ფუნქცია, არა? 286 00:12:15,100 --> 00:12:17,890 ის შემოწმების თუ ჩვენ სწორი რაოდენობის არგუმენტები. 287 00:12:17,890 --> 00:12:20,620 ასე რომ, თუ თქვენ გაინტერესებთ თუ RC არის სწორი, 288 00:12:20,620 --> 00:12:23,250 თქვენ შეგიძლიათ გააკეთოთ რაიმე, ისევე, როგორც Print RC. 289 00:12:23,250 --> 00:12:24,380 290 00:12:24,380 --> 00:12:28,640 RC არის ორი, რომელიც რასაც ჩვენ ველოდით, არა? 291 00:12:28,640 --> 00:12:32,010 >> ასე რომ, ჩვენ შეგვიძლია წავიდეთ შემდეგი და გაგრძელდება. 292 00:12:32,010 --> 00:12:33,200 ასე რომ, ჩვენ გვაქვს გარკვეული გასაღები არსებობს. 293 00:12:33,200 --> 00:12:34,260 294 00:12:34,260 --> 00:12:37,090 და ჩვენ შეგვიძლია ამობეჭდოთ ჩვენი მთავარი იმისათვის, რომ ეს სწორი. 295 00:12:37,090 --> 00:12:38,380 296 00:12:38,380 --> 00:12:39,500 საინტერესოა. 297 00:12:39,500 --> 00:12:41,210 არ არის საკმაოდ, რასაც ველოდით. 298 00:12:41,210 --> 00:12:44,810 ასე რომ, ერთი რამ უნდა გააცნობიეროს ერთად GDB ასევე, 299 00:12:44,810 --> 00:12:49,000 რომ ეს არ არის, სანამ თქვენ ნამდვილად მოხვდა შემდეგი, რომ ხაზი, რომ თქვენ უბრალოდ დაინახა 300 00:12:49,000 --> 00:12:50,720 რეალურად შესრულებული. 301 00:12:50,720 --> 00:12:53,870 ასე რომ, ამ შემთხვევაში ძირითადი არ იქნა დანიშნული არ არის. 302 00:12:53,870 --> 00:12:57,050 ასე რომ, ძირითადი ზოგიერთი ნაგვის ღირებულება რომ ხედავთ ბოლოში არსებობს. 303 00:12:57,050 --> 00:13:03,680 უარყოფითი $ 120-- --It ერთ მილიარდ და რაღაც უცნაური რამ უფლება? 304 00:13:03,680 --> 00:13:05,340 ეს არ არის მთავარი, რომ ჩვენ გვგონია. 305 00:13:05,340 --> 00:13:10,720 მაგრამ თუ ჩვენ მოხვდა შემდეგი, და მაშინ ჩვენ ცდილობენ და ბეჭდვა გასაღები, ეს სამი. 306 00:13:10,720 --> 00:13:11,710 >> ყველას ვხედავ, რომ? 307 00:13:11,710 --> 00:13:13,780 ასე რომ, თუ თქვენ გაქვთ რაიმე რომ თქვენ, ისევე, დაველოდოთ. 308 00:13:13,780 --> 00:13:15,540 ეს არის სრულიად არასწორი, და მე არ ვიცი, 309 00:13:15,540 --> 00:13:20,150 როგორ ეს მოხდებოდა, რადგან ყველა მინდა უნდა გავაკეთოთ არის მიანიჭოს ნომერი, ცვლადი, 310 00:13:20,150 --> 00:13:22,900 ცდილობენ დარტყმის შემდეგ, ცდილობენ ბეჭდვა კიდევ ერთხელ, და თუ მუშაობს. 311 00:13:22,900 --> 00:13:27,830 იმის გამო, რომ ეს მხოლოდ აპირებს შეასრულოს და რეალურად მივანიჭოთ რაღაც მას შემდეგ, რაც 312 00:13:27,830 --> 00:13:29,340 მოხვდა შემდეგი. 313 00:13:29,340 --> 00:13:30,336 აზრი, რომ ყველასთვის? 314 00:13:30,336 --> 00:13:30,836 Uh huh? 315 00:13:30,836 --> 00:13:33,220 >> დინამიკები 2: როცა შემთხვევითი ციფრები რას ნიშნავს? 316 00:13:33,220 --> 00:13:34,790 >> დინამიკები 1: ეს მხოლოდ შემთხვევითი. 317 00:13:34,790 --> 00:13:35,710 უბრალოდ ნაგვის. 318 00:13:35,710 --> 00:13:38,320 ეს არის მხოლოდ ის, რომ თქვენი კომპიუტერული შემთხვევით მინიჭებას. 319 00:13:38,320 --> 00:13:39,721 320 00:13:39,721 --> 00:13:40,220 ზემოთ. 321 00:13:40,220 --> 00:13:45,760 ასე რომ, ახლა ჩვენ შეგვიძლია გადაადგილება მეშვეობით, და ა.შ. ახლა გვაქვს ამ მარტივი ტექსტის GetString. 322 00:13:45,760 --> 00:13:48,600 ასე რომ, ნება მომეცით წარმოგიდგინოთ რა მოხდება მაშინ, როდესაც ჩვენ მოხვდა შემდეგი აქ. 323 00:13:48,600 --> 00:13:51,320 ჩვენი GDB სახის ქრება, არა? 324 00:13:51,320 --> 00:13:55,720 ეს იმიტომ, რომ GetString ახლა შესრულებაში, არა? 325 00:13:55,720 --> 00:14:01,460 ასე რომ, როდესაც დავინახეთ, ჩვეულებრივი ტექსტური შეადგენს GetString, ღია parens და parens, 326 00:14:01,460 --> 00:14:04,380 და ჩვენ მოხვდა შემდეგი, რომ აქვს რეალურად შესრულებული არ არის. 327 00:14:04,380 --> 00:14:06,580 ასე რომ, ეს ელოდება ჩვენს შეყვანის რაღაც. 328 00:14:06,580 --> 00:14:13,560 >> ასე რომ, ჩვენ ვაპირებთ input ჩვენი საკვები, რომელიც არის რასაც ის ვერ როგორც გითხარით 329 00:14:13,560 --> 00:14:18,020 და რომ მხოლოდ აცხადებს, რომ ეს დასრულდა შესრულებაში, რომ დახურული 330 00:14:18,020 --> 00:14:19,980 bracket იმას ნიშნავს, რომ არსებული გარეთ რომ მარყუჟი. 331 00:14:19,980 --> 00:14:21,170 332 00:14:21,170 --> 00:14:25,420 ასე რომ, ჩვენ შეგვიძლია მოხვდა შემდეგი, და ახლა, როგორც მე ვარ დარწმუნებული ვარ, თქვენ ყველა იცნობს კეისარ, 333 00:14:25,420 --> 00:14:27,260 ეს არის, რა არის ეს ხაზი აპირებს. 334 00:14:27,260 --> 00:14:32,030 ეს int მე შეადგენს 0, N შეადგენს Strlen, ძირითადი ტექსტი, და მაშინ 335 00:14:32,030 --> 00:14:33,960 მე ნაკლებია n, მე, ასევე, სასურველია. 336 00:14:33,960 --> 00:14:35,210 რა არის ეს loop აპირებს? 337 00:14:35,210 --> 00:14:37,900 338 00:14:37,900 --> 00:14:39,160 გახსენით თქვენი გაგზავნა. 339 00:14:39,160 --> 00:14:39,770 ზემოთ. 340 00:14:39,770 --> 00:14:41,330 ასე რომ, მოდით დავიწყოთ აკეთებს, რომ. 341 00:14:41,330 --> 00:14:47,210 >> ასე რომ, უნდა ამ მდგომარეობაში ემთხვევა, ჩვენი პირველი? 342 00:14:47,210 --> 00:14:52,250 თუ ეს B, ეს ჩვეულებრივი ტექსტური I. ჩვენ შეგიძლიათ მიიღოთ ინფორმაცია ჩვენი ადგილობრივები. 343 00:14:52,250 --> 00:14:53,610 344 00:14:53,610 --> 00:14:57,970 ასე რომ, მე ნულოვანი, და თუ ექვსი, რომელიც ჩვენ ველით, და ჩვენი გასაღები არის სამი. 345 00:14:57,970 --> 00:14:59,227 ყველა, რომ აზრი, არა? 346 00:14:59,227 --> 00:15:01,310 ეს ციფრები არ არის ყველა ზუსტად ის, რაც უნდა იყოს. 347 00:15:01,310 --> 00:15:02,590 348 00:15:02,590 --> 00:15:03,870 ასე რომ, hum? 349 00:15:03,870 --> 00:15:05,620 დინამიკები 3: მე მაქვს შემთხვევითი ნომრები აფეთქდა. 350 00:15:05,620 --> 00:15:09,156 351 00:15:09,156 --> 00:15:12,030 დინამიკები 1: ისე, ჩვენ შეგვიძლია შეამოწმოთ --we სტატისტიკა იმის შესახებ, რომ მეორე. 352 00:15:12,030 --> 00:15:14,110 353 00:15:14,110 --> 00:15:15,750 მაგრამ თქვენ უნდა მიღების ეს. 354 00:15:15,750 --> 00:15:17,700 355 00:15:17,700 --> 00:15:20,130 ასე რომ, თუ გვაქვს დედაქალაქში B ჩვენი პირველი, 356 00:15:20,130 --> 00:15:22,080 ეს მდგომარეობა უნდა დაიჭიროთ იგი, არა? 357 00:15:22,080 --> 00:15:27,120 ასე რომ, თუ ჩვენ მოხვდა შემდეგი, ჩვენ ვხედავთ რომ ეს თუ რეალურად ახორციელებს. 358 00:15:27,120 --> 00:15:29,220 იმიტომ, რომ თუ თქვენ შემდეგ ერთად თქვენი კოდი, 359 00:15:29,220 --> 00:15:33,460 ეს ხაზი აქ, სადაც ჩვეულებრივი ტექსტური I შეიცვალა ამ არითმეტიკული, 360 00:15:33,460 --> 00:15:35,720 მხოლოდ აღასრულებს თუ თუ მდგომარეობა სწორია არა? 361 00:15:35,720 --> 00:15:36,905 362 00:15:36,905 --> 00:15:40,240 >> GDB მხოლოდ აპირებს აჩვენებს, თუ რამ, რაც რეალურად შესრულებაში. 363 00:15:40,240 --> 00:15:45,140 ასე რომ, თუ, თუ მდგომარეობა არ შეხვდა, ეს უბრალოდ აპირებს გამოტოვოთ მომდევნო ხაზი. 364 00:15:45,140 --> 00:15:46,540 OK? 365 00:15:46,540 --> 00:15:48,510 ასე რომ, ჩვენ გვაქვს. 366 00:15:48,510 --> 00:15:51,171 ამ bracket იმას ნიშნავს, რომ დახურული გარეთ რომ მარყუჟი ახლა. 367 00:15:51,171 --> 00:15:52,420 ასე რომ, ის აპირებს დაიწყოს თავიდან. 368 00:15:52,420 --> 00:15:54,760 369 00:15:54,760 --> 00:15:56,280 ისევე, რომ. 370 00:15:56,280 --> 00:15:59,120 ასე, რომ ჩვენ შეგვიძლია მივიღოთ ინფორმაცია ჩვენი ადგილობრივები აქ, 371 00:15:59,120 --> 00:16:02,575 და ჩვენ ვხედავთ, რომ ჩვენი პირველი წერილი შეიცვალა, არა? 372 00:16:02,575 --> 00:16:05,150 ეს არის E, როგორც ეს უნდა იყოს. 373 00:16:05,150 --> 00:16:07,360 ასე რომ, ჩვენ შეგვიძლია გავაგრძელოთ. 374 00:16:07,360 --> 00:16:08,500 >> და ჩვენ უნდა შეამოწმოს. 375 00:16:08,500 --> 00:16:09,916 და ეს შემოწმება უნდა იმუშაოს, არა? 376 00:16:09,916 --> 00:16:12,570 ეს ა უნდა შეიცვალოს სამი ასო წინ. 377 00:16:12,570 --> 00:16:14,320 378 00:16:14,320 --> 00:16:16,530 მაგრამ თუ თქვენ შეამჩნევთ, რომ ჩვენ კიდევ რაიმე განსხვავებული. 379 00:16:16,530 --> 00:16:17,580 380 00:16:17,580 --> 00:16:22,860 ასე რომ, ამ შემთხვევაში აქ, ის დაიჭირეს ეს, და ამიტომ ეს ხაზი შესრულებული, 381 00:16:22,860 --> 00:16:28,620 რომელიც შეცვლილია ჩვენი B. მაგრამ, ამ შემთხვევაში აქ, 382 00:16:28,620 --> 00:16:32,860 ჩვენ გვაქვს, რომ ეს მხოლოდ გამოტოვებენ,, და წავიდა [? L SIFF. ?] 383 00:16:32,860 --> 00:16:34,660 ასე რომ რაღაც ხდება იქ. 384 00:16:34,660 --> 00:16:37,780 რა, რომ გეუბნებოდით არის, რომ, ჩვენ ვიცით, რომ ეს უნდა დაჭერა აქ, 385 00:16:37,780 --> 00:16:39,200 მაგრამ ეს არ არის. 386 00:16:39,200 --> 00:16:42,210 შეიძლება ვინმეს რა ჩვენი პრობლემა ის არის, რომ ხაზი? 387 00:16:42,210 --> 00:16:45,380 388 00:16:45,380 --> 00:16:46,969 ეს ძალიან წუთი რამ. 389 00:16:46,969 --> 00:16:48,510 და თქვენ შეიძლება ასევე შევხედოთ თქვენი კოდი. 390 00:16:48,510 --> 00:16:49,980 391 00:16:49,980 --> 00:16:54,940 ის ასევე ხაზი დაგვავიწყდეს, რა ხაზის ეს in იქ, მაგრამ ის, რომ [INAUDIBLE]. 392 00:16:54,940 --> 00:16:55,480 დიახ? 393 00:16:55,480 --> 00:16:58,639 >> დინამიკები 4: ეს უფრო დიდი, ვიდრე გვერდზე თუ წაიკითხა წიგნი. 394 00:16:58,639 --> 00:16:59,430 დინამიკები 1: ზუსტად. 395 00:16:59,430 --> 00:17:02,620 ასე რომ, debugger ვერ გეტყვით, თქვენ, მაგრამ debugger 396 00:17:02,620 --> 00:17:05,880 შეიძლება თქვენ ქვემოთ ხაზი თუ იცით, რომ არ ფუნქციონირებს. 397 00:17:05,880 --> 00:17:09,319 და ზოგჯერ, როდესაც განსაკუთრებით შემდეგ სემესტრში, როდესაც 398 00:17:09,319 --> 00:17:12,910 თქვენ საქმე ასი, ასი რამდენიმე ხაზი კოდი, და თქვენ 399 00:17:12,910 --> 00:17:16,190 არ ვიცი, სადაც ეს ვერ, ეს არის დიდი გზა ამის გაკეთება. 400 00:17:16,190 --> 00:17:17,900 401 00:17:17,900 --> 00:17:18,989 ასე რომ, ჩვენ ვნახეთ ჩვენი შეცდომა. 402 00:17:18,989 --> 00:17:21,530 თქვენ შეგიძლიათ გაასწორონ ის თქვენს ფაილი, და მაშინ შეიძლება გაუშვით ერთხელ, 403 00:17:21,530 --> 00:17:23,029 და ყველაფერი მუშაობს მშვენივრად. 404 00:17:23,029 --> 00:17:24,970 405 00:17:24,970 --> 00:17:30,590 და ყველაზე დიდი რამ არის ეს შეიძლება როგორც ჩანს, როგორიცაა, OK. 406 00:17:30,590 --> 00:17:31,090 ჰო. 407 00:17:31,090 --> 00:17:31,370 ზემოთ. 408 00:17:31,370 --> 00:17:32,744 იცოდა, რა თქვენ ვეძებთ. 409 00:17:32,744 --> 00:17:34,910 ასე რომ, თქვენ იცოდა, რა უნდა გააკეთოს. 410 00:17:34,910 --> 00:17:39,021 >> GDB შეიძლება იყოს სუპერ სასარგებლოა, რადგან თქვენ შეგიძლიათ ამობეჭდოთ ეს ყველაფერი, რომ თქვენ 411 00:17:39,021 --> 00:17:39,520 არა. 412 00:17:39,520 --> 00:17:41,160 ის ბევრად უფრო სასარგებლოა, ვიდრე printf. 413 00:17:41,160 --> 00:17:43,440 რამდენი გამოყენება როგორიცაა printf განცხადებები 414 00:17:43,440 --> 00:17:46,200 გაერკვნენ, სადაც bug იყო, არა? 415 00:17:46,200 --> 00:17:48,450 ასე, რომ ეს, თქვენ არ უნდა შევინარჩუნოთ ბრუნდება, 416 00:17:48,450 --> 00:17:51,139 და მინდა კომენტირებისას Printf, ან კომენტირებისას out, 417 00:17:51,139 --> 00:17:52,930 და გაერკვნენ, თუ რა თქვენ უნდა ბეჭდვა. 418 00:17:52,930 --> 00:17:55,670 ეს რეალურად მხოლოდ გაძლევთ საშუალებას ნაბიჯი მეშვეობით, ამობეჭდოთ რამ 419 00:17:55,670 --> 00:18:00,000 როგორც თქვენ გადის, ასე რომ, თქვენ შეგიძლიათ დაცვა, თუ როგორ შეიცვლება რეალურ დროში, 420 00:18:00,000 --> 00:18:02,190 როგორც თქვენი პროგრამა მიმდინარეობს. 421 00:18:02,190 --> 00:18:04,390 >> და ეს არ მიიღოს ცოტა ცოტა შეგუება. 422 00:18:04,390 --> 00:18:07,850 მე მაღალ რეკომენდაციას მხოლოდ სახის ყოფნის პატარა იმედგაცრუებული მას 423 00:18:07,850 --> 00:18:08,930 ახლა. 424 00:18:08,930 --> 00:18:13,450 თუ თქვენ ხარჯავთ საათი მეტი მომავალ კვირას სწავლის როგორ გამოვიყენოთ GDB, 425 00:18:13,450 --> 00:18:16,140 დაზოგავთ თავს ამდენი დრო მოგვიანებით. 426 00:18:16,140 --> 00:18:18,750 და სიტყვასიტყვით. ჩვენ ვეუბნებით ეს ადამიანი ყოველ წელს, 427 00:18:18,750 --> 00:18:23,890 და მახსოვს, როდესაც მე მივიღე კლასი, მე მინდა, მე კარგად იქნება. 428 00:18:23,890 --> 00:18:24,700 პოსტები 429 00:18:24,700 --> 00:18:27,030 Pset 6 მოვიდა და მე როგორიცაა, მე კარგად ისწავლოს 430 00:18:27,030 --> 00:18:29,500 თუ როგორ გამოიყენოთ GDB, რადგან მე არ ვიცით, რა ხდება აქ. 431 00:18:29,500 --> 00:18:32,940 >> ასე რომ, თუ თქვენ მიიღოს დრო, ასე რომ გამოიყენოს ეს პატარა პროგრამები 432 00:18:32,940 --> 00:18:35,697 რომ თქვენ იქნება მუშაობა, როგორც სამუშაო 433 00:18:35,697 --> 00:18:37,530 მეშვეობით რაღაც მსგავსი Visionare, მოსწონს ეს. 434 00:18:37,530 --> 00:18:38,800 435 00:18:38,800 --> 00:18:42,850 ან თუ გსურთ დამატებითი პრაქტიკა, დარწმუნებული ვარ, მე ვერ ამუშავება buggy პროგრამები, 436 00:18:42,850 --> 00:18:45,300 თქვენ გამართვის თუ გსურთ. 437 00:18:45,300 --> 00:18:49,300 >> მაგრამ თუ მხოლოდ გარკვეული დრო, რათა გამოიყენება, უბრალოდ ითამაშოს გარშემო, 438 00:18:49,300 --> 00:18:50,550 ეს ნამდვილად ემსახურება თქვენ კარგად. 439 00:18:50,550 --> 00:18:52,591 და ეს მართლაც ერთ-ერთი იმ რამ, რომ თქვენ უბრალოდ 440 00:18:52,591 --> 00:18:57,340 უნდა შევეცადოთ, და მიიღოთ თქვენი ხელები ბინძური ერთად, სანამ მართლაც მესმის. 441 00:18:57,340 --> 00:19:02,090 მე ნამდვილად მხოლოდ მიხვდა, რომ ეს კიდევ ერთხელ მე მქონდა გამართვის რამ მას, 442 00:19:02,090 --> 00:19:08,170 და ეს ბევრად გავალამაზოთ აქვს იდეა როგორ გამართვის ადრე თუ გვიან. 443 00:19:08,170 --> 00:19:08,850 OK. 444 00:19:08,850 --> 00:19:09,625 ზემოთ. 445 00:19:09,625 --> 00:19:12,960 მე ვიცი, რომ სახის მოსწონს ავარიის კურსი GDB, 446 00:19:12,960 --> 00:19:16,400 და მე აუცილებლად დაეწყო მუშაობა ეს გამოიყურება დიდი დროს. 447 00:19:16,400 --> 00:19:17,590 448 00:19:17,590 --> 00:19:18,280 ზემოთ. 449 00:19:18,280 --> 00:19:20,390 >> ასე რომ, თუ ჩვენ დავუბრუნდებით ჩვენი PowerPoint. 450 00:19:20,390 --> 00:19:27,194 451 00:19:27,194 --> 00:19:28,110 არის თუ არა ეს იმუშავებს? 452 00:19:28,110 --> 00:19:29,711 453 00:19:29,711 --> 00:19:30,210 Awh. 454 00:19:30,210 --> 00:19:31,101 დიახ. 455 00:19:31,101 --> 00:19:31,600 OK. 456 00:19:31,600 --> 00:19:35,480 ასე რომ, თუ თქვენ ოდესმე უნდა ნებისმიერი იმ ისევ, სიაში. 457 00:19:35,480 --> 00:19:37,160 458 00:19:37,160 --> 00:19:40,830 ასე ორობითი ძებნა, რომელიც ყველას ახსოვს დიდი სპექტაკლი დავით 459 00:19:40,830 --> 00:19:42,259 ჩამოხევა სატელეფონო წიგნი ნახევარი. 460 00:19:42,259 --> 00:19:44,050 მე ნამდვილად არ მიიღოს სატელეფონო წიგნი აღარ, 461 00:19:44,050 --> 00:19:46,530 იმიტომ, რომ როგორც სად მიიღოს სატელეფონო წიგნი ამ დღეებში? 462 00:19:46,530 --> 00:19:48,220 მე ნამდვილად არ ვიცი. 463 00:19:48,220 --> 00:19:49,840 464 00:19:49,840 --> 00:19:50,590 ორობითი ძებნა. 465 00:19:50,590 --> 00:19:52,464 ვინმეს გახსოვთ როგორ ორობითი ძებნა ნამუშევრები? 466 00:19:52,464 --> 00:19:54,380 467 00:19:54,380 --> 00:19:55,220 ვინმეს საერთოდ? 468 00:19:55,220 --> 00:19:56,325 ჰო? 469 00:19:56,325 --> 00:19:58,283 დინამიკები 5: თქვენ იცით, როდესაც გადავხედავთ, რომელიც ნახევარი 470 00:19:58,283 --> 00:20:01,146 ეს იქნება, აქედან გამომდინარე, და მოშორება მეორე ნახევარში. 471 00:20:01,146 --> 00:20:01,896 >> დინამიკები 1 ზუსტად. 472 00:20:01,896 --> 00:20:06,290 ასე რომ, ორობითი ძებნა, ეს ერთგვარი a-- --we მინდა მოვუწოდო მას გათიშე და დაიპყროთ. 473 00:20:06,290 --> 00:20:09,170 ასე რომ, რას გავაკეთებთ არის თქვენ გამოიყურება შუა, 474 00:20:09,170 --> 00:20:11,990 და დაინახავთ, თუ ეს შეესაბამება ის, რაც თქვენ ეძებთ. 475 00:20:11,990 --> 00:20:15,420 და თუ ეს არ მოხდა, მაშინ ცდილობენ გაერკვნენ, იგი აპირებს, რომ დარჩეს, 476 00:20:15,420 --> 00:20:16,450 ნახევარი ან მარჯვენა ნახევარში. 477 00:20:16,450 --> 00:20:19,325 ასე რომ, ეს შეიძლება იყოს, თუ თქვენ ვეძებთ რაღაც რომ alphabetized, 478 00:20:19,325 --> 00:20:20,720 ხედავთ, რა. 479 00:20:20,720 --> 00:20:22,750 არ Allison მოდის ადრე M? 480 00:20:22,750 --> 00:20:23,250 დიახ. 481 00:20:23,250 --> 00:20:25,030 ასე რომ, ჩვენ ვაპირებთ შეხედეთ პირველ ნახევარში. 482 00:20:25,030 --> 00:20:26,450 >> ან შეიძლება იყოს, როგორიცაა ნომრები. 483 00:20:26,450 --> 00:20:28,830 არაფერი, რომ თქვენ შეგიძლიათ შედარებისთვის, ეს შეიძლება იყოს დახარისხებული. 484 00:20:28,830 --> 00:20:29,920 485 00:20:29,920 --> 00:20:31,260 თქვენ შეგიძლიათ გამოიყენოთ ორობითი ძებნა. 486 00:20:31,260 --> 00:20:32,340 487 00:20:32,340 --> 00:20:37,455 ასე რომ, ვინმეს გახსოვთ ამ გრაფაში ან ეს რა არის? 488 00:20:37,455 --> 00:20:39,520 ეს ასიმპტოტური სირთულე. 489 00:20:39,520 --> 00:20:42,830 ასე რომ, ამ გრაფაში მხოლოდ აღწერს, თუ როგორ ხანგრძლივი 490 00:20:42,830 --> 00:20:46,230 იღებს თქვენ გადაჭრას პრობლემა, როგორც თქვენ რაოდენობის გაზრდა რამ 491 00:20:46,230 --> 00:20:47,090 რომ თქვენ იყენებთ. 492 00:20:47,090 --> 00:20:51,260 >> ასე რომ, ჩვენ გვაქვს N, რომელიც არის წრფივი. 493 00:20:51,260 --> 00:20:54,560 თუ N გამო ორი, რომელიც ოდნავ უკეთესი, ჯერ კიდევ იზრდება სუპერ სწრაფი. 494 00:20:54,560 --> 00:20:58,360 და მაშინ შესვლა, რომელიც რა მიგვაჩნია ორობითი ძებნა. 495 00:20:58,360 --> 00:21:03,630 თუ ჩვენ შეამჩნია, რადგან თქვენი პრობლემა იღებს გაცილებით და ბევრად უფრო, 496 00:21:03,630 --> 00:21:06,600 დრო სჭირდება, რომ თქვენ შეძლებთ ეს ნამდვილად არ გაიზრდება ბევრად. 497 00:21:06,600 --> 00:21:09,010 ეს იგივეა, შედარებით აქ დასაწყისში. 498 00:21:09,010 --> 00:21:10,060 თქვენ, როგორც, OK. 499 00:21:10,060 --> 00:21:13,000 არაფერი აქ ნამდვილად არ მნიშვნელობა რომელი ერთი ვიყენებთ, 500 00:21:13,000 --> 00:21:16,220 მაგრამ თქვენ გავიდნენ მილიონი, მილიარდი. 501 00:21:16,220 --> 00:21:20,010 თქვენ ცდილობს იპოვოს some-- --you're ცდილობს იპოვოს ნემსის haystack. 502 00:21:20,010 --> 00:21:21,550 >> მე ვფიქრობ, რომ გსურთ ამ პრობლემას. 503 00:21:21,550 --> 00:21:25,850 გსურთ ამ სირთულისა, არ ხაზოვანი რადგან ყველა თქვენ 504 00:21:25,850 --> 00:21:30,049 იცით თქვენი gonna უნდა ეძებს მეშვეობით თითოეულ ინდივიდუალური ნემსი, რაც თივა, 505 00:21:30,049 --> 00:21:31,340 ცდილობს გამოიყურებოდეს თქვენი ნემსი. 506 00:21:31,340 --> 00:21:34,730 და ეს არ არის ძალიან fun, ჩემი აზრით. 507 00:21:34,730 --> 00:21:35,500 მე მიყვარს სწრაფად. 508 00:21:35,500 --> 00:21:36,620 მომწონს ეფექტური. 509 00:21:36,620 --> 00:21:40,450 და როგორც შრომისმოყვარე სტუდენტები თქვენ ბიჭები, თქვენ იცით, მუშაობა მსოფლიოს სასურველი სტუმარი გახდებით, 510 00:21:40,450 --> 00:21:43,010 არ რთული ტიპის რამ, თუ როგორ შეიძლება შეადგინოს ამ ალგორითმები. 511 00:21:43,010 --> 00:21:45,110 512 00:21:45,110 --> 00:21:47,910 >> ასე რომ, ჩვენ ვაპირებთ ფეხით მეშვეობით მხოლოდ სწრაფი მაგალითად. 513 00:21:47,910 --> 00:21:51,090 ვფიქრობ, თქვენ ბიჭები უნდა ჰქონდეს ხელის ორობითი ძებნა, 514 00:21:51,090 --> 00:21:54,352 მაგრამ თუ ვინმე არის პატარა საეჭვო, გვინდა გააძლიეროს იგი, 515 00:21:54,352 --> 00:21:56,310 ჩვენ ვაპირებთ, რომ უბრალოდ მეშვეობით მაგალითად აქ. 516 00:21:56,310 --> 00:21:59,490 ასე რომ, ჩვენ ვეძებთ, თუ მასივი შეიცავს შვიდი. 517 00:21:59,490 --> 00:22:00,540 518 00:22:00,540 --> 00:22:06,010 >> ასე რომ, პირველი, რასაც ვაკეთებთ არის შევხედოთ შუა, არა? 519 00:22:06,010 --> 00:22:09,340 და თქვენ აპირებს უნდა კოდირების ორობითი ძებნა მხოლოდ მეორე. 520 00:22:09,340 --> 00:22:11,310 ასე რომ, ეს იქნება fun. 521 00:22:11,310 --> 00:22:13,710 ასე გადავხედავთ შუა პატარა მასივები 3. 522 00:22:13,710 --> 00:22:15,501 ამჯამად 3 გაუტოლდება 7? 523 00:22:15,501 --> 00:22:16,000 არა. 524 00:22:16,000 --> 00:22:18,670 525 00:22:18,670 --> 00:22:19,550 ეს ექვსი. 526 00:22:19,550 --> 00:22:21,480 ასე რომ, ნაკლები ან მეტი შვიდი? 527 00:22:21,480 --> 00:22:23,080 528 00:22:23,080 --> 00:22:23,960 ნაკლებია. 529 00:22:23,960 --> 00:22:24,570 დიახ. 530 00:22:24,570 --> 00:22:25,170 ლამაზი სამუშაო ბიჭები. 531 00:22:25,170 --> 00:22:25,569 532 00:22:25,569 --> 00:22:27,360 ვგრძნობ, როგორიც მე უნდა უნდა candy იმიტომ, რომ მე 533 00:22:27,360 --> 00:22:29,460 მინდა იმისათვის, რომ ის შევიდა ეზოები. 534 00:22:29,460 --> 00:22:30,270 ეს არის ის, რაც მე ვაპირებ მომავალ კვირას. 535 00:22:30,270 --> 00:22:31,436 ეს დაიცავს თქვენ ბიჭები მკვეთრი. 536 00:22:31,436 --> 00:22:32,560 537 00:22:32,560 --> 00:22:34,690 >> ასე რომ, ჩვენ გადაყარეთ, რომ პირველ ნახევარში, არა? 538 00:22:34,690 --> 00:22:35,670 ეს იყო ნაკლები. 539 00:22:35,670 --> 00:22:39,325 ჩვენ ვიცით, რომ ყველაფერი რომ მარცხენა მხარეს 540 00:22:39,325 --> 00:22:41,700 იქნება ნაკლები, რაც ჩვენ რეალურად ეძებს. 541 00:22:41,700 --> 00:22:43,491 ასე, რომ არ არის საჭირო ყურადღება მიაქციოს მას. 542 00:22:43,491 --> 00:22:45,120 უბრალოდ დაივიწყოს იგი. 543 00:22:45,120 --> 00:22:48,720 ასე რომ, ახლა ჩვენ შევხედოთ ჩვენი მარჯვენა მხარეს, და ჩვენ შევხედოთ შუა იქ, 544 00:22:48,720 --> 00:22:50,510 და ახლა ეს ცხრა. 545 00:22:50,510 --> 00:22:55,510 ასე რომ, 9 is-- --Everyone? 546 00:22:55,510 --> 00:22:57,470 მეტია, რაც ჩვენ ეძებს, არა? 547 00:22:57,470 --> 00:22:59,860 ასე რომ, ჩვენ ვაპირებთ, იმისათვის, მოშორებით ყველაფერს უფლება. 548 00:22:59,860 --> 00:23:00,970 549 00:23:00,970 --> 00:23:01,940 როგორიცაა, რომ. 550 00:23:01,940 --> 00:23:03,700 ახლა, ყველა დაგვრჩა ერთი. 551 00:23:03,700 --> 00:23:07,760 ასე რომ, ჩვენ შეამოწმოს, არის ეს ერთი, რა ჩვენ ვეძებთ? ეს არის. 552 00:23:07,760 --> 00:23:08,970 ჩვენ აღმოვაჩინეთ, რაც გვინდოდა. 553 00:23:08,970 --> 00:23:10,440 554 00:23:10,440 --> 00:23:11,690 ასე რომ, ჩვენ გავაკეთეთ. 555 00:23:11,690 --> 00:23:12,550 Bilinear ძებნა. 556 00:23:12,550 --> 00:23:15,740 >> და თუ თქვენ შეამჩნევთ, რომ ჩვენ შვიდი საშუალებებით არსებობს. 557 00:23:15,740 --> 00:23:24,320 ეს მხოლოდ ჩვენთან, როგორც სამჯერ, მაგრამ თუ თქვენ აკეთებთ, როგორიცაა მილიარდი, 558 00:23:24,320 --> 00:23:28,190 თქვენ ბიჭები ვიცი რამდენი ნაბიჯები ეს იქნებოდა მიიღებს თუ ჩვენ მას ოთხი მილიარდი რამ? 559 00:23:28,190 --> 00:23:29,940 560 00:23:29,940 --> 00:23:30,455 ნებისმიერი მიხვდება? 561 00:23:30,455 --> 00:23:32,286 562 00:23:32,286 --> 00:23:33,960 32. 563 00:23:33,960 --> 00:23:37,110 32 ნაბიჯები, რათა იპოვოს რაღაც ოთხი მილიარდი 564 00:23:37,110 --> 00:23:39,650 ელემენტს მასივი გამო უფლებამოსილების ორი. 565 00:23:39,650 --> 00:23:43,550 ასე რომ, ორი არის 32, არის ოთხი მილიარდი. 566 00:23:43,550 --> 00:23:50,430 >> ასე რომ, საკმაოდ გიჟები, როგორ თქვენ ჯერ კიდევ , საკმაოდ მცირე რაოდენობის ნაბიჯები 567 00:23:50,430 --> 00:23:52,650 , რაღაც ოთხი მილიარდი ელემენტებს. 568 00:23:52,650 --> 00:23:55,730 ასე რომ შენიშვნა, ჩვენ აპირებს კოდექსს 569 00:23:55,730 --> 00:23:58,950 ასე რომ თქვენ ბიჭები შეიძლება რეალურად სახის ვხედავთ, როგორ მუშაობს. 570 00:23:58,950 --> 00:24:01,520 ყველა უფლება, ასე რომ თქვენ ბიჭები შეიძლება კოდი. 571 00:24:01,520 --> 00:24:04,100 მე ვაპირებ მოგცემთ ბიჭებს გაიგო ცოტა. 572 00:24:04,100 --> 00:24:07,970 გაეცნონ თქვენს გარშემო, რომელიც რა ვინმე სურდა ბოლო მონაკვეთზე. 573 00:24:07,970 --> 00:24:10,280 >> ასე გაეცნონ თქვენს გარშემო. 574 00:24:10,280 --> 00:24:11,305 განხილვა ცოტა. 575 00:24:11,305 --> 00:24:12,580 576 00:24:12,580 --> 00:24:15,730 და ყველა მე მინდა თქვენგან ბიჭები ახლა მხოლოდ 577 00:24:15,730 --> 00:24:17,575 ვცდილობთ შევქმნათ მონახაზი pseudocode. 578 00:24:17,575 --> 00:24:18,075 OK? 579 00:24:18,075 --> 00:24:20,825 580 00:24:20,825 --> 00:24:21,325 Whoa. 581 00:24:21,325 --> 00:24:23,320 582 00:24:23,320 --> 00:24:29,520 ყველა მინდა თქვენ ბიჭები არის თქვენ უბრალოდ აპირებს შეავსოთ ეს მაშინ, როცა საქმე. 583 00:24:29,520 --> 00:24:32,170 ასე შევქმენი ეს ზედა და ქვედა საზღვრები, რომელიც 584 00:24:32,170 --> 00:24:35,250 წარმოადგენს დასაწყისში და ბოლოს ჩვენი მასივი. 585 00:24:35,250 --> 00:24:40,440 და თქვენ რეალურად ციკლი და გაერკვნენ 586 00:24:40,440 --> 00:24:42,470 რას ვაკეთებთ ჩვენ ამ ხოლო loop. 587 00:24:42,470 --> 00:24:45,810 >> ასე რომ, თუ თქვენ შეგიძლიათ გაერკვნენ out-- მაქვს მინიშნება იქ რა შემთხვევები 588 00:24:45,810 --> 00:24:46,640 რომ ჩვენ გვაქვს აქ? 589 00:24:46,640 --> 00:24:48,100 590 00:24:48,100 --> 00:24:51,560 ასე რომ, თუ გვინდა, რომ გაერკვნენ შემთხვევაში, ჩვენ Pseudocode იმ 591 00:24:51,560 --> 00:24:53,350 და მაშინ ჩვენ რეალურად კოდი მათგანი. 592 00:24:53,350 --> 00:24:55,330 და ეს იქნება, მე ვფიქრობ, იმედია ეს 593 00:24:55,330 --> 00:24:56,788 იყოს ცოტა უფრო ადვილია, ვიდრე თქვენ წარმოგიდგენიათ. 594 00:24:56,788 --> 00:24:57,554 595 00:24:57,554 --> 00:25:00,220 იმიტომ, რომ ეს არ არის, რომ ბევრი კოდი, რეალურად, რომელიც არის მართლაც მაგარი. 596 00:25:00,220 --> 00:25:34,110 597 00:25:34,110 --> 00:25:35,018 >> მმ-hm? 598 00:25:35,018 --> 00:25:35,893 >> სტუდენტი: [INAUDIBLE]? 599 00:25:35,893 --> 00:25:36,984 600 00:25:36,984 --> 00:25:37,650 ინსტრუქტორი: დიახ. 601 00:25:37,650 --> 00:25:38,595 იქ იყო რაღაც მოძიების შუა. 602 00:25:38,595 --> 00:25:39,552 >> სტუდენტი: ასე რომ ჩვენ შეგვიძლია გამოვიყენოთ რომ. 603 00:25:39,552 --> 00:25:39,770 OK. 604 00:25:39,770 --> 00:25:40,603 >> ინსტრუქტორი: Perfect. 605 00:25:40,603 --> 00:25:42,950 ასე რომ, პირველი, რაც ჩვენ უნდა გავაკეთოთ. 606 00:25:42,950 --> 00:25:44,330 ასე რომ, შუა. 607 00:25:44,330 --> 00:25:45,415 608 00:25:45,415 --> 00:25:45,915 დიდი. 609 00:25:45,915 --> 00:25:47,770 610 00:25:47,770 --> 00:25:55,010 ასე რომ თქვენ გაქვთ იდეა, თუ როგორ შეიძლება რეალურად შუა კოდით? 611 00:25:55,010 --> 00:25:55,980 >> სტუდენტი: Yeah. 612 00:25:55,980 --> 00:25:57,000 n 2-ზე? 613 00:25:57,000 --> 00:25:58,500 614 00:25:58,500 --> 00:25:59,500 ინსტრუქტორი: So n 2-ზე. 615 00:25:59,500 --> 00:26:05,170 ასე რომ ერთი რამ უნდა გვახსოვდეს, რომ თქვენი ზედა და ქვედა საზღვრები იცვლება. 616 00:26:05,170 --> 00:26:08,110 ჩვენ მუდმივად მშენებლობის ნაწილი მასივი ჩვენ ვეძებთ. 617 00:26:08,110 --> 00:26:11,970 ასე რომ, ო 2-ზე იმუშავებს მხოლოდ პირველი, რასაც ვაკეთებთ. 618 00:26:11,970 --> 00:26:17,810 ასე რომ, ზედა და ქვედა გათვალისწინებით, როგორ შეიძლება მივიღებთ, რომ შუა ელემენტს? 619 00:26:17,810 --> 00:26:20,640 იმიტომ, რომ ჩვენ გვინდა, რომ საშუალო შორის ზედა და ქვედა, არა? 620 00:26:20,640 --> 00:26:21,730 621 00:26:21,730 --> 00:26:22,494 მმ-hm? 622 00:26:22,494 --> 00:26:23,369 >> სტუდენტი: [INAUDIBLE]. 623 00:26:23,369 --> 00:26:26,170 624 00:26:26,170 --> 00:26:28,080 >> ინსტრუქტორი: ასე რომ, ჩვენ გვაქვს გარკვეული შეტევა. 625 00:26:28,080 --> 00:26:32,730 და ეს იქნება ზედა პლუს ქვედა 2-ზე. 626 00:26:32,730 --> 00:26:34,740 627 00:26:34,740 --> 00:26:35,690 გასაოცარია. 628 00:26:35,690 --> 00:26:36,570 იქ ჩვენ წავიდეთ. 629 00:26:36,570 --> 00:26:37,280 ერთი ხაზი ქვემოთ. 630 00:26:37,280 --> 00:26:38,560 თქვენ ბიჭები არიან თქვენი გზა. 631 00:26:38,560 --> 00:26:41,400 ასე რომ, ახლა რომ ჩვენ გვაქვს ჩვენი შუა, რა უნდა გავაკეთოთ? 632 00:26:41,400 --> 00:26:45,050 633 00:26:45,050 --> 00:26:45,900 უბრალოდ კულტურას. 634 00:26:45,900 --> 00:26:47,734 თქვენ არ გაქვთ კოდი იგი. 635 00:26:47,734 --> 00:26:48,335 დიახ. 636 00:26:48,335 --> 00:26:49,210 სტუდენტი: [INAUDIBLE]? 637 00:26:49,210 --> 00:27:00,310 638 00:27:00,310 --> 00:27:10,310 ინსტრუქტორი: ასე რომ, პლუს იმიტომ, რომ თქვენ მოძიებაში საშუალო ორ 639 00:27:10,310 --> 00:27:10,810 მათ. 640 00:27:10,810 --> 00:27:11,890 641 00:27:11,890 --> 00:27:17,370 ასე რომ, თუ თქვენ ფიქრობთ, რომ ასეთი მზარდი in მხრიდან, 642 00:27:17,370 --> 00:27:21,640 ვიფიქროთ, რომ, როგორც თქვენ მიახლოება შუა გსურთ, რომ. 643 00:27:21,640 --> 00:27:27,150 ასე რომ, თუ ორივე მხარეს შუა, და ჩვენ გვაქვს, როგორიცაა 5 და 7. 644 00:27:27,150 --> 00:27:31,440 როდესაც თქვენ დაამატოთ ისინი ერთად თქვენ მიიღეთ 12, დაყოფის მიერ 2, 6. 645 00:27:31,440 --> 00:27:33,726 >> ზოგჯერ ძნელია ახსნა, თუ რატომ, რომ მუშაობს, 646 00:27:33,726 --> 00:27:35,600 მაგრამ თუ თქვენ მუშაობთ მეშვეობით მაგალითად, ზოგჯერ 647 00:27:35,600 --> 00:27:37,962 ეს თქვენ დაგეხმაროთ გაერკვნენ, თუ ეს უნდა იყოს პლუს ან მინუს. 648 00:27:37,962 --> 00:27:38,846 დიახ. 649 00:27:38,846 --> 00:27:40,830 >> სტუდენტი: [INAUDIBLE] ზუსტად შუა 650 00:27:40,830 --> 00:27:43,950 თუ მათ არ ჰქონდათ საქმე, სადაც არსებობს ბევრი პატარა ნომრები 651 00:27:43,950 --> 00:27:45,860 და, როგორც ერთი დიდი რაოდენობით? 652 00:27:45,860 --> 00:27:49,750 >> ინსტრუქტორი: ასე რომ ყველა თქვენ უნდა შუა მასივი. 653 00:27:49,750 --> 00:27:53,010 ასე რომ, თუ მქონდა bunch of პატარა ნომრები და მაშინ მართლაც დიდი რაოდენობით 654 00:27:53,010 --> 00:27:54,799 ბოლოს, რომ არ აქვს მნიშვნელობა. 655 00:27:54,799 --> 00:27:56,840 ყველა თემა არის ის, რომ ისინი დახარისხებული, უბრალოდ 656 00:27:56,840 --> 00:27:59,339 მინდა შევხედოთ შუა მასივი, რადგან თქვენ ჯერ 657 00:27:59,339 --> 00:28:00,700 ოპონენტის თქვენი პრობლემა ნახევარი. 658 00:28:00,700 --> 00:28:03,020 659 00:28:03,020 --> 00:28:03,680 ზემოთ. 660 00:28:03,680 --> 00:28:06,430 ასე რომ, ახლა, რომ ჩვენ გვაქვს შუა, რა გავაკეთოთ შემდეგი? 661 00:28:06,430 --> 00:28:07,150 >> სტუდენტი: შედარება. 662 00:28:07,150 --> 00:28:08,150 ინსტრუქტორი: შედარება. 663 00:28:08,150 --> 00:28:11,670 ასე რომ შედარების შუა value_wanted. 664 00:28:11,670 --> 00:28:14,300 665 00:28:14,300 --> 00:28:15,160 ზემოთ. 666 00:28:15,160 --> 00:28:17,950 ასე რომ, ხედავთ, აქ გვაქვს ეს არც ჩვენ გვინდა აქ. 667 00:28:17,950 --> 00:28:22,012 668 00:28:22,012 --> 00:28:23,095 გვახსოვდეს, რომ ეს არის მასივი. 669 00:28:23,095 --> 00:28:24,100 670 00:28:24,100 --> 00:28:26,970 ასე შუა ეხება ინდექსი. 671 00:28:26,970 --> 00:28:29,785 ასე რომ ჩვენ გვინდა ღირებულებებზე ცენტრიდან. 672 00:28:29,785 --> 00:28:32,380 673 00:28:32,380 --> 00:28:35,650 არ უნდა დაგვავიწყდეს, რომ, თუ გსურთ შედარება, ორმაგი შეადგენს. 674 00:28:35,650 --> 00:28:38,250 თქვენ ამის გაკეთება ერთი უდრის თქვენ უბრალოდ აპირებს reassign ის, 675 00:28:38,250 --> 00:28:41,090 და მაშინ, რა თქმა უნდა, ეს იქნება არც გინდათ. 676 00:28:41,090 --> 00:28:42,300 ასე რომ არ გაგვაჩნია. 677 00:28:42,300 --> 00:28:44,350 >> ამიტომ, ჩვენ ვაპირებთ, რომ თუ ღირებულებები შუა 678 00:28:44,350 --> 00:28:46,460 უდრის არც ჩვენ გვინდა. 679 00:28:46,460 --> 00:28:47,749 680 00:28:47,749 --> 00:28:48,790 ნუ დაგავიწყდებათ თქვენი braces. 681 00:28:48,790 --> 00:28:50,520 682 00:28:50,520 --> 00:28:52,235 Dropbox უნდა წავიდეს. 683 00:28:52,235 --> 00:28:54,140 684 00:28:54,140 --> 00:28:56,200 ასე რომ, რა ვქნათ ამ შემთხვევაში? 685 00:28:56,200 --> 00:28:59,360 თუ ეს არის ის, რაც ჩვენ გვინდა, რომ დაბრუნდეს? 686 00:28:59,360 --> 00:29:01,510 687 00:29:01,510 --> 00:29:02,626 ჩვენ ვცდილობთ, რომ ამბობენ. 688 00:29:02,626 --> 00:29:03,440 >> STUDENT ბეჭდვა off. 689 00:29:03,440 --> 00:29:05,314 >> ინსტრუქტორი: ჩვენ, არ მინდა, რომ ბეჭდვა off. 690 00:29:05,314 --> 00:29:08,220 ასე რომ, ეს bool აქ, ამიტომ ჩვენ მინდა დაბრუნდეს ჭეშმარიტი ან ცრუ. 691 00:29:08,220 --> 00:29:12,280 ჩვენ ვამბობთ, რომ ეს რიცხვი [? RRA? ?] ასე რომ, თუ ეს, 692 00:29:12,280 --> 00:29:13,788 ჩვენ უბრალოდ დააბრუნოს ეს ასეა. 693 00:29:13,788 --> 00:29:16,780 694 00:29:16,780 --> 00:29:17,760 თუ შემიძლია სიტყვიერად ჭეშმარიტი. 695 00:29:17,760 --> 00:29:18,830 696 00:29:18,830 --> 00:29:20,805 >> სტუდენტი: რატომ არ დაბრუნების ნულოვანი? 697 00:29:20,805 --> 00:29:22,930 ინსტრუქტორი: ასე რომ თქვენ შეიძლება დაბრუნების ნულოვანი თუ უნდოდა. 698 00:29:22,930 --> 00:29:26,780 მაგრამ ამ შემთხვევაში, რადგან ჩვენი ფუნქცია დააბრუნებს bool, 699 00:29:26,780 --> 00:29:28,962 ჩვენ უნდა დაბრუნდეს ჭეშმარიტი ან ცრუ. 700 00:29:28,962 --> 00:29:30,920 სტუდენტი: როდესაც თქვენ განაცხადა, რომ ლოგიკური გამოხატვის, 701 00:29:30,920 --> 00:29:33,450 შეგიძლიათ ვაყენებთ მას ტოლი ყალბი? 702 00:29:33,450 --> 00:29:39,860 ასე, თუ მე მინდა ვთქვა, თუ ეს მდგომარეობა არ შეხვდა, როგორიც არის ზედა ტოლია ყალბი. 703 00:29:39,860 --> 00:29:42,332 იქნება ეს მესმის, თუ თქვენ მხოლოდ დააყენა ცრუ მეორე მხარეს? 704 00:29:42,332 --> 00:29:43,040 ინსტრუქტორი: ჰო. 705 00:29:43,040 --> 00:29:44,820 ასე რომ, რეალურად, თუ თქვენ ოდესმე აკეთებს რაღაც 706 00:29:44,820 --> 00:29:49,600 როგორიც არის ზედა ან ქვედა, რომ ბრუნდება ნამდვილი ან ყალბი 707 00:29:49,600 --> 00:29:53,850 და ეს რეალურად ცუდი სტილი ვთქვათ შეადგენს შეადგენს ჭეშმარიტი ან ტოლობის 708 00:29:53,850 --> 00:29:54,840 უდრის ყალბი. 709 00:29:54,840 --> 00:30:00,210 თქვენ გინდათ გამოიყენოთ, რომ შედეგი როგორც თავად, როგორც თქვენი ქვითარი. 710 00:30:00,210 --> 00:30:04,720 711 00:30:04,720 --> 00:30:05,860 არ არის რაც მინდოდა. 712 00:30:05,860 --> 00:30:08,150 713 00:30:08,150 --> 00:30:09,240 ეს არის ის, რაც მე მინდოდა. 714 00:30:09,240 --> 00:30:13,205 ასე რომ, იმ შემთხვევაში, თუ თქვენ გეკითხებით მსგავს გადარჩენა ეს გ. 715 00:30:13,205 --> 00:30:16,320 716 00:30:16,320 --> 00:30:25,150 >> ასე რომ, თუ ჩვენ გვაქვს int ძირითადი (void) და რაღაც მსგავსი. 717 00:30:25,150 --> 00:30:31,922 და თქვენ თუ არის ზედა ზოგიერთი შეყვანის და თქვენ 718 00:30:31,922 --> 00:30:33,630 ითხოვს, თუ შეგიძლიათ გააკეთოთ მსგავსი რამ? 719 00:30:33,630 --> 00:30:35,010 720 00:30:35,010 --> 00:30:35,679 არა? 721 00:30:35,679 --> 00:30:37,470 სტუდენტი: მე ვცდილობდი ამის გაკეთება [INAUDIBLE]. 722 00:30:37,470 --> 00:30:38,450 იმიტომ, რომ თუ it's-- 723 00:30:38,450 --> 00:30:39,200 ინსტრუქტორი: Right. 724 00:30:39,200 --> 00:30:41,197 ასე რომ თქვენ გსურთ, რომ ეს იქნება ყალბი, არა? 725 00:30:41,197 --> 00:30:41,780 სტუდენტი: Yeah. 726 00:30:41,780 --> 00:30:45,960 ინსტრუქტორი: ასე რომ, ამ შემთხვევაში თქვენ მინდა, რომ შეასრულოს, თუ ეს ასე არ არის. 727 00:30:45,960 --> 00:30:50,510 ასე cool რამ თქვენ არ არის ეს. 728 00:30:50,510 --> 00:30:52,900 729 00:30:52,900 --> 00:30:55,650 ასე მახსოვს, ძახილის წერტილი უარყოფს რამ? 730 00:30:55,650 --> 00:30:58,270 იგი აცხადებს, რომ [INAUDIBLE] ნიშნავს არა. 731 00:30:58,270 --> 00:31:03,590 ასე რომ, თუ დავაკვირდებით მხოლოდ ეს ნაწილი აქ, ნეტავ 732 00:31:03,590 --> 00:31:05,740 ამბობენ, რომ აფასებს ყალბი, როგორც თქვენ გსურთ იგი. 733 00:31:05,740 --> 00:31:06,790 734 00:31:06,790 --> 00:31:09,880 არ მცდარი მართალია რომელიც ეს ნიშნავს, რომ შეასრულოს. 735 00:31:09,880 --> 00:31:11,037 ამჯამად რომ აზრი? 736 00:31:11,037 --> 00:31:11,620 სტუდენტი: Yeah. 737 00:31:11,620 --> 00:31:12,453 ინსტრუქტორი: გასაოცარია. 738 00:31:12,453 --> 00:31:13,800 739 00:31:13,800 --> 00:31:14,300 OK. 740 00:31:14,300 --> 00:31:16,330 ასე რომ ჩვენ შეგვიძლია უბრალოდ დააბრუნოს მართალია, ამ შემთხვევაში. 741 00:31:16,330 --> 00:31:20,357 ახლა ჩვენ გვაქვს ორი სხვა შემთხვევაში ამ შემთხვევაში. 742 00:31:20,357 --> 00:31:21,565 რა არის ორი სხვა შემთხვევებში? 743 00:31:21,565 --> 00:31:31,610 744 00:31:31,610 --> 00:31:32,900 მოდით უბრალოდ ეს გზა. 745 00:31:32,900 --> 00:31:40,660 მოდით დავიწყოთ სხვა თუ ღირებულებების შუა 746 00:31:40,660 --> 00:31:43,230 ნაკლებია, ვიდრე ღირებულება გვინდა. 747 00:31:43,230 --> 00:31:47,200 748 00:31:47,200 --> 00:31:52,020 ასე რომ, ჩვენი ღირებულების საშუალო ნაკლებია მეტი ღირებულება, რომელიც ჩვენ ვეძებთ. 749 00:31:52,020 --> 00:31:53,765 750 00:31:53,765 --> 00:31:56,720 >> ასე რომ, რაც შეკრული თქვენ ვფიქრობ, რომ ჩვენ გვინდა, რომ განაახლოს? 751 00:31:56,720 --> 00:31:57,870 752 00:31:57,870 --> 00:31:58,780 ზედა ან ქვედა? 753 00:31:58,780 --> 00:32:01,440 754 00:32:01,440 --> 00:32:01,940 ზედა? 755 00:32:01,940 --> 00:32:03,230 756 00:32:03,230 --> 00:32:06,470 ასე რომ, რაც მხარეს მასივი ჩვენ ვაპირებთ ეძებს? 757 00:32:06,470 --> 00:32:07,500 >> სტუდენტი: დაბალია. 758 00:32:07,500 --> 00:32:09,750 >> ინსტრუქტორი: ჩვენ მივდივართ უნდა ეძებს მარცხენა. 759 00:32:09,750 --> 00:32:11,120 ასე რომ სხვაგან თუ ცოტა არც ნაკლები. 760 00:32:11,120 --> 00:32:14,730 ასე რომ თქვენი საშუალო ღირებულება აქ ნაკლებია, ვიდრე ის, რაც ჩვენ გვინდა. 761 00:32:14,730 --> 00:32:17,202 ასე რომ ჩვენ გვინდა, რომ მიიღოს მარჯვენა მხარეს ჩვენი მასივი. 762 00:32:17,202 --> 00:32:18,910 ამიტომ, ჩვენ ვაპირებთ, რომ განაახლოს ჩვენი ქვედა შეკრული. 763 00:32:18,910 --> 00:32:20,210 764 00:32:20,210 --> 00:32:23,020 ასე რომ, ჩვენ reassign ჩვენი დაბალია. 765 00:32:23,020 --> 00:32:25,221 და რას ფიქრობთ ქვედა უნდა იყოს? 766 00:32:25,221 --> 00:32:26,304 სტუდენტი: საშუალო ღირებულება? 767 00:32:26,304 --> 00:32:27,446 768 00:32:27,446 --> 00:32:28,820 ინსტრუქტორი: So შუა ღირებულება 769 00:32:28,820 --> 00:32:30,136 სტუდენტი: Plus 1. 770 00:32:30,136 --> 00:32:31,010 ინსტრუქტორი: --plus 1. 771 00:32:31,010 --> 00:32:32,300 772 00:32:32,300 --> 00:32:34,380 შეიძლება ვინმე მითხრათ რატომ ჩვენ გვაქვს Plus 1? 773 00:32:34,380 --> 00:32:35,730 >> სტუდენტი: [? არ ღირებულება?] უფრო თანაბარი მას. 774 00:32:35,730 --> 00:32:36,120 >> ინსტრუქტორი: Right. 775 00:32:36,120 --> 00:32:38,661 იმიტომ, რომ ჩვენ უკვე ვიცით, რომ ჩვენი საშუალო ღირებულება არ არის ტოლი 776 00:32:38,661 --> 00:32:42,750 და ჩვენ გვინდა, რომ გამორიცხავს ყველა შემდგომი ძიება. 777 00:32:42,750 --> 00:32:46,360 თუ თქვენ დაგავიწყდებათ, რომ + 1 ეს მომწონს loop განუსაზღვრელი ვადით. 778 00:32:46,360 --> 00:32:49,620 და თქვენ უბრალოდ უნდა დაიჭირეს უსასრულო ციკლი და შემდეგ თქვენ segfault 779 00:32:49,620 --> 00:32:50,370 და რამ წავიდეთ ცუდი. 780 00:32:50,370 --> 00:32:54,780 ამიტომ ყოველთვის დარწმუნდით, რომ თქვენ არ მათ შორის არც ის, რომ თქვენ მხოლოდ 781 00:32:54,780 --> 00:32:55,380 შევხედე. 782 00:32:55,380 --> 00:32:58,530 ასე რომ, ჩვენ იზრუნოს, რომ პლუს 1. 783 00:32:58,530 --> 00:33:04,840 >> ახლა ჩვენ გვაქვს ჩვენი ბოლო მდგომარეობა რომელიც მე ყოველთვის უსაფრთხოების გულისთვის 784 00:33:04,840 --> 00:33:12,664 თქვენ შეგიძლიათ შეამოწმოთ აქ სხვაგან, თუ ღირებულება შუა მეტი ღირებულების 785 00:33:12,664 --> 00:33:13,163 ჩვენ გვინდა. 786 00:33:13,163 --> 00:33:16,260 787 00:33:16,260 --> 00:33:20,230 ეს იმას ნიშნავს, რომ ჩვენ გვინდა, მარცხენა ნახევარში. 788 00:33:20,230 --> 00:33:21,350 789 00:33:21,350 --> 00:33:23,260 ასე რომელი მივდივართ განახლება? 790 00:33:23,260 --> 00:33:23,760 ზედა. 791 00:33:23,760 --> 00:33:25,470 792 00:33:25,470 --> 00:33:26,970 და რა არის ეს აპირებს თანაბარი? 793 00:33:26,970 --> 00:33:31,630 794 00:33:31,630 --> 00:33:33,690 შუა მინუს 1, რადგან, რა თქმა უნდა, ჩვენ გვინდა, 795 00:33:33,690 --> 00:33:38,370 იმისათვის, რომ ჩვენ არა ვართ ეძებს, რომ ახლო ღირებულება ერთხელ. 796 00:33:38,370 --> 00:33:41,830 797 00:33:41,830 --> 00:33:45,110 და შემდეგ ჩვენ გვაქვს ეს. 798 00:33:45,110 --> 00:33:45,610 ეს არის ის. 799 00:33:45,610 --> 00:33:46,820 რომ ყველა ორობითი ძებნის. 800 00:33:46,820 --> 00:33:48,190 ეს არ არის ცუდი, არა? 801 00:33:48,190 --> 00:33:51,590 ეს იგივეა, 10 ხაზი კოდი და თეთრი სივრცე. 802 00:33:51,590 --> 00:33:57,510 ასე რომ, ძალიან ძლიერი, ძალიან სასარგებლო, თქვენ მისი გამოყენება ერთ-ერთ შემდეგ psets. 803 00:33:57,510 --> 00:33:59,360 იქნებ არ ერთი, მაგრამ მოგვიანებით. 804 00:33:59,360 --> 00:34:00,670 ასე რომ ვისწავლოთ იგი. 805 00:34:00,670 --> 00:34:01,510 მიყვარს. 806 00:34:01,510 --> 00:34:02,980 ეს მკურნალობა თქვენ კარგად. 807 00:34:02,980 --> 00:34:05,370 ასე რომ ვინმეს აქვს რაიმე შეკითხვა ორობითი ძებნა? 808 00:34:05,370 --> 00:34:06,196 დიახ. 809 00:34:06,196 --> 00:34:09,840 >> სტუდენტი: აქვს მნიშვნელობა თუ არა თქვენი n კი ან უცნაური? 810 00:34:09,840 --> 00:34:10,750 >> ინსტრუქტორი: No. 811 00:34:10,750 --> 00:34:18,150 იმიტომ, რომ ჩვენ მიიღო ის შუა, როგორც int, ეს მხოლოდ შეკვეცავს იგი. 812 00:34:18,150 --> 00:34:21,600 ასე რომ, ეს დარჩება რიცხვი და ეს საბოლოოდ დასალაგებლად მეშვეობით ყველაფერს. 813 00:34:21,600 --> 00:34:23,909 ასე რომ თქვენ არ უნდა ფიქრი, რომ. 814 00:34:23,909 --> 00:34:24,580 ყველას კარგი? 815 00:34:24,580 --> 00:34:25,659 816 00:34:25,659 --> 00:34:26,850 გასაოცარია. 817 00:34:26,850 --> 00:34:27,919 ზემოთ. 818 00:34:27,919 --> 00:34:30,836 ასე რომ, თქვენ ბიჭები ამ. 819 00:34:30,836 --> 00:34:33,380 820 00:34:33,380 --> 00:34:33,880 Slideshow. 821 00:34:33,880 --> 00:34:35,719 822 00:34:35,719 --> 00:34:43,270 ასე რომ, როგორც ჩვენ ვსაუბრობთ, მე ვიცი, დავით აღნიშნული სირთულის runtimes. 823 00:34:43,270 --> 00:34:44,420 824 00:34:44,420 --> 00:34:50,340 >> ასე რომ, საუკეთესო შემთხვევაში, ის მხოლოდ ერთი, რაც ჩვენ მოვუწოდებთ მუდმივი დრო. 825 00:34:50,340 --> 00:34:51,909 შეუძლია ვინმეს მითხრათ რატომ შეიძლება იყოს? 826 00:34:51,909 --> 00:34:52,969 827 00:34:52,969 --> 00:34:55,800 რა ტიპის სცენარი, რომელიც იწვევს? 828 00:34:55,800 --> 00:34:58,260 829 00:34:58,260 --> 00:34:58,760 მმ-hm. 830 00:34:58,760 --> 00:34:59,926 >> სტუდენტი: [INAUDIBLE] first-- 831 00:34:59,926 --> 00:35:00,789 832 00:35:00,789 --> 00:35:03,830 ინსტრუქტორი: So შუა მყოფი პირველი ელემენტი, რომელიც ჩვენ მოვიდა, არა? 833 00:35:03,830 --> 00:35:08,167 ასე რომ, ან მასივი, ერთი ან რასაც ჩვენ ვეძებთ მხოლოდ 834 00:35:08,167 --> 00:35:09,750 ხდება, რომ smack dab შუა. 835 00:35:09,750 --> 00:35:11,190 836 00:35:11,190 --> 00:35:13,380 ასე რომ ჩვენი საუკეთესო შემთხვევაში. 837 00:35:13,380 --> 00:35:17,540 თქვენ შეღწევას რეალური პრობლემები, ალბათ, არ აპირებს მიაღწიოს [INAUDIBLE], რომ ხშირად. 838 00:35:17,540 --> 00:35:18,667 839 00:35:18,667 --> 00:35:19,750 რაც შეეხება ჩვენს ყველაზე ცუდ შემთხვევაში? 840 00:35:19,750 --> 00:35:21,270 ჩვენი უარეს შემთხვევაში არის log n. 841 00:35:21,270 --> 00:35:25,360 და რომ უნდა გააკეთოს, რომ მთელი უფლებამოსილების ორი რამ, რომ მე ისაუბრა. 842 00:35:25,360 --> 00:35:30,930 >> ასე რომ, უარეს შემთხვევაში ეს იმას ნიშნავს, რომ ჩვენ უნდა მომეჭრა მასივი ქვემოთ 843 00:35:30,930 --> 00:35:33,270 სანამ ის იყო ელემენტს ერთი. 844 00:35:33,270 --> 00:35:34,810 845 00:35:34,810 --> 00:35:38,930 ასე რომ, ჩვენ უნდა მომეჭრა, ის ქვემოთ ნახევარი როგორც არაერთხელ, როგორც ჩვენ ეს შესაძლებელი იქნებოდა. 846 00:35:38,930 --> 00:35:41,430 სწორედ ამიტომ ეს log n, რადგან უბრალოდ შეინახოს გამყოფი ორი. 847 00:35:41,430 --> 00:35:42,890 848 00:35:42,890 --> 00:35:45,830 ასე ვარაუდები, რამ უნდა იცოდეთ, თუ თქვენ ოდესმე 849 00:35:45,830 --> 00:35:48,050 აპირებთ გამოიყენოთ ორობითი ძებნა. 850 00:35:48,050 --> 00:35:50,680 თქვენი ელემენტები უნდა იყოს გადანაწილებული. 851 00:35:50,680 --> 00:35:53,890 ისინი უნდა იყოს დახარისხებული, რადგან ეს არის ერთადერთი გზა, თქვენ 852 00:35:53,890 --> 00:35:57,060 შეუძლია თუ თქვენ შეუძლია იმისათვის, რომ ნახევარს. 853 00:35:57,060 --> 00:36:00,260 >> თუ თქვენ არ ჰქონდა ამ სახელებს ჩანთა ნომრები და თქვენ ამბობდა, 854 00:36:00,260 --> 00:36:05,380 OK, მე ვაპირებ შეამოწმოს საშუალო ნომერი და ნომერი ვეძებ 855 00:36:05,380 --> 00:36:08,510 ნაკლებია, მე უბრალოდ აპირებს თვითნებურად ჩააგდე ერთი ნახევარი. 856 00:36:08,510 --> 00:36:11,130 თქვენ არ იცით, თუ თქვენი ციფრები, რომ მეორე ნახევარში. 857 00:36:11,130 --> 00:36:12,655 თქვენი სია უნდა იყოს დახარისხებული. 858 00:36:12,655 --> 00:36:14,030 859 00:36:14,030 --> 00:36:16,560 ასევე, ეს შეიძლება იყოს მიდის წინ ცოტა, 860 00:36:16,560 --> 00:36:18,360 მაგრამ თქვენ უნდა წვდომის. 861 00:36:18,360 --> 00:36:21,940 თქვენ უნდა შეეძლოს მხოლოდ წასვლა რომ შუა ელემენტს. 862 00:36:21,940 --> 00:36:25,110 თუ თქვენ გაქვთ გავლის მეშვეობით რაღაც 863 00:36:25,110 --> 00:36:28,630 ან სჭირდება ზედმეტი ნაბიჯები მისაღებად, რომ შუა ელემენტს, 864 00:36:28,630 --> 00:36:31,750 ის არ შეხვიდეთ n აღარაა, რადგან თქვენ დასძინა მეტი მუშაობა შევიდა. 865 00:36:31,750 --> 00:36:34,800 და ეს იქნება პატარა უფრო გრძნობა ორი კვირის განმავლობაში, 866 00:36:34,800 --> 00:36:37,950 მაგრამ მე უბრალოდ სახის სურდა შესავალი, მოგაწვდით ბიჭები იდეა რა 867 00:36:37,950 --> 00:36:38,999 მოვა. 868 00:36:38,999 --> 00:36:40,790 მაგრამ ეს ორი მნიშვნელოვანი ვარაუდები 869 00:36:40,790 --> 00:36:44,804 რომ თქვენ უნდა ორობითი სიაში. 870 00:36:44,804 --> 00:36:45,720 დარწმუნდით, რომ იგი ინახება. 871 00:36:45,720 --> 00:36:47,920 ეს არის ის, დიდი ერთი თქვენ ბიჭები ახლა. 872 00:36:47,920 --> 00:36:52,170 და რომ ჩვენ შეგვიძლია წავიდეთ დანარჩენი ჩვენი ჯიშები. 873 00:36:52,170 --> 00:36:56,444 ისე ოთხი sorts-- bubble, ჩანართი, შერჩევა, და შერწყმა. 874 00:36:56,444 --> 00:36:57,485 ისინი ყველა სახის cool. 875 00:36:57,485 --> 00:37:02,860 თუ ბიჭები გადაწყვეტენ მიიღონ CS 124, თქვენ გაეცნობიან ყველა სახის სახის. 876 00:37:02,860 --> 00:37:07,575 და თუ თქვენ xkcd fan, არსებობს მართლაც მაგარი კომიკური შესახებ 877 00:37:07,575 --> 00:37:11,530 როგორც მართლაც არაეფექტური სახის, რომელიც მე უაღრესად გირჩევთ აპირებს შევხედოთ. 878 00:37:11,530 --> 00:37:16,170 ერთ-ერთი მათგანი, როგორიცაა პანიკა ჯიშია, ჰგავს, მე არ, დაბრუნების შემთხვევითი მასივი. 879 00:37:16,170 --> 00:37:16,991 გამორთვის სისტემა. 880 00:37:16,991 --> 00:37:17,490 დატოვოს. 881 00:37:17,490 --> 00:37:19,070 882 00:37:19,070 --> 00:37:21,500 ასე geeky იუმორის ყოველთვის კარგი. 883 00:37:21,500 --> 00:37:22,620 884 00:37:22,620 --> 00:37:25,750 >> ასე რომ ვინმეს გახსოვთ სახის მოსწონს მხოლოდ ზოგადი წარმოდგენა 885 00:37:25,750 --> 00:37:27,810 როგორ bubble sort მუშაობს. 886 00:37:27,810 --> 00:37:31,130 887 00:37:31,130 --> 00:37:32,155 გახსოვთ? 888 00:37:32,155 --> 00:37:32,755 >> სტუდენტი: Yeah. 889 00:37:32,755 --> 00:37:33,970 >> ინსტრუქტორი: წავალ. 890 00:37:33,970 --> 00:37:38,980 >> სტუდენტი: ასე რომ, თქვენ გადის და თუ ის მეტია, მაშინ სვოპ ორი. 891 00:37:38,980 --> 00:37:39,820 >> ინსტრუქტორი: Mm-hm. 892 00:37:39,820 --> 00:37:40,564 ზუსტად. 893 00:37:40,564 --> 00:37:41,730 ასე რომ თქვენ უბრალოდ iterate მეშვეობით. 894 00:37:41,730 --> 00:37:43,050 თქვენ შეამოწმოთ ორი ნომერი. 895 00:37:43,050 --> 00:37:46,510 თუ ადრე უფრო დიდია, ვიდრე ერთი შემდეგ, 896 00:37:46,510 --> 00:37:50,230 თქვენ მხოლოდ სვოპ მათ ისე, რომ ამ გზით ყველა უმაღლესი ნომრები 897 00:37:50,230 --> 00:37:54,990 bubble up დასასრულს სიაში და ყველა ქვედა ნომრები bubble ქვემოთ. 898 00:37:54,990 --> 00:37:59,355 >> ცხადყო მან, რომ თქვენ ბიჭები მაგარი ხმა ეფექტი დახარისხება ვიდეო? 899 00:37:59,355 --> 00:38:00,480 ეს არის სახის cool. 900 00:38:00,480 --> 00:38:01,510 901 00:38:01,510 --> 00:38:05,200 ასე რომ, როგორც რობერტ აღნიშნა, ალგორითმი რომ თქვენ უბრალოდ ნაბიჯ მეშვეობით სიაში, 902 00:38:05,200 --> 00:38:07,930 შევცვალე მიმდებარე ფასეულობების თუ ისინი არ, რათა. 903 00:38:07,930 --> 00:38:10,975 და მაშინ უბრალოდ შეინახოს იმეორებს სანამ თქვენ არ მიიღოს ნებისმიერი სვოპების. 904 00:38:10,975 --> 00:38:11,990 905 00:38:11,990 --> 00:38:12,740 ასე არ არის ცუდი, არა? 906 00:38:12,740 --> 00:38:14,080 907 00:38:14,080 --> 00:38:16,319 ასე რომ, ჩვენ უბრალოდ უნდა სწრაფი მაგალითად აქ. 908 00:38:16,319 --> 00:38:18,360 ასე რომ, ეს იქნება დასალაგებლად მათ აღმავალი შეკვეთა. 909 00:38:18,360 --> 00:38:19,470 910 00:38:19,470 --> 00:38:23,470 ამიტომ, როდესაც ჩვენ გაიაროს პირველი დროს, ჩვენ გადავხედავთ რვა 911 00:38:23,470 --> 00:38:26,880 და ექვსი აშკარად არ ამ მიზნით, ჩვენ სვოპ მათ. 912 00:38:26,880 --> 00:38:27,985 >> ასე რომ შევხედოთ ერთი. 913 00:38:27,985 --> 00:38:29,430 რვა და ოთხი არ მიზნით. 914 00:38:29,430 --> 00:38:30,450 სვოპ მათ. 915 00:38:30,450 --> 00:38:32,530 და მაშინ რვა და ორი, სვოპ მათ. 916 00:38:32,530 --> 00:38:33,470 იქ ჩვენ წავიდეთ. 917 00:38:33,470 --> 00:38:39,519 ასე შემდეგ თქვენი პირველი უღელტეხილზე, თქვენ იცით, რომ თქვენი დიდი რაოდენობის 918 00:38:39,519 --> 00:38:41,810 იქნება ყველა გზა ზედა, რადგან ეს მხოლოდ 919 00:38:41,810 --> 00:38:44,210 იქნება მუდმივად უფრო დიდი, ვიდრე ყველაფერი 920 00:38:44,210 --> 00:38:46,810 და ეს მხოლოდ აპირებს ბუშტი ყველა გზა ბოლომდე არსებობს. 921 00:38:46,810 --> 00:38:48,226 ამჯამად რომ აზრი, რომ ყველასთვის? 922 00:38:48,226 --> 00:38:48,560 923 00:38:48,560 --> 00:38:49,060 ზემოთ. 924 00:38:49,060 --> 00:38:51,310 925 00:38:51,310 --> 00:38:53,920 >> ასე რომ, ჩვენ შევხედოთ ჩვენი მეორე უღელტეხილზე. 926 00:38:53,920 --> 00:38:54,980 ექვსი და ოთხი, შეცვლა. 927 00:38:54,980 --> 00:38:55,920 ექვსი და ორი, შეცვლა. 928 00:38:55,920 --> 00:38:58,700 და ახლა ჩვენ გვაქვს რამდენიმე რამ მიზნით. 929 00:38:58,700 --> 00:39:02,240 ასე რომ, ყოველ უღელტეხილზე, რომ ჩვენ რათა ჩვენი მთელი სია, 930 00:39:02,240 --> 00:39:06,320 ჩვენ ვიცით, რომ როგორც, რომ ბევრი ნომრები ბოლოს უკვე დახარისხებული. 931 00:39:06,320 --> 00:39:07,690 932 00:39:07,690 --> 00:39:09,610 ასე რომ ჩვენ მესამე უღელტეხილზე, რომელიც არის ერთ ერთი swap. 933 00:39:09,610 --> 00:39:10,860 934 00:39:10,860 --> 00:39:15,910 და მერე ჩვენი მეოთხე გაივლის, ჩვენ გვაქვს ნულოვანი slots. 935 00:39:15,910 --> 00:39:18,570 ასე რომ, ჩვენ ვიცით, რომ ჩვენი მასივი დახარისხებული. 936 00:39:18,570 --> 00:39:20,900 >> და ეს არის დიდი რამ bubble sort. 937 00:39:20,900 --> 00:39:23,720 ჩვენ ვიცით, რომ როდესაც ჩვენ ნულოვანი გაცვლებს, რომ 938 00:39:23,720 --> 00:39:26,497 ნიშნავს, რომ ყველაფერი არის სრული წესრიგი. 939 00:39:26,497 --> 00:39:27,580 ეს ერთგვარი, თუ როგორ შევამოწმოთ. 940 00:39:27,580 --> 00:39:28,740 941 00:39:28,740 --> 00:39:36,480 ასე რომ, ჩვენ ვაპირებთ კოდექსის bubble სახის, რომელიც ასევე არ არის, რომ ცუდი. 942 00:39:36,480 --> 00:39:38,120 არც ერთი ეს არის, რომ ცუდი. 943 00:39:38,120 --> 00:39:40,210 მე ვიცი, შეიძლება, როგორც ჩანს, ცოტა საშინელი. 944 00:39:40,210 --> 00:39:42,124 მე ვიცი, როდესაც მე კლასი, მაშინაც კი, როცა 945 00:39:42,124 --> 00:39:44,290 ასწავლის კლასი პირველად შარშან, 946 00:39:44,290 --> 00:39:46,165 მე, როგორც, როგორ გავაკეთო ეს? 947 00:39:46,165 --> 00:39:48,540 ეს აზრი თეორიულად, მაგრამ როგორ უნდა რეალურად ამის გაკეთება? 948 00:39:48,540 --> 00:39:51,420 რის გამოც მე ასევე მინდა სიარული მეშვეობით კოდი თქვენ ბიჭები აქ. 949 00:39:51,420 --> 00:39:54,915 ასე რომ pseudocode შენ ამ დროს. 950 00:39:54,915 --> 00:39:55,950 951 00:39:55,950 --> 00:39:58,970 ასე რომ მხოლოდ შენარჩუნება ამის გათვალისწინებით, როგორც ჩვენ შესახებ გადასვლას დასრულდა. 952 00:39:58,970 --> 00:40:04,210 ასე, რომ ჩვენ გვაქვს counter, რომ ინახავს ტრეკზე ჩვენი გაცვლებს, 953 00:40:04,210 --> 00:40:08,370 იმიტომ, რომ ჩვენ უნდა დავრწმუნდეთ, რომ ჩვენ შემოწმების რომ. 954 00:40:08,370 --> 00:40:11,830 და ჩვენ iterate მთელ მასივი როგორც ჩვენ გავაკეთეთ ეს მაგალითი. 955 00:40:11,830 --> 00:40:12,900 956 00:40:12,900 --> 00:40:17,325 თუ ელემენტს სანამ არ აღემატება ელემენტის შემდეგ, სადაც ჩვენ ვართ, 957 00:40:17,325 --> 00:40:20,760 ჩვენ სვოპ მათ და ჩვენ გავზარდოთ ჩვენი counter, რადგან, როგორც კი swap, 958 00:40:20,760 --> 00:40:23,850 ჩვენ გვინდა, რომ ჩვენი counter ვიცი, რომ. 959 00:40:23,850 --> 00:40:26,247 რაიმე შეკითხვები არსებობს? 960 00:40:26,247 --> 00:40:27,580 რაღაც ჩანს სასაცილო აქ. 961 00:40:27,580 --> 00:40:29,225 962 00:40:29,225 --> 00:40:32,350 სტუდენტი: თქვენ თუ მითითებული counter ნულოვანი ყოველ დროს, თქვენ გავლა loop? 963 00:40:32,350 --> 00:40:34,339 არ გააგრძელებ უკან ნულის ყველა დროის? 964 00:40:34,339 --> 00:40:35,505 ინსტრუქტორი: არ არის აუცილებელი. 965 00:40:35,505 --> 00:40:39,710 რა მოხდება, რომ ჩვენ გაიაროს აქ. 966 00:40:39,710 --> 00:40:43,830 ასე რომ, მაშინ, როდესაც, გახსოვთ, ეს შეასრულოს ერთხელ უეჭველად. 967 00:40:43,830 --> 00:40:46,480 ასე რომ, ის აპირებს მითითებული counter ნულის ტოლია, 968 00:40:46,480 --> 00:40:48,070 შემდეგ ის აპირებს iterate მეშვეობით. 969 00:40:48,070 --> 00:40:50,590 როგორც ის iterates მეშვეობით, იგი განაახლებს counter. 970 00:40:50,590 --> 00:40:51,870 971 00:40:51,870 --> 00:40:56,900 როგორც ის განახლება counter, როდესაც ეს კეთდება, როცა ის მიაღწია ბოლოს მასივი, 972 00:40:56,900 --> 00:41:00,830 თუ ჩვენს სიაში არ იქნა დახარისხებული, counter უკვე განახლდა. 973 00:41:00,830 --> 00:41:01,840 974 00:41:01,840 --> 00:41:07,150 >> ასე რომ, შემდეგ ამოწმებს მდგომარეობა და ამბობს, OK, არის counter ნულზე მეტი. 975 00:41:07,150 --> 00:41:09,290 თუ ეს არ არის, ამას კიდევ ერთხელ. 976 00:41:09,290 --> 00:41:14,340 გსურთ აღადგინოთ ასე რომ, როდესაც თქვენ გავლა, counter ნულის ტოლია. 977 00:41:14,340 --> 00:41:18,240 თუ თქვენ გავლა დახარისხებული მასივი, არაფერი შეიცვლება, 978 00:41:18,240 --> 00:41:21,355 ეს არ მოხდება, და თქვენ დაბრუნდეს დახარისხებული სია. 979 00:41:21,355 --> 00:41:23,104 980 00:41:23,104 --> 00:41:24,020 ამჯამად რომ აზრი? 981 00:41:24,020 --> 00:41:24,940 982 00:41:24,940 --> 00:41:26,356 სტუდენტი: ეს შეიძლება ცოტა. 983 00:41:26,356 --> 00:41:27,147 ინსტრუქტორი: OK. 984 00:41:27,147 --> 00:41:28,980 თუ არსებობს რაიმე სხვა საკითხი, რომ მოდის up. 985 00:41:28,980 --> 00:41:30,180 986 00:41:30,180 --> 00:41:30,680 დიახ. 987 00:41:30,680 --> 00:41:33,760 >> სტუდენტი: რას ფუნქცია იქნება შევცვალე ელემენტები? 988 00:41:33,760 --> 00:41:36,900 >> ინსტრუქტორი: ასე რომ ჩვენ შეგვიძლია რეალურად დაწეროს რომ თუ ჩვენ ვაპირებთ, რომ ახლა. 989 00:41:36,900 --> 00:41:37,801 990 00:41:37,801 --> 00:41:38,300 ზემოთ. 991 00:41:38,300 --> 00:41:42,155 ასე რომ შენიშვნა, Alison აპირებს გადართვის უკან მოწყობილობების. 992 00:41:42,155 --> 00:41:43,080 ეს იქნება fun. 993 00:41:43,080 --> 00:41:45,170 994 00:41:45,170 --> 00:41:47,390 და ჩვენ გვაქვს ჩვენი ლამაზი bubble sort რამ აქ. 995 00:41:47,390 --> 00:41:50,800 ასე რომ, მე უკვე გააკეთა cycling მეშვეობით მასივი. 996 00:41:50,800 --> 00:41:53,030 ჩვენ გვაქვს ჩვენი სვოპების რომ არის ნულის ტოლია. 997 00:41:53,030 --> 00:41:54,480 998 00:41:54,480 --> 00:41:58,440 ასე რომ, ჩვენ გვინდა, რომ სვოპ მიმდებარე ელემენტები, თუ ისინი მწყობრიდან. 999 00:41:58,440 --> 00:42:03,020 ასე რომ, პირველი, რაც უნდა არ არის iterate ჩვენი მასივი. 1000 00:42:03,020 --> 00:42:04,500 1001 00:42:04,500 --> 00:42:08,260 >> ასე რომ, როგორ ფიქრობთ, ჩვენ შეგვიძლია iterate ჩვენი მასივი? 1002 00:42:08,260 --> 00:42:09,720 1003 00:42:09,720 --> 00:42:13,990 ჩვენ გვაქვს და უდრის 0. 1004 00:42:13,990 --> 00:42:16,950 1005 00:42:16,950 --> 00:42:22,454 ჩვენ გვინდა i ნაკლები უნდა იყოს ვიდრე ო მინუს 1 მინუს k. 1006 00:42:22,454 --> 00:42:23,870 და მე აგიხსნით, რომ მეორე. 1007 00:42:23,870 --> 00:42:26,280 1008 00:42:26,280 --> 00:42:32,830 ასე რომ, ეს არის ოპტიმიზაცია აქ, სადაც, მახსოვს, როგორ მას შემდეგ, რაც ყოველ უღელტეხილზე 1009 00:42:32,830 --> 00:42:36,655 მეშვეობით მასივი ჩვენ ვიცი, რომ რაც არ უნდა on-- 1010 00:42:36,655 --> 00:42:43,590 1011 00:42:43,590 --> 00:42:46,295 >> ასე რომ, შემდეგ ერთ უღელტეხილზე ჩვენ ვიცი, რომ ეს არის დახარისხებული. 1012 00:42:46,295 --> 00:42:47,370 1013 00:42:47,370 --> 00:42:50,060 შემდეგ ორი შეჭრა ჩვენ ვიცით, რომ ეს ყველაფერი დალაგებულია. 1014 00:42:50,060 --> 00:42:52,750 მას შემდეგ, რაც სამი შეჭრა ჩვენ ვიცი, რომ ეს დახარისხებული. 1015 00:42:52,750 --> 00:42:55,620 ასე რომ გზა მე iterating მასივი აქ, 1016 00:42:55,620 --> 00:43:01,090 არის ის რაც დარწმუნებული ვარ, მხოლოდ იქ მეშვეობით, რაც ვიცით, არის დაუხარისხებელი. 1017 00:43:01,090 --> 00:43:01,644 OK? 1018 00:43:01,644 --> 00:43:02,810 ეს მხოლოდ ოპტიმიზაცია. 1019 00:43:02,810 --> 00:43:04,430 1020 00:43:04,430 --> 00:43:08,210 თქვენ შეგიძლიათ დაწეროთ ის გულუბრყვილოდ მხოლოდ iterating მეშვეობით ყველაფერი, 1021 00:43:08,210 --> 00:43:09,970 ეს მხოლოდ დასჭირდეს. 1022 00:43:09,970 --> 00:43:12,470 ამ ოთხი loop ეს უბრალოდ ლამაზი ოპტიმიზაცია 1023 00:43:12,470 --> 00:43:18,460 რადგან ჩვენ ვიცით, რომ ყოველი სრული iteration მეშვეობით მასივი აქ, 1024 00:43:18,460 --> 00:43:24,050 როგორც ყოველ სრულ loop აქ, ჩვენ ვიცით, კიდევ ერთი ამ ელემენტების 1025 00:43:24,050 --> 00:43:25,760 იქნება დახარისხებული ბოლოს. 1026 00:43:25,760 --> 00:43:28,294 >> ასე რომ, ჩვენ არ უნდა ფიქრი იმ. 1027 00:43:28,294 --> 00:43:29,710 ამჯამად რომ აზრი, რომ ყველასთვის? 1028 00:43:29,710 --> 00:43:30,950 რომ მაგარი პატარა ხრიკი? 1029 00:43:30,950 --> 00:43:32,060 1030 00:43:32,060 --> 00:43:37,270 ასე რომ, ამ შემთხვევაში, თუ ჩვენ iterating მეშვეობით, 1031 00:43:37,270 --> 00:43:50,590 ჩვენ ვიცით, რომ ჩვენ გვინდა შევამოწმოთ თუ array და n plus 1 მიზნით. 1032 00:43:50,590 --> 00:43:52,640 1033 00:43:52,640 --> 00:43:53,559 OK. 1034 00:43:53,559 --> 00:43:54,600 ასე რომ აქ pseudocode. 1035 00:43:54,600 --> 00:43:57,540 ჩვენ გვინდა, რომ შეამოწმოთ, თუ მასივი n და n plus 1 მიზნით. 1036 00:43:57,540 --> 00:43:59,520 ასე რომ, რა შეიძლება ჩვენ უნდა იქ? 1037 00:43:59,520 --> 00:44:01,090 1038 00:44:01,090 --> 00:44:03,120 ეს იქნება გარკვეული პირობით. 1039 00:44:03,120 --> 00:44:04,220 ეს იქნება, თუ. 1040 00:44:04,220 --> 00:44:07,066 >> სტუდენტი: თუ მასივი n არის ნაკლებია, ვიდრე მასივი n plus 1. 1041 00:44:07,066 --> 00:44:07,816 ინსტრუქტორი: Mm-hm. 1042 00:44:07,816 --> 00:44:09,000 1043 00:44:09,000 --> 00:44:10,699 ასევე, ნაკლები ან მეტი. 1044 00:44:10,699 --> 00:44:11,615 სტუდენტი: მეტი. 1045 00:44:11,615 --> 00:44:15,850 1046 00:44:15,850 --> 00:44:17,620 მაშინ ჩვენ გვინდა სვოპ მათ. 1047 00:44:17,620 --> 00:44:18,570 ზუსტად. 1048 00:44:18,570 --> 00:44:23,570 ასე რომ, ახლა ჩვენ შეღწევას რა არის მექანიზმი შევცვალე მათ? 1049 00:44:23,570 --> 00:44:24,840 1050 00:44:24,840 --> 00:44:28,137 ასე რომ, ჩვენ გაიარა მოკლედ, გაცნობის swap ფუნქცია გასულ კვირას. 1051 00:44:28,137 --> 00:44:29,595 ვინმეს გახსოვთ, როგორ მუშაობს იგი? 1052 00:44:29,595 --> 00:44:32,300 1053 00:44:32,300 --> 00:44:34,950 ასე რომ, ჩვენ არ შეგვიძლია მხოლოდ reassign მათ, არა? 1054 00:44:34,950 --> 00:44:36,640 იმის გამო, რომ ერთ-ერთი მათგანი დაკარგა. 1055 00:44:36,640 --> 00:44:41,696 თუ ჩვენ თქმით ტოლია B და მაშინ B უდრის, ყველა უცებ ორივე მათგანი 1056 00:44:41,696 --> 00:44:43,150 არის ტოლი B. 1057 00:44:43,150 --> 00:44:45,720 >> ამიტომ, რაც ჩვენ უნდა გავაკეთოთ არის ჩვენ დროებითი ცვლადი რომ 1058 00:44:45,720 --> 00:44:49,055 გამართვას აპირებს ერთი ჩვენი, ხოლო ჩვენ პროცესი შევცვალე. 1059 00:44:49,055 --> 00:44:50,200 1060 00:44:50,200 --> 00:44:56,464 რა გვაქვს, რომ ჩვენ გვექნება გარკვეული int დროებითი ტოლი შეიძლება დაავალოს ეს 1061 00:44:56,464 --> 00:44:59,130 რომელი ერთი გსურთ, უბრალოდ დარწმუნდით შენარჩუნება სიმღერა it-- 1062 00:44:59,130 --> 00:45:01,840 ასე რომ, ამ შემთხვევაში, მე ვაპირებ მივანიჭოთ მას მასივი n plus 1. 1063 00:45:01,840 --> 00:45:03,360 1064 00:45:03,360 --> 00:45:07,674 ისე, რომ აპირებს გამართოს, რასაც არც ამ მეორე ბლოკი 1065 00:45:07,674 --> 00:45:08,590 ჩვენ ვუყურებთ. 1066 00:45:08,590 --> 00:45:09,700 1067 00:45:09,700 --> 00:45:13,240 >> და მაშინ ჩვენ შეგვიძლია გავაკეთოთ არის შეგვიძლია წავიდეთ წინ და REASSIGN მასივი n + 1 1068 00:45:13,240 --> 00:45:14,990 იმიტომ, რომ ჩვენ ვიცით, აქვს, რომ არც ინახება. 1069 00:45:14,990 --> 00:45:16,645 1070 00:45:16,645 --> 00:45:19,270 ეს არის ასევე ერთი დიდი რამ მე არ ვიცი, თუ თქვენ 1071 00:45:19,270 --> 00:45:23,780 ჰქონდა საკითხები, სადაც, თუ თქვენ ჩართოთ ორ ხაზი კოდი მოულოდნელად რამ მუშაობდა. 1072 00:45:23,780 --> 00:45:25,880 იმისათვის, ძალიან მნიშვნელოვანია CS. 1073 00:45:25,880 --> 00:45:29,450 ასე რომ დარწმუნდით დიაგრამა რამ თუ არის შესაძლებელი 1074 00:45:29,450 --> 00:45:31,230 , თუ რა ხდება რეალურად. 1075 00:45:31,230 --> 00:45:34,256 ასე რომ, ახლა ჩვენ ვაპირებთ reassign მასივი n + 1 1076 00:45:34,256 --> 00:45:36,005 იმიტომ, რომ ჩვენ ვიცით, აქვს, რომ არც ინახება. 1077 00:45:36,005 --> 00:45:37,090 1078 00:45:37,090 --> 00:45:41,560 >> და ჩვენ შეგვიძლია მივანიჭოთ, რომ მასივი n ან ამ შემთხვევაში მასივი მე. 1079 00:45:41,560 --> 00:45:50,540 1080 00:45:50,540 --> 00:45:51,465 ძალიან ბევრი ცვლადები. 1081 00:45:51,465 --> 00:45:54,230 1082 00:45:54,230 --> 00:45:55,470 OK. 1083 00:45:55,470 --> 00:46:01,500 ახლა ჩვენ გადაიყვანა მასივი მე პლუს 1 უდრის რა არის მასივი მე. 1084 00:46:01,500 --> 00:46:08,240 და ახლა ჩვენ შეგვიძლია წავიდეთ უკან და მივანიჭოთ მასივი მე რა? 1085 00:46:08,240 --> 00:46:10,680 1086 00:46:10,680 --> 00:46:11,180 ვინმე? 1087 00:46:11,180 --> 00:46:13,490 1088 00:46:13,490 --> 00:46:14,010 >> STUDENT: 10. 1089 00:46:14,010 --> 00:46:14,680 >> ინსტრუქტორი: 10. 1090 00:46:14,680 --> 00:46:15,180 ზუსტად. 1091 00:46:15,180 --> 00:46:16,930 1092 00:46:16,930 --> 00:46:18,640 და ერთი რამ. 1093 00:46:18,640 --> 00:46:21,840 თუ ჩვენ გაცვალეს ახლა, რა უნდა გავაკეთოთ? 1094 00:46:21,840 --> 00:46:23,740 რა არის ერთი რამ, რომ აპირებს გვითხრათ 1095 00:46:23,740 --> 00:46:27,542 თუ ჩვენ ოდესმე შეწყვიტოს ეს პროგრამა? 1096 00:46:27,542 --> 00:46:29,250 რა გვეუბნება, რომ ჩვენ აქვს დახარისხებული სია? 1097 00:46:29,250 --> 00:46:31,560 1098 00:46:31,560 --> 00:46:33,750 თუ ჩვენ არ ასრულებს რაიმე გაცვლებს, არა? 1099 00:46:33,750 --> 00:46:36,900 თუ სვოპების ტოლია ნულოვანი ბოლოს ეს. 1100 00:46:36,900 --> 00:46:42,975 ასე რომ, როდესაც თქვენ შეასრულოს swap, როგორც ჩვენ მხოლოდ აქ, ჩვენ გვინდა განაახლოთ გაცვლებს. 1101 00:46:42,975 --> 00:46:45,002 1102 00:46:45,002 --> 00:46:47,210 და მე ვიცი, რომ იყო კითხვა, ადრე შეგიძლიათ 1103 00:46:47,210 --> 00:46:49,689 გამოყენება ნულოვანი ან ერთი ნაცვლად ჭეშმარიტი ან ცრუ. 1104 00:46:49,689 --> 00:46:50,980 და ეს რა ეს იმას აქ. 1105 00:46:50,980 --> 00:46:52,750 ასე რომ, ეს ნათქვამია, თუ არ იცვლება. 1106 00:46:52,750 --> 00:47:01,310 ასე რომ, თუ სვოპების არის ნულოვანი, რომელიც is-- ყოველთვის მიიღეთ ჩემი სიმართლე და ჩემი falses აირია. 1107 00:47:01,310 --> 00:47:03,960 ჩვენ გვინდა, ჩვენს შეაფასოთ რომ ჭეშმარიტი და ეს არ არის. 1108 00:47:03,960 --> 00:47:07,680 1109 00:47:07,680 --> 00:47:09,630 ასე რომ, თუ ეს ნულოვანი, მაშინ ეს სიცრუეა. 1110 00:47:09,630 --> 00:47:12,560 თუ თქვენ უარყოფს მას [? bang?] სიმართლე ხდება. 1111 00:47:12,560 --> 00:47:13,975 ასეა, მაშინ ეს ხაზი ახორციელებს. 1112 00:47:13,975 --> 00:47:15,060 1113 00:47:15,060 --> 00:47:17,370 >> სიმართლე და ყალბი და zeros და პირობა ჭკუიდან. 1114 00:47:17,370 --> 00:47:20,690 მხოლოდ იმ შემთხვევაში, თუ ნელა სიარული მეშვეობით ეს აზრი. 1115 00:47:20,690 --> 00:47:23,320 მაგრამ ის, რაც ამ პატარა ცოტა კოდი აქ აკეთებს. 1116 00:47:23,320 --> 00:47:26,490 ასე რომ, ეს ამოწმებს გავაკეთეთ რაიმე იცვლება. 1117 00:47:26,490 --> 00:47:30,054 ასე რომ, თუ ეს არაფერი, გარდა ნულოვანი, ის იქნება ყალბი 1118 00:47:30,054 --> 00:47:31,970 და მთელი რამ არის აპირებს შეასრულოს ერთხელ. 1119 00:47:31,970 --> 00:47:33,150 1120 00:47:33,150 --> 00:47:33,650 მაგარი? 1121 00:47:33,650 --> 00:47:34,660 1122 00:47:34,660 --> 00:47:36,000 >> სტუდენტი: რას შესვენების გაკეთება? 1123 00:47:36,000 --> 00:47:38,990 >> ინსტრუქტორი: Break მხოლოდ არღვევს თქვენ გარეთ loop. 1124 00:47:38,990 --> 00:47:41,570 ასე რომ, ამ შემთხვევაში, ეს იქნებოდა უბრალოდ მინდა დასრულდება პროგრამა 1125 00:47:41,570 --> 00:47:43,828 და თქვენ უბრალოდ თქვენი დახარისხებული სია. 1126 00:47:43,828 --> 00:47:44,536 სტუდენტი: Amazing. 1127 00:47:44,536 --> 00:47:48,094 1128 00:47:48,094 --> 00:47:49,010 ინსტრუქტორი: მე ბოდიში? 1129 00:47:49,010 --> 00:47:52,110 სტუდენტი: იმის გამო, რომ ადრე ჩვენ გამოიყენება წერილობითი 1 ზე დაწერილი zero 1130 00:47:52,110 --> 00:47:54,170 წარმოადგინოს, რომ თუ რომელიც იმუშავებს თუ არა. 1131 00:47:54,170 --> 00:47:54,878 >> ინსტრუქტორი: ჰო. 1132 00:47:54,878 --> 00:47:56,410 ასე რომ თქვენ შეგიძლიათ დაბრუნების ნულოვანი ან 1. 1133 00:47:56,410 --> 00:47:58,950 ამ შემთხვევაში, იმიტომ, რომ ჩვენ რეალურად არ აკეთებს არაფერი ფუნქცია, 1134 00:47:58,950 --> 00:48:00,150 ჩვენ უბრალოდ გვინდა, რომ შესვენება. 1135 00:48:00,150 --> 00:48:02,680 ჩვენ ნამდვილად არ აინტერესებს ეს. 1136 00:48:02,680 --> 00:48:06,960 სამუხრუჭე ასევე კარგია, თუ ის გამოიყენება არღვევს 1137 00:48:06,960 --> 00:48:10,710 ოთხი მარყუჟების და პირობები, რომ თქვენ არ გსურთ, რომ შევინარჩუნოთ შესრულებაში. 1138 00:48:10,710 --> 00:48:12,110 ეს მხოლოდ იღებს თქვენ აქედან. 1139 00:48:12,110 --> 00:48:13,587 1140 00:48:13,587 --> 00:48:14,795 ეს ცოტა ნიუანსი რამ. 1141 00:48:14,795 --> 00:48:16,737 1142 00:48:16,737 --> 00:48:18,445 ვგრძნობ, როგორიცაა არსებობს ბევრი ხელის ქნევა, 1143 00:48:18,445 --> 00:48:19,740 როგორც თქვენ გაეცნობიან მალე. 1144 00:48:19,740 --> 00:48:20,955 >> მაგრამ თქვენ გაეცნობიან მალე. 1145 00:48:20,955 --> 00:48:21,500 მე გპირდებით. 1146 00:48:21,500 --> 00:48:22,670 1147 00:48:22,670 --> 00:48:23,170 OK. 1148 00:48:23,170 --> 00:48:24,840 ასე რომ ყველას bubble sort? 1149 00:48:24,840 --> 00:48:25,550 ძალიან ცუდი. 1150 00:48:25,550 --> 00:48:31,910 Iterate მეშვეობით, swap რამ გამოყენებით temp ცვლადი, და ჩვენ ყველა იქ? 1151 00:48:31,910 --> 00:48:32,960 ზემოთ. 1152 00:48:32,960 --> 00:48:34,080 გასაოცარია. 1153 00:48:34,080 --> 00:48:34,807 OK. 1154 00:48:34,807 --> 00:48:35,765 უკან PowerPoint. 1155 00:48:35,765 --> 00:48:38,140 1156 00:48:38,140 --> 00:48:40,130 რაიმე შეკითხვები, ზოგადად, შესახებ ეს აქამდე? 1157 00:48:40,130 --> 00:48:41,200 1158 00:48:41,200 --> 00:48:41,700 ზემოთ. 1159 00:48:41,700 --> 00:48:43,110 1160 00:48:43,110 --> 00:48:43,695 მმ-hm. 1161 00:48:43,695 --> 00:48:45,279 >> სტუდენტი: [INAUDIBLE] int ძირითადი წესი. 1162 00:48:45,279 --> 00:48:46,695 მიგაჩნიათ თუ არა აქვს, რომ ამ საკითხთან დაკავშირებით? 1163 00:48:46,695 --> 00:48:48,400 1164 00:48:48,400 --> 00:48:53,550 >> ინსტრუქტორი: ასე რომ, ჩვენ უბრალოდ ეძებს მხოლოდ ფაქტობრივი დახარისხება ალგორითმი. 1165 00:48:53,550 --> 00:48:54,559 1166 00:48:54,559 --> 00:48:56,350 თუ თქვენ არ ჰქონდა ის ფარგლებში უფრო დიდი პროგრამა, 1167 00:48:56,350 --> 00:48:57,891 თქვენ ექნება int ძირითადი სადღაც. 1168 00:48:57,891 --> 00:49:00,070 1169 00:49:00,070 --> 00:49:02,880 დამოკიდებულია სადაც თქვენ გამოყენება ამ ალგორითმი, 1170 00:49:02,880 --> 00:49:05,860 ის განსაზღვრავს, რა არის დაბრუნება იგი. 1171 00:49:05,860 --> 00:49:09,960 მაგრამ ჩვენს შემთხვევაში, ჩვენ მკაცრად ეძებს თუ როგორ აკეთებს ამას, ფაქტობრივად, 1172 00:49:09,960 --> 00:49:11,300 iterate მეშვეობით მასივი. 1173 00:49:11,300 --> 00:49:12,570 ამიტომ, ჩვენ არ აღელვებს ეს. 1174 00:49:12,570 --> 00:49:14,150 1175 00:49:14,150 --> 00:49:19,830 >> ასე რომ, ჩვენ ვსაუბრობთ საუკეთესო შემთხვევაში და უარეს შემთხვევაში სცენარი ორობითი ძებნა. 1176 00:49:19,830 --> 00:49:22,470 ასე რომ, ეს ასევე მნიშვნელოვანია, რომ გავაკეთოთ რომ თითოეული ჩვენი ჯიშები. 1177 00:49:22,470 --> 00:49:24,200 1178 00:49:24,200 --> 00:49:27,560 ასე ფიქრობთ რა არის ყველაზე ცუდი საქმე runtime of bubble sort? 1179 00:49:27,560 --> 00:49:29,560 1180 00:49:29,560 --> 00:49:30,700 ბიჭები გახსოვთ? 1181 00:49:30,700 --> 00:49:31,784 >> სტუდენტი: N -1. 1182 00:49:31,784 --> 00:49:32,700 ინსტრუქტორი: N -1. 1183 00:49:32,700 --> 00:49:35,070 ისე, რომ ნიშნავს, რომ არსებობს ო მინუს 1 შედარებები. 1184 00:49:35,070 --> 00:49:40,060 ასე რომ ერთი რამ გვესმოდეს, რომ პირველ iteration, 1185 00:49:40,060 --> 00:49:43,360 ჩვენ გაიაროს, შევადარებთ ამ two-- ასე რომ 1. 1186 00:49:43,360 --> 00:49:46,685 ამ ორი, სამი, ოთხი. 1187 00:49:46,685 --> 00:49:48,070 1188 00:49:48,070 --> 00:49:55,050 ასე ერთი iteration ჩვენ უკვე გვაქვს ოთხი შედარებები. 1189 00:49:55,050 --> 00:49:58,230 როდესაც მე ვსაუბრობ დრო და n. 1190 00:49:58,230 --> 00:50:04,680 N წარმოადგენს რაოდენობა შედარება როგორც ფუნქცია რამდენი ელემენტები 1191 00:50:04,680 --> 00:50:05,570 ჩვენ გვაქვს. 1192 00:50:05,570 --> 00:50:06,430 OK? 1193 00:50:06,430 --> 00:50:08,860 >> ასე რომ, ჩვენ გაიაროს, ჩვენ გვაქვს ოთხი. 1194 00:50:08,860 --> 00:50:11,780 მომავალი დრო თქვენ იცით, რომ ჩვენ არ უნდა იზრუნოს ეს. 1195 00:50:11,780 --> 00:50:15,140 ჩვენ შევადარებთ ამ ორ, ამ ორი, ამ ორი, 1196 00:50:15,140 --> 00:50:20,050 და თუ ჩვენ არ გვაქვს, რომ ოპტიმიზაცია ოთხი ციკლი, რომელიც მე დავწერე, 1197 00:50:20,050 --> 00:50:22,750 თქვენ იქნება შედარებით აქ მაინც. 1198 00:50:22,750 --> 00:50:26,170 ასე, რომ თქვენ უნდა აწარმოებს მეშვეობით მასივი 1199 00:50:26,170 --> 00:50:34,380 და n შედარება n ჯერ, რადგან ყოველ ჯერზე ჩვენ 1200 00:50:34,380 --> 00:50:36,670 აწარმოებს მეშვეობით ჩვენ ერთგვარი ერთი რამ. 1201 00:50:36,670 --> 00:50:38,300 1202 00:50:38,300 --> 00:50:41,475 >> და ყოველ ჯერზე ჩვენ აწარმოებს მეშვეობით მასივი, ჩვენ n შედარება. 1203 00:50:41,475 --> 00:50:42,920 1204 00:50:42,920 --> 00:50:46,330 ასე რომ, ჩვენი runtime ეს არის ფაქტობრივად, n კვადრატში, რომელიც 1205 00:50:46,330 --> 00:50:48,400 გაცილებით უარესი ჩვენი შეხვიდეთ ბოლომდე, იმიტომ, რომ 1206 00:50:48,400 --> 00:50:51,965 ნიშნავს, თუ ჩვენ მას ოთხი მილიარდი ელემენტები, ის 1207 00:50:51,965 --> 00:50:55,260 აპირებს us ოთხი მილიარდი კვადრატში ნაცვლად 32. 1208 00:50:55,260 --> 00:51:01,240 ასე არ არის საუკეთესო runtime, მაგრამ გარკვეული რამ, 1209 00:51:01,240 --> 00:51:04,610 თქვენ იცით, თუ თქვენ ფარგლებში გარკვეული სპექტრი ელემენტები 1210 00:51:04,610 --> 00:51:06,540 bubble sort შეიძლება იყოს ჯარიმა გამოიყენოს. 1211 00:51:06,540 --> 00:51:07,530 >> OK. 1212 00:51:07,530 --> 00:51:12,290 ახლა რა არის საუკეთესო შემთხვევაში runtime? 1213 00:51:12,290 --> 00:51:14,357 1214 00:51:14,357 --> 00:51:14,940 სტუდენტი: Zero? 1215 00:51:14,940 --> 00:51:16,420 ან 1? 1216 00:51:16,420 --> 00:51:18,140 >> ინსტრუქტორი: So 1 გვინდა იყოს ერთი შედარებით. 1217 00:51:18,140 --> 00:51:19,114 უფლება. 1218 00:51:19,114 --> 00:51:20,002 >> სტუდენტი: N მინუს 1? 1219 00:51:20,002 --> 00:51:21,380 1220 00:51:21,380 --> 00:51:22,320 >> ინსტრუქტორი: ასე რომ, yeah. 1221 00:51:22,320 --> 00:51:22,990 ასე რომ, ო მინუს 1. 1222 00:51:22,990 --> 00:51:26,510 როდესაც თქვენ გაქვთ ისეთი ცნება, როგორიცაა n მინუს 1, ჩვენ, როგორც წესი, მხოლოდ ჩამოშალოს იგი off 1223 00:51:26,510 --> 00:51:31,680 და ჩვენ უბრალოდ, ვამბობთ n, რადგან თქვენ უნდა შედარების თითოეული these-- თითოეული წყვილი. 1224 00:51:31,680 --> 00:51:36,470 ასე რომ, ეს იქნება n მინუს 1, რომელიც ჩვენ ჩვენ უბრალოდ ამბობენ, დაახლოებით, n. 1225 00:51:36,470 --> 00:51:39,280 როდესაც თქვენ საქმე runtime, ყველაფერი უახლოვდება. 1226 00:51:39,280 --> 00:51:43,860 რადგან მაჩვენებლებით არის სწორი, თქვენ საკმაოდ კარგი. 1227 00:51:43,860 --> 00:51:45,700 >> ეს არის ის, თუ როგორ გაუმკლავდეთ მას. 1228 00:51:45,700 --> 00:51:47,410 1229 00:51:47,410 --> 00:51:51,780 ასე რომ, საუკეთესო შემთხვევაში არის n, რომელიც ნიშნავს, რომ სიაში უკვე დახარისხებული, 1230 00:51:51,780 --> 00:51:54,320 და ყველა ვაკეთებთ არის პერსპექტივაში მეშვეობით და შეამოწმოს, რომ ეს დახარისხებული. 1231 00:51:54,320 --> 00:51:56,110 1232 00:51:56,110 --> 00:51:56,855 ზემოთ. 1233 00:51:56,855 --> 00:51:57,355 ყველა უფლება. 1234 00:51:57,355 --> 00:51:58,980 1235 00:51:58,980 --> 00:52:01,920 ასე რომ, როგორც ხედავთ, ჩვენ უბრალოდ კიდევ რამდენიმე გრაფიკების. 1236 00:52:01,920 --> 00:52:02,660 ისე N კვადრატში. 1237 00:52:02,660 --> 00:52:03,780 1238 00:52:03,780 --> 00:52:05,120 სახალისო. 1239 00:52:05,120 --> 00:52:09,730 გაცილებით უარესი, ვიდრე n როგორც ვხედავთ, და ბევრად, ბევრად უარესი, ვიდრე ჟურნალი 2n. 1240 00:52:09,730 --> 00:52:12,060 და მაშინ ასევე მოხვდნენ ჟურნალი ჟურნალი. 1241 00:52:12,060 --> 00:52:18,020 და შენ 124, თქვენ შეღწევას როგორც ჟურნალი ვარსკვლავი, რომელიც მოსწონს გიჟები. 1242 00:52:18,020 --> 00:52:20,172 ასე რომ, თუ თქვენ დაინტერესებული, lookup შესვლა ვარსკვლავი. 1243 00:52:20,172 --> 00:52:20,880 ეს ერთგვარი გართობა. 1244 00:52:20,880 --> 00:52:22,800 1245 00:52:22,800 --> 00:52:24,220 ასე რომ, ჩვენ ამ დიდი სქემა. 1246 00:52:24,220 --> 00:52:25,360 1247 00:52:25,360 --> 00:52:28,720 უბრალოდ ხელმძღვანელები, ამ შესანიშნავი გრაფიკი აქვს 1248 00:52:28,720 --> 00:52:31,350 თქვენი შუალედური იმიტომ, რომ ჩვენ ხანგრძლივი გკითხოთ ეს არ შეიძლება. 1249 00:52:31,350 --> 00:52:36,090 ასე რომ მხოლოდ ხელმძღვანელები, აქვს ამ თქვენს შუალედური თქვენი ლამაზი cheat sheet 1250 00:52:36,090 --> 00:52:36,616 არსებობს. 1251 00:52:36,616 --> 00:52:37,990 ასე რომ, ჩვენ უბრალოდ შევხედე bubble sort. 1252 00:52:37,990 --> 00:52:39,510 1253 00:52:39,510 --> 00:52:42,370 უარეს შემთხვევაში, N კვადრატში, საუკეთესო შემთხვევაში, n. 1254 00:52:42,370 --> 00:52:43,367 1255 00:52:43,367 --> 00:52:44,950 და ჩვენ ვაპირებთ შევხედოთ სხვა. 1256 00:52:44,950 --> 00:52:47,940 >> და როგორც ხედავთ, მხოლოდ ერთი, რომ მართლაც აკეთებს კარგად 1257 00:52:47,940 --> 00:52:50,910 არის შერწყმა დალაგების, მივიღებთ, თუ რატომ. 1258 00:52:50,910 --> 00:52:52,690 1259 00:52:52,690 --> 00:52:55,215 ამიტომ, ჩვენ ვაპირებთ წასვლა მომდევნო ერთი აქ შერჩევა ერთგვარი. 1260 00:52:55,215 --> 00:52:56,360 1261 00:52:56,360 --> 00:52:58,420 ვინმეს გახსოვთ, როგორ შერჩევის დალაგების მუშაობდა? 1262 00:52:58,420 --> 00:53:05,200 1263 00:53:05,200 --> 00:53:05,700 წავიდეთ ეს. 1264 00:53:05,700 --> 00:53:08,210 >> სტუდენტი: ძირითადად გადის წესრიგი და შექმნას ახალი სია. 1265 00:53:08,210 --> 00:53:11,001 და ისევე, როგორც თქვენ აყენებს ელემენტები , დააყენა მათ უფლება ადგილი 1266 00:53:11,001 --> 00:53:11,750 ახალი სია. 1267 00:53:11,750 --> 00:53:14,040 >> ინსტრუქტორი: ასე რომ ხმები უფრო მოსწონს Insertion ჯიშია. 1268 00:53:14,040 --> 00:53:15,040 მაგრამ თქვენ ნამდვილად ახლოს. 1269 00:53:15,040 --> 00:53:15,915 ისინი ძალიან ჰგავს. 1270 00:53:15,915 --> 00:53:17,440 კი მე მათ აირია ხანდახან. 1271 00:53:17,440 --> 00:53:18,981 ადრე ამ განყოფილებაში მე იყო, დაველოდოთ. 1272 00:53:18,981 --> 00:53:20,130 1273 00:53:20,130 --> 00:53:20,630 OK. 1274 00:53:20,630 --> 00:53:24,141 ასე რომ, რა გსურთ გავაკეთოთ არის შერჩევის დალაგების, 1275 00:53:24,141 --> 00:53:25,890 გზა შეგიძლიათ ვფიქრობ, ამის შესახებ და გზა 1276 00:53:25,890 --> 00:53:30,140 მე დარწმუნებული ვარ, ვცდილობ არ მიიღოს მათ აირია, არის ის გადის 1277 00:53:30,140 --> 00:53:33,280 და ის ირჩევს პატარა ნომერი და 1278 00:53:33,280 --> 00:53:36,070 აყენებს, რომ დასაწყისში თქვენს სიაში. 1279 00:53:36,070 --> 00:53:37,730 ეს სვოპების ის, რომ პირველ ადგილზე. 1280 00:53:37,730 --> 00:53:42,600 1281 00:53:42,600 --> 00:53:45,370 მათ ფაქტობრივად, მაგალითად ჩემთვის. 1282 00:53:45,370 --> 00:53:46,540 გასაოცარია. 1283 00:53:46,540 --> 00:53:50,130 ასე რომ მხოლოდ გზა ვფიქრობ it-- შერჩევა დალაგების, აირჩიეთ პატარა ღირებულება. 1284 00:53:50,130 --> 00:53:51,940 და ჩვენ ვაპირებთ აწარმოებს მეშვეობით მაგალითად 1285 00:53:51,940 --> 00:53:55,320 რომ ვფიქრობ, ხელს შეუწყობს, რადგან მე ვფიქრობ, რომ ვიზუალური ყოველთვის დაეხმარება. 1286 00:53:55,320 --> 00:53:58,510 ასე რომ, ჩვენ დავიწყოთ რაღაც რომ სრულიად დაუხარისხებელი. 1287 00:53:58,510 --> 00:54:00,730 Red იქნება დაუხარისხებელი, მწვანე იქნება დახარისხებული. 1288 00:54:00,730 --> 00:54:02,190 ეს ყველა აზრი მეორე. 1289 00:54:02,190 --> 00:54:08,950 >> ასე რომ, ჩვენ გაიაროს და ჩვენ iterate თავიდან ბოლომდე. 1290 00:54:08,950 --> 00:54:12,320 და ვამბობთ, OK, 2 ჩვენი პატარა ნომერი. 1291 00:54:12,320 --> 00:54:15,680 ამიტომ, ჩვენ ვაპირებთ მიიღოს 2 და ჩვენ ვაპირებთ გადატანა წინ ჩვენი მასივი 1292 00:54:15,680 --> 00:54:17,734 იმიტომ, რომ მცირე რაოდენობის გვაქვს. 1293 00:54:17,734 --> 00:54:19,150 ასე რომ, ეს, თუ რას აკეთებს აქ. 1294 00:54:19,150 --> 00:54:20,820 უბრალოდ აპირებს სვოპ ორი. 1295 00:54:20,820 --> 00:54:21,850 1296 00:54:21,850 --> 00:54:25,450 ახლა ჩვენ დახარისხებული ნაწილი და არასორტირებული ნაწილი. 1297 00:54:25,450 --> 00:54:27,810 და რა უნდა გვახსოვდეს, შერჩევის დალაგების 1298 00:54:27,810 --> 00:54:30,690 არის ჩვენ მხოლოდ შერჩევის საწყისი არასორტირებული ნაწილი. 1299 00:54:30,690 --> 00:54:32,220 1300 00:54:32,220 --> 00:54:34,527 >> დახარისხებული ნაწილი უბრალოდ დაანებოს. 1301 00:54:34,527 --> 00:54:35,660 მმ-hm? 1302 00:54:35,660 --> 00:54:38,452 >> სტუდენტი: როგორ ვიცით, რა არის პატარა გარეშე შედარება 1303 00:54:38,452 --> 00:54:39,868 ყველა სხვა ღირებულების მასივი. 1304 00:54:39,868 --> 00:54:41,250 ინსტრუქტორი: ეს არ შევადარებ. 1305 00:54:41,250 --> 00:54:42,041 მოგვწონს გამოტოვებენ იგი. 1306 00:54:42,041 --> 00:54:43,850 ეს არის მხოლოდ და მხოლოდ ზოგადი საერთო. 1307 00:54:43,850 --> 00:54:44,831 ჰო. 1308 00:54:44,831 --> 00:54:47,205 როდესაც ჩვენ წერენ კოდი ვარ დარწმუნებული ვარ, თქვენ უფრო კმაყოფილი. 1309 00:54:47,205 --> 00:54:48,696 1310 00:54:48,696 --> 00:54:53,030 მაგრამ თქვენ შესანახად ეს პირველი ელემენტს, როგორც პატარა. 1311 00:54:53,030 --> 00:54:56,110 თქვენ შედარება და თქვენ იტყვით, ეს არის პატარა? 1312 00:54:56,110 --> 00:54:56,660 დიახ. 1313 00:54:56,660 --> 00:54:57,460 შეინახოს იგი. 1314 00:54:57,460 --> 00:54:58,640 აქ არის პატარა? 1315 00:54:58,640 --> 00:54:59,660 არა? 1316 00:54:59,660 --> 00:55:02,510 >> ეს არის თქვენი პატარა, reassign ეს თქვენი ღირებულება. 1317 00:55:02,510 --> 00:55:06,340 და თქვენ ბევრად უფრო ბედნიერი როდესაც ჩვენ გაიაროს კოდი. 1318 00:55:06,340 --> 00:55:07,510 1319 00:55:07,510 --> 00:55:13,970 ასე რომ, ჩვენ გაიაროს, ჩვენ სვოპ ის, ასე რომ, დავაკვირდებით ამ არასორტირებული ნაწილი. 1320 00:55:13,970 --> 00:55:15,810 ამიტომ, ჩვენ ვაპირებთ აირჩიოთ სამი. 1321 00:55:15,810 --> 00:55:18,890 ჩვენ ვაპირებთ, რომ ეს ზე ბოლოს ჩვენი დახარისხებული ნაწილი. 1322 00:55:18,890 --> 00:55:20,267 1323 00:55:20,267 --> 00:55:23,100 და ჩვენ უბრალოდ აპირებს შეინარჩუნოს რომ აკეთებს, რომ, და აკეთებს, რომ. 1324 00:55:23,100 --> 00:55:24,130 1325 00:55:24,130 --> 00:55:27,420 ასე რომ, ეს ჩვენი სახის pseudocode აქ. 1326 00:55:27,420 --> 00:55:29,470 1327 00:55:29,470 --> 00:55:31,380 ჩვენ კოდექსში ეს აქ მეორე. 1328 00:55:31,380 --> 00:55:34,140 1329 00:55:34,140 --> 00:55:37,270 მაგრამ რაღაც ფეხით შედეგად მაღალ დონეზე. 1330 00:55:37,270 --> 00:55:40,275 თქვენ აპირებს წავიდეს i = 0 to n მინუს 2. 1331 00:55:40,275 --> 00:55:41,570 1332 00:55:41,570 --> 00:55:43,530 ეს არის კიდევ ერთი ოპტიმიზაცია. 1333 00:55:43,530 --> 00:55:45,020 არ ინერვიულოთ ძალიან ბევრი ამის შესახებ. 1334 00:55:45,020 --> 00:55:46,620 ასე რომ, ამბობდნენ. 1335 00:55:46,620 --> 00:55:49,660 1336 00:55:49,660 --> 00:55:54,406 როგორც იაკობ ამბობდა, როგორ უნდა ტრეკზე რა ჩვენი მინიმალური არის? 1337 00:55:54,406 --> 00:55:55,030 როგორ ვიცით? 1338 00:55:55,030 --> 00:55:57,060 ჩვენ უნდა შეადაროთ ყველაფერი ჩვენს სიაში. 1339 00:55:57,060 --> 00:55:59,600 >> ასე მინიმალური ტოლია i. 1340 00:55:59,600 --> 00:56:03,870 უბრალოდ ვამბობ, რომ ამ შემთხვევაში ინდექსის ჩვენი მინიმალური ღირებულება. 1341 00:56:03,870 --> 00:56:07,660 ასე შემდეგ ის აპირებს iterate მეშვეობით და მიდის j ტოლია i პლუს 1. 1342 00:56:07,660 --> 00:56:11,420 ასე რომ, ჩვენ უკვე ვიცით, რომ ეს არის ჩვენი პირველი ელემენტს. 1343 00:56:11,420 --> 00:56:13,240 ჩვენ არ უნდა შევადაროთ ის, რომ თავად. 1344 00:56:13,240 --> 00:56:16,970 ასე რომ, ჩვენ ვიწყებთ შედარებით მას შემდეგი ერთ-ერთი რის გამოც ის i პლუს 1 ო 1345 00:56:16,970 --> 00:56:20,110 მინუს 1, რომელიც არის ბოლოს მასივი არსებობს. 1346 00:56:20,110 --> 00:56:25,090 ჩვენ ვუთხარით, თუ მასივი კ ნაკლებია, ვიდრე მასივი წთ, 1347 00:56:25,090 --> 00:56:29,200 მაშინ ჩვენ reassign სადაც ჩვენი მინიმალური მაჩვენებლების. 1348 00:56:29,200 --> 00:56:37,470 >> და თუ min არ არის ტოლი i, როგორც იქ, სადაც ვიყავით აქ. 1349 00:56:37,470 --> 00:56:38,950 1350 00:56:38,950 --> 00:56:41,790 ისე მომწონს, როდესაც ჩვენ პირველად ეს ერთი. 1351 00:56:41,790 --> 00:56:49,310 ამ შემთხვევაში, ეს იქნებოდა იწყება ნულოვანი, ეს რომ დასრულდება მდე მიმდინარეობს ორი. 1352 00:56:49,310 --> 00:56:53,010 ასე min რომ არ თანაბარი i ბოლომდე. 1353 00:56:53,010 --> 00:56:55,720 რომელიც საშუალებას გვაძლევს ვიცით, რომ ჩვენ უნდა სვოპ მათ. 1354 00:56:55,720 --> 00:56:57,420 1355 00:56:57,420 --> 00:57:00,470 ვგრძნობ, როგორიცაა კონკრეტული მაგალითი დაეხმარება ბევრად უფრო, ვიდრე ეს. 1356 00:57:00,470 --> 00:57:04,970 ასე რომ, მე კოდექსს up თქვენ ბიჭები ახლა და მე ვფიქრობ, რომ უკეთესი იქნება. 1357 00:57:04,970 --> 00:57:07,380 1358 00:57:07,380 --> 00:57:11,350 >> სახის ტენდენცია მუშაობა, რომ გზა, რომელიც ეს ხშირად უკეთესი მხოლოდ ვხედავთ. 1359 00:57:11,350 --> 00:57:12,780 1360 00:57:12,780 --> 00:57:17,280 ამიტომ, რაც ჩვენ გვსურს რომ არის ჩვენ გვინდა პირველი პატარა 1361 00:57:17,280 --> 00:57:19,890 ელემენტი თავისი პოზიცია მასივში. 1362 00:57:19,890 --> 00:57:21,280 ზუსტად ის, რაც იაკობ ამბობდა. 1363 00:57:21,280 --> 00:57:23,090 თქვენ უნდა შეინახოთ, რომ როგორმე. 1364 00:57:23,090 --> 00:57:25,900 ასე რომ, ჩვენ ვაპირებთ დავიწყოთ აქ iterating მეტი მასივი. 1365 00:57:25,900 --> 00:57:28,970 ჩვენ ვაპირებთ, რომ ვთქვა, რომ ეს ჩვენი პირველი უბრალოდ უნდა დაიწყოს. 1366 00:57:28,970 --> 00:57:38,308 ასე რომ, ჩვენ ვაპირებთ აქვს int პატარა ტოლია მასივი i. 1367 00:57:38,308 --> 00:57:40,500 1368 00:57:40,500 --> 00:57:45,050 >> ასე რომ ერთი რამ შეამჩნია, ყველა დროის ამ მარყუჟის გაუშვებს, 1369 00:57:45,050 --> 00:57:48,550 ჩვენ ვიწყებთ ერთი ნაბიჯით შემდგომი ერთად. 1370 00:57:48,550 --> 00:57:54,780 1371 00:57:54,780 --> 00:57:57,440 როდესაც ჩვენ ვიწყებთ ჩვენ შევხედოთ ეს. 1372 00:57:57,440 --> 00:58:00,840 შემდეგი დროს ჩვენ iterate მეშვეობით, ჩვენ ვიწყებთ ამ ერთი 1373 00:58:00,840 --> 00:58:02,680 და იმის, რომ ჩვენი პატარა ღირებულება. 1374 00:58:02,680 --> 00:58:10,450 ასე რომ, ეს ძალიან ჰგავს bubble sort სადაც ჩვენ ვიცით, რომ მას შემდეგ, რაც ერთ უღელტეხილზე, 1375 00:58:10,450 --> 00:58:11,700 ეს ბოლო ელემენტს დახარისხებული. 1376 00:58:11,700 --> 00:58:12,810 1377 00:58:12,810 --> 00:58:15,120 შერჩევა ერთგვარი, ეს პირიქით. 1378 00:58:15,120 --> 00:58:18,950 >> ყველა უღელტეხილზე, ჩვენ ვიცით, რომ პირველი დალაგებულია. 1379 00:58:18,950 --> 00:58:21,360 მეორე უღელტეხილზე, მეორე იქნება დახარისხებული. 1380 00:58:21,360 --> 00:58:26,470 და როგორც თქვენ ნახეთ, რომ slide მაგალითები, ჩვენი დახარისხებული ნაწილი მხოლოდ იზრდება. 1381 00:58:26,470 --> 00:58:34,020 ასე მიიღწევა ჩვენი პატარა ერთი მასივების i, ყველა ის აკეთებს 1382 00:58:34,020 --> 00:58:37,340 არის მშენებლობის რა ჩვენ შევხედავთ ისე, 1383 00:58:37,340 --> 00:58:40,164 რაოდენობის შემცირების შედარება მოგვცემს. 1384 00:58:40,164 --> 00:58:41,770 ამჯამად რომ აზრი ყველას? 1385 00:58:41,770 --> 00:58:42,920 1386 00:58:42,920 --> 00:58:46,380 გჭირდებათ მე აწარმოებს მეშვეობით, რომ ისევ ნელი ან სხვადასხვა სიტყვა? 1387 00:58:46,380 --> 00:58:47,180 მოხარული ვარ, რომ. 1388 00:58:47,180 --> 00:58:48,095 1389 00:58:48,095 --> 00:58:48,595 OK. 1390 00:58:48,595 --> 00:58:50,060 1391 00:58:50,060 --> 00:58:55,540 >> ასე რომ, ჩვენ შენახვის არც ამ ეტაპზე, 1392 00:58:55,540 --> 00:58:57,840 მაგრამ ჩვენ ასევე გვინდა შესანახად ინდექსი. 1393 00:58:57,840 --> 00:59:01,010 ამიტომ, ჩვენ ვაპირებთ შესანახად პოზიცია პატარა 1394 00:59:01,010 --> 00:59:02,770 ერთი, რომელიც მხოლოდ იქნება i. 1395 00:59:02,770 --> 00:59:04,357 1396 00:59:04,357 --> 00:59:05,440 ასე რომ, ახლა Jacob კმაყოფილია. 1397 00:59:05,440 --> 00:59:06,870 ჩვენ გვყავს რამ ინახება. 1398 00:59:06,870 --> 00:59:08,240 1399 00:59:08,240 --> 00:59:11,870 და ახლა ჩვენ უნდა გაეცნონ არასორტირებული ნაწილი მასივი. 1400 00:59:11,870 --> 00:59:18,170 ასე რომ ამ შემთხვევაში ეს იქნება ჩვენი არასორტირებული. 1401 00:59:18,170 --> 00:59:20,980 1402 00:59:20,980 --> 00:59:22,462 ეს არის მე. 1403 00:59:22,462 --> 00:59:25,430 1404 00:59:25,430 --> 00:59:26,210 OK. 1405 00:59:26,210 --> 00:59:30,040 >> ამიტომ, რაც ჩვენ ვაპირებთ, რომ გავაკეთოთ იქნება ციკლი. 1406 00:59:30,040 --> 00:59:32,066 როდესაც თქვენ უნდა iterate მეშვეობით მასივი, 1407 00:59:32,066 --> 00:59:33,440 თქვენი აზრით, შეიძლება წავიდეს ამისთვის loop. 1408 00:59:33,440 --> 00:59:34,760 1409 00:59:34,760 --> 00:59:38,090 ასე რომ ზოგიერთი int k შეადგენს რას ვფიქრობთ 1410 00:59:38,090 --> 00:59:39,700 k აპირებს თანაბარი უნდა დაიწყოს? 1411 00:59:39,700 --> 00:59:41,580 1412 00:59:41,580 --> 00:59:44,766 ეს არის ის, რაც ჩვენ მითითებული, როგორც ჩვენი პატარა ღირებულება და ჩვენ გვინდა, რომ შეადაროთ იგი. 1413 00:59:44,766 --> 00:59:47,090 რა გვინდა შეადაროთ იგი? 1414 00:59:47,090 --> 00:59:48,730 ეს იქნება ეს ერთი, არა? 1415 00:59:48,730 --> 00:59:53,200 ასე რომ ჩვენ გვინდა k ინიციალიზაცია რომ მე პლუს 1 დასაწყებად. 1416 00:59:53,200 --> 00:59:55,350 1417 00:59:55,350 --> 01:00:02,800 >> და ჩვენ გვინდა k ამ შემთხვევაში ჩვენ უკვე ზომა ინახება აქ, 1418 01:00:02,800 --> 01:00:03,930 ასე რომ, ჩვენ უბრალოდ გამოიყენოთ ზომა. 1419 01:00:03,930 --> 01:00:06,240 ზომა მყოფი ზომა მასივი. 1420 01:00:06,240 --> 01:00:09,620 და ჩვენ უბრალოდ გვინდა განახლება k თითო დროს. 1421 01:00:09,620 --> 01:00:17,410 1422 01:00:17,410 --> 01:00:17,910 ზემოთ. 1423 01:00:17,910 --> 01:00:19,650 1424 01:00:19,650 --> 01:00:23,430 ასე რომ, ახლა ჩვენ გვჭირდება, ყველაზე პატარა ელემენტი აქ. 1425 01:00:23,430 --> 01:00:24,470 1426 01:00:24,470 --> 01:00:31,380 ასე რომ, თუ ჩვენ iterate მეშვეობით, ჩვენ მინდა ვთქვა, რომ, თუ მასივი k 1427 01:00:31,380 --> 01:00:37,080 ნაკლებია, ვიდრე ჩვენი პატარა ღირებულება ეს არის, სადაც ჩვენ, ფაქტობრივად, 1428 01:00:37,080 --> 01:00:42,950 შენახვა ტრეკზე რა პატარა აქ 1429 01:00:42,950 --> 01:00:47,740 მაშინ ჩვენ გვინდა reassign რა არის ჩვენი პატარა ღირებულება. 1430 01:00:47,740 --> 01:00:50,645 >> ეს ნიშნავს, რომ, მე, ჩვენ iterating მეშვეობით აქ. 1431 01:00:50,645 --> 01:00:51,699 1432 01:00:51,699 --> 01:00:53,740 როგორიც არ უნდა იყოს არც აქ არის არა ჩვენი პატარა რამ. 1433 01:00:53,740 --> 01:00:54,448 ჩვენ არ გვინდა ეს. 1434 01:00:54,448 --> 01:00:56,100 ჩვენ გვინდა, რომ reassign ის. 1435 01:00:56,100 --> 01:01:02,050 ასე რომ, თუ ჩვენ reassigning ეს, რა როგორ ფიქრობთ, შეიძლება იყოს ეს კოდი აქ? 1436 01:01:02,050 --> 01:01:04,160 ჩვენ გვინდა, რომ reassign პატარა და პოზიცია. 1437 01:01:04,160 --> 01:01:05,740 1438 01:01:05,740 --> 01:01:07,010 რა არის ყველაზე პატარა ახლა? 1439 01:01:07,010 --> 01:01:08,422 1440 01:01:08,422 --> 01:01:09,130 სტუდენტი: Array k. 1441 01:01:09,130 --> 01:01:09,963 ინსტრუქტორი: Array k. 1442 01:01:09,963 --> 01:01:13,480 1443 01:01:13,480 --> 01:01:15,956 და რა პოზიცია არის? 1444 01:01:15,956 --> 01:01:20,940 1445 01:01:20,940 --> 01:01:23,000 რა არის ინდექსები ჩვენი პატარა მნიშვნელობა? 1446 01:01:23,000 --> 01:01:24,030 1447 01:01:24,030 --> 01:01:24,530 უბრალოდ k. 1448 01:01:24,530 --> 01:01:25,690 1449 01:01:25,690 --> 01:01:27,790 ამიტომ მასივი K, K, ისინი შეესაბამება. 1450 01:01:27,790 --> 01:01:31,670 1451 01:01:31,670 --> 01:01:33,120 ამიტომ გვინდოდა reassign რომ. 1452 01:01:33,120 --> 01:01:34,390 1453 01:01:34,390 --> 01:01:39,950 მას შემდეგ, რაც ჩვენ ვნახეთ ჩვენი პატარა, ასე დასასრულს ამ for loop 1454 01:01:39,950 --> 01:01:45,100 აქ ჩვენ ვიპოვეთ ის, რასაც ჩვენი პატარა არც, ამიტომ ჩვენ მხოლოდ სვოპ ის. 1455 01:01:45,100 --> 01:01:47,100 1456 01:01:47,100 --> 01:01:50,816 ამ შემთხვევაში, როგორც ამბობენ, ჩვენი პატარა არც აქ. 1457 01:01:50,816 --> 01:01:51,940 ეს არის ჩვენი პატარა ღირებულება. 1458 01:01:51,940 --> 01:01:57,690 >> ჩვენ უბრალოდ გვინდა, რომ სვოპ ის, რაც არის რა, რომ swap ფუნქციის ბოლოში 1459 01:01:57,690 --> 01:02:01,270 გააკეთა, რომელსაც ჩვენ უბრალოდ დაწერა up ერთად რამდენიმე წუთის წინ. 1460 01:02:01,270 --> 01:02:02,775 ასე რომ უნდა გამოიყურებოდეს ნაცნობი. 1461 01:02:02,775 --> 01:02:04,320 1462 01:02:04,320 --> 01:02:08,030 და მაშინ უბრალოდ iterate მეშვეობით, სანამ ის აღწევს ყველა გზა 1463 01:02:08,030 --> 01:02:13,100 და ბოლოს, რაც იმას ნიშნავს, რომ თქვენ ნულოვანი ელემენტები, რომლებიც დაუხარისხებელი 1464 01:02:13,100 --> 01:02:14,800 და ყველაფერი უკვე დახარისხებული. 1465 01:02:14,800 --> 01:02:16,216 1466 01:02:16,216 --> 01:02:16,715 აზრი? 1467 01:02:16,715 --> 01:02:18,010 1468 01:02:18,010 --> 01:02:19,280 უფრო კონკრეტულად? 1469 01:02:19,280 --> 01:02:19,990 კოდი დახმარება? 1470 01:02:19,990 --> 01:02:21,720 1471 01:02:21,720 --> 01:02:26,410 >> სტუდენტი: For ზომა, თქვენ არასდროს ნამდვილად განსაზღვრავს მის შეცვლას ან, 1472 01:02:26,410 --> 01:02:27,340 რამდენად შეესაბამება ეს იცით? 1473 01:02:27,340 --> 01:02:32,380 >> ინსტრუქტორი: ასე რომ, ერთი რამ შეამჩნია აქ არის int ზომა. 1474 01:02:32,380 --> 01:02:35,680 ასე რომ, ჩვენ ვამბობთ, რომ ამ დალაგება სახის ფუნქცია ამ შემთხვევაში ეს 1475 01:02:35,680 --> 01:02:40,770 შერჩევის დალაგების, ის გავიდა ერთად ფუნქცია. 1476 01:02:40,770 --> 01:02:43,460 ასე რომ, თუ არ გავიდა in, თქვენ რაღაც 1477 01:02:43,460 --> 01:02:47,840 ისევე, როგორც სიგრძეზე მასივი ან თქვენ iterate მეშვეობით 1478 01:02:47,840 --> 01:02:49,390 იპოვოს სიგრძეზე. 1479 01:02:49,390 --> 01:02:52,680 არამედ იმიტომ, რომ ის გავიდა in, ჩვენ უბრალოდ გამოიყენოს იგი. 1480 01:02:52,680 --> 01:02:55,720 უბრალოდ ვივარაუდოთ, რომ მომხმარებლის მისცა თქვენ სწორი ზომა, რომელიც 1481 01:02:55,720 --> 01:02:57,698 რეალურად წარმოადგენს ზომა თქვენი მასივი. 1482 01:02:57,698 --> 01:02:59,461 1483 01:02:59,461 --> 01:02:59,960 მაგარი? 1484 01:02:59,960 --> 01:03:01,610 1485 01:03:01,610 --> 01:03:05,870 >> თუ თქვენ ბიჭები გაქვთ რაიმე პრობლემები ამ ან სურს მეტი პრაქტიკა კოდირების სახის 1486 01:03:05,870 --> 01:03:08,050 საკუთარ, თქვენ უნდა წასვლა study.cs50. 1487 01:03:08,050 --> 01:03:11,560 1488 01:03:11,560 --> 01:03:12,670 ეს ინსტრუმენტი. 1489 01:03:12,670 --> 01:03:15,040 მათ აქვთ შემოწმება რომ თქვენ შეგიძლიათ რეალურად დაწეროს. 1490 01:03:15,040 --> 01:03:16,180 მათ ამის pseudocode. 1491 01:03:16,180 --> 01:03:19,310 მათ აქვთ მეტი ვიდეო და სლაიდები მათ შორის, აქ გამოყენებული. 1492 01:03:19,310 --> 01:03:23,150 ასე რომ, თუ თქვენ ჯერ კიდევ შეგრძნება ცოტა საეჭვო, ცდილობენ რომ. 1493 01:03:23,150 --> 01:03:25,670 როგორც ყოველთვის, მოვა გაიგო ჩემთვის, ძალიან. 1494 01:03:25,670 --> 01:03:26,320 კითხვა? 1495 01:03:26,320 --> 01:03:28,611 >> სტუდენტი: თქვენ ამბობთ, ზომა წინასწარ განსაზღვრული? 1496 01:03:28,611 --> 01:03:29,234 1497 01:03:29,234 --> 01:03:29,900 ინსტრუქტორი: დიახ. 1498 01:03:29,900 --> 01:03:35,570 ზომა ადრე განისაზღვრა აქ ფუნქცია დეკლარაცია. 1499 01:03:35,570 --> 01:03:39,060 ასე რომ თქვენ ვივარაუდოთ, რომ ის უკვე გავიდა მომხმარებლის მიერ, და სიმარტივის გულისთვის, 1500 01:03:39,060 --> 01:03:41,896 ჩვენ ვაპირებთ, რომ ვივარაუდოთ, რომ მომხმარებლის მოგვცა სწორი ზომა. 1501 01:03:41,896 --> 01:03:43,240 ზემოთ. 1502 01:03:43,240 --> 01:03:44,390 ისე, რომ შერჩევა ერთგვარი. 1503 01:03:44,390 --> 01:03:45,590 1504 01:03:45,590 --> 01:03:47,640 ბიჭები, მე ვიცი, ჩვენ სწავლის ბევრი გააკეთა. 1505 01:03:47,640 --> 01:03:49,710 ეს მკვრივი მონაცემები მონაკვეთზე. 1506 01:03:49,710 --> 01:03:51,880 1507 01:03:51,880 --> 01:03:57,340 ასე რომ, ჩვენ ვაპირებთ წასვლა Insertion ჯიშია. 1508 01:03:57,340 --> 01:04:01,550 1509 01:04:01,550 --> 01:04:02,510 >> OK. 1510 01:04:02,510 --> 01:04:06,100 ასე რომ სანამ ჩვენ უნდა გავაკეთოთ ჩვენი runtime ანალიზი აქ. 1511 01:04:06,100 --> 01:04:10,190 ასე რომ, საუკეთესო შემთხვევაში, მინიჭებული, რაც მე გაჩვენეთ 1512 01:04:10,190 --> 01:04:11,960 მაგიდასთან მე უკვე სახის მისცა ის დაშორებით. 1513 01:04:11,960 --> 01:04:15,430 მაგრამ საუკეთესო შემთხვევაში runtime, რას ფიქრობთ? 1514 01:04:15,430 --> 01:04:17,310 1515 01:04:17,310 --> 01:04:18,130 ყველაფერი დალაგებულია. 1516 01:04:18,130 --> 01:04:21,040 1517 01:04:21,040 --> 01:04:22,070 N კვადრატში. 1518 01:04:22,070 --> 01:04:24,780 ვინმეს აქვს ახსნა რატომ ფიქრობთ? 1519 01:04:24,780 --> 01:04:29,060 1520 01:04:29,060 --> 01:04:30,519 >> სტუდენტი: თქვენ შედარებით through-- 1521 01:04:30,519 --> 01:04:31,268 ინსტრუქტორი: Right. 1522 01:04:31,268 --> 01:04:32,540 თქვენ შედარებით მეშვეობით. 1523 01:04:32,540 --> 01:04:35,630 ყოველ iteration, მიუხედავად იმისა, ჩვენ decrementing ეს ერთი, 1524 01:04:35,630 --> 01:04:38,950 თქვენ ჯერ კიდევ ეძებს მეშვეობით იმისათვის, რომ იპოვოს ყველაზე პატარა ერთი. 1525 01:04:38,950 --> 01:04:42,390 ისე კი, თუ თქვენი მცირე ღირებულების აქ არის დასაწყისში, 1526 01:04:42,390 --> 01:04:44,710 თქვენ ჯერ კიდევ შედარებით წინააღმდეგ ყველაფერი 1527 01:04:44,710 --> 01:04:46,550 დარწმუნდით, რომ იგი არის ყველაზე პატარა რამ. 1528 01:04:46,550 --> 01:04:49,820 ასე რომ თქვენ დასრულდება მდე გადის დაახლოებით n კვადრატში ჯერ. 1529 01:04:49,820 --> 01:04:51,090 1530 01:04:51,090 --> 01:04:51,590 ყველა უფლება. 1531 01:04:51,590 --> 01:04:52,785 და, რაც ყველაზე ცუდ შემთხვევაში? 1532 01:04:52,785 --> 01:04:54,350 1533 01:04:54,350 --> 01:04:57,980 ასევე n კვადრატში, რადგან თქვენ უნდა აკეთებს, რომ იგივე პროცედურა. 1534 01:04:57,980 --> 01:05:01,670 ასე რომ, ამ შემთხვევაში, შერჩევა დალაგების აქვს რაღაც 1535 01:05:01,670 --> 01:05:04,010 ჩვენ ასევე მოვუწოდებთ ელოდებიან runtime. 1536 01:05:04,010 --> 01:05:07,400 ასე რომ, სხვა, ჩვენ უბრალოდ ვიცით, ზედა და ქვედა საზღვრები. 1537 01:05:07,400 --> 01:05:11,180 დამოკიდებული, თუ რამდენად გიჟები ჩვენი სია არის ან როგორ დაუხარისხებელი ის არის, 1538 01:05:11,180 --> 01:05:15,350 ისინი განსხვავდება შორის n ან N კვადრატში. 1539 01:05:15,350 --> 01:05:16,550 ჩვენ არ ვიცით. 1540 01:05:16,550 --> 01:05:22,820 >> არამედ იმიტომ, რომ შერჩევის დალაგების აქვს იგივე ყველაზე ცუდი და საუკეთესო შემთხვევაში, რომ გვეუბნება, რომ 1541 01:05:22,820 --> 01:05:25,880 არ აქვს მნიშვნელობა, თუ რა ტიპის შეყვანის ჩვენ აქვს, თუ არა ის მთლიანად 1542 01:05:25,880 --> 01:05:29,130 დახარისხებული ან მთლიანად გადახედოს დახარისხებული, ეს 1543 01:05:29,130 --> 01:05:30,740 აპირებს იმავე დროის. 1544 01:05:30,740 --> 01:05:33,760 ასე რომ, ამ შემთხვევაში, თუ გვახსოვდეს ჩვენი მაგიდა, 1545 01:05:33,760 --> 01:05:38,610 ეს რეალურად ჰქონდა მნიშვნელობა, რომ ეს ორი სახის არ აქვს, 1546 01:05:38,610 --> 01:05:40,390 რომელიც სავარაუდოდ runtime. 1547 01:05:40,390 --> 01:05:43,350 ჩვენ ვიცით, რომ, როდესაც ჩვენ აწარმოებს შერჩევის დალაგების, 1548 01:05:43,350 --> 01:05:45,380 გარანტირებული აწარმოებს n კვადრატში დრო. 1549 01:05:45,380 --> 01:05:46,630 არ არის ცვალებადობა არსებობს. 1550 01:05:46,630 --> 01:05:47,630 ეს მხოლოდ მოსალოდნელია. 1551 01:05:47,630 --> 01:05:48,820 1552 01:05:48,820 --> 01:05:52,140 და, კიდევ ერთხელ, თუ გსურთ ისწავლოს მეტი, მიიღოს CS 124 გაზაფხულზე. 1553 01:05:52,140 --> 01:05:55,370 1554 01:05:55,370 --> 01:05:56,712 ყველა უფლება. 1555 01:05:56,712 --> 01:05:57,545 ჩვენ ვნახეთ ამ ერთი. 1556 01:05:57,545 --> 01:05:58,530 1557 01:05:58,530 --> 01:05:59,030 ზემოთ. 1558 01:05:59,030 --> 01:06:00,930 ამიტომ Insertion დალაგების. 1559 01:06:00,930 --> 01:06:03,330 და მე ალბათ აპირებს მოვნახოთ მეშვეობით. 1560 01:06:03,330 --> 01:06:05,440 მე არ მაქვს, რომ თქვენ ბიჭები კოდი იგი. 1561 01:06:05,440 --> 01:06:06,580 ჩვენ მხოლოდ ფეხით მეშვეობით. 1562 01:06:06,580 --> 01:06:10,500 ამიტომ Insertion დალაგების სახის მსგავსი შერჩევის დალაგების 1563 01:06:10,500 --> 01:06:14,460 რომ ჩვენ გვაქვს როგორც ქალაქის დაუხარისხებელი და დახარისხებული ნაწილი მასივი. 1564 01:06:14,460 --> 01:06:20,260 >> მაგრამ რა არის სხვადასხვა არის, რომ როგორც ჩვენ გაიაროს ერთი, 1565 01:06:20,260 --> 01:06:24,210 ჩვენ უბრალოდ უნდა ნომერზე არის შემდეგი ჩვენი არასორტირებული, 1566 01:06:24,210 --> 01:06:28,507 და სწორად დასალაგებლად ეს ჩვენს დახარისხებული მასივი. 1567 01:06:28,507 --> 01:06:30,090 ეს კიდე უფრო გრძნობა მაგალითი. 1568 01:06:30,090 --> 01:06:31,140 1569 01:06:31,140 --> 01:06:35,430 ასე რომ, ყველაფერი იწყება, როგორც ქალაქის დაუხარისხებელი, უბრალოდ მინდა შერჩევა ერთგვარი. 1570 01:06:35,430 --> 01:06:38,740 და ჩვენ ვაპირებთ დასალაგებლად ეს აღმავალი შეკვეთა, როგორც ჩვენ. 1571 01:06:38,740 --> 01:06:40,360 1572 01:06:40,360 --> 01:06:43,340 ასე რომ, ჩვენი პირველი პასს ჩვენ ვიღებთ პირველი ღირებულება, 1573 01:06:43,340 --> 01:06:46,700 და ვამბობთ, OK, თქვენ ახლა სიაში თავს. 1574 01:06:46,700 --> 01:06:49,150 >> იმიტომ, რომ თქვენ სიაში საკუთარ თავს, თქვენ გადანაწილებული. 1575 01:06:49,150 --> 01:06:52,460 გილოცავთ, რომ პირველ ელემენტს ამ მასივი. 1576 01:06:52,460 --> 01:06:54,800 თქვენ უკვე დახარისხებული ყველა საკუთარი. 1577 01:06:54,800 --> 01:06:58,900 ახლა ჩვენ დახარისხებული და დაუხარისხებელი მასივი. 1578 01:06:58,900 --> 01:07:01,760 ასე რომ, ახლა ჩვენ მიიღოს პირველი. 1579 01:07:01,760 --> 01:07:05,600 რა ხდება შორის აქ და აქ არის ის, რომ ვთქვათ, 1580 01:07:05,600 --> 01:07:08,890 OK, ჩვენ ვაპირებთ შევხედოთ პირველი ღირებულება ჩვენი დაუხარისხებელი მასივი 1581 01:07:08,890 --> 01:07:13,270 და ჩვენ ვაპირებთ input ის თავის სწორი ადგილი დახარისხებული მასივი. 1582 01:07:13,270 --> 01:07:21,460 >> რასაც ჩვენ ვაკეთებთ არის ჩვენ ვიღებთ 5 და ჩვენ ვამბობთ, OK, 5 მეტია 3, 1583 01:07:21,460 --> 01:07:24,630 ასე რომ, ჩვენ უბრალოდ ჩადეთ ეს უფლება მარჯვნივ რომ. 1584 01:07:24,630 --> 01:07:25,130 ჩვენ კარგი. 1585 01:07:25,130 --> 01:07:26,200 1586 01:07:26,200 --> 01:07:28,420 ასე რომ მაშინ ჩვენ წავიდეთ ჩვენი მომდევნო ერთი. 1587 01:07:28,420 --> 01:07:29,720 და ჩვენ 2. 1588 01:07:29,720 --> 01:07:34,330 ჩვენ ვამბობთ, OK, 2 ნაკლებია, 3-ზე, ასე რომ ჩვენ ვიცით, რომ ეს 1589 01:07:34,330 --> 01:07:36,220 უნდა იყოს წინა ჩვენს სიაში არის. 1590 01:07:36,220 --> 01:07:41,800 რასაც ჩვენ ვაკეთებთ არის ჩვენ დააყენებს 3 და 5 ქვემოთ და ჩვენ გადაადგილება 2 შევიდა, რომ პირველი სლოტი. 1591 01:07:41,800 --> 01:07:42,990 1592 01:07:42,990 --> 01:07:45,870 ასე რომ ჩვენ უბრალოდ ჩასმა იგი სწორი ადგილი უნდა იყოს. 1593 01:07:45,870 --> 01:07:46,960 1594 01:07:46,960 --> 01:07:49,470 >> მაშინ ჩვენ ჩვენს შემდეგი ერთი, და ვამბობთ 6. 1595 01:07:49,470 --> 01:07:53,620 OK, 6 მეტია, ვიდრე ყველაფერი ჩვენი დახარისხებული მასივი, 1596 01:07:53,620 --> 01:07:56,000 ასე რომ ჩვენ უბრალოდ მონიშნო იგი ბოლომდე. 1597 01:07:56,000 --> 01:07:56,960 და მაშინ ჩვენ შევხედოთ 4. 1598 01:07:56,960 --> 01:07:58,130 1599 01:07:58,130 --> 01:08:03,020 4 არანაკლებ 6, ეს ნაკლებად 5-ზე, მაგრამ ეს უფრო მეტია, ვიდრე 3. 1600 01:08:03,020 --> 01:08:06,270 ასე რომ, ჩვენ უბრალოდ ჩადეთ ის მარჯვენა შუა შორის 3 და 5. 1601 01:08:06,270 --> 01:08:07,380 1602 01:08:07,380 --> 01:08:10,530 ასე, რომ, რომ ცოტა ცოტა უფრო კონკრეტული, 1603 01:08:10,530 --> 01:08:12,280 აქ არის ერთგვარი იდეა რა მოხდა. 1604 01:08:12,280 --> 01:08:16,430 ამიტომ თითოეული არასორტირებული ელემენტს, ჩვენ განსაზღვრავს, სადაც დახარისხებული ნაწილი 1605 01:08:16,430 --> 01:08:17,090 ეს არის. 1606 01:08:17,090 --> 01:08:20,680 >> ასე შენახვა გათვალისწინებით დახარისხებული და დაუხარისხებელი, 1607 01:08:20,680 --> 01:08:26,080 ჩვენ უნდა traverse მეშვეობით და ფიგურა სად ჯდება დახარისხებული მასივი. 1608 01:08:26,080 --> 01:08:31,460 და ჩვენ ჩადეთ იგი გადავიდა ელემენტები მარჯვნივ მას. 1609 01:08:31,460 --> 01:08:34,910 და შემდეგ ჩვენ უბრალოდ შეინახოს iterating მეშვეობით, სანამ ჩვენ 1610 01:08:34,910 --> 01:08:39,270 სრულიად დახარისხებული სია სადაც დაუხარისხებელი არის ნულოვანი 1611 01:08:39,270 --> 01:08:41,720 და დახარისხებული იკავებს მთლიანად ჩვენს სიაში. 1612 01:08:41,720 --> 01:08:43,146 1613 01:08:43,146 --> 01:08:45,854 ასე რომ, კიდევ ერთხელ, იმისათვის, რომ კიდევ უფრო კონკრეტული, ჩვენ pseudocode. 1614 01:08:45,854 --> 01:08:47,979 1615 01:08:47,979 --> 01:08:52,410 >> ასე ძირითადად მე 0-ის ტოლი ო მინუს 1, 1616 01:08:52,410 --> 01:08:54,790 ეს მხოლოდ ხანგრძლივობა ჩვენი მასივი. 1617 01:08:54,790 --> 01:09:00,979 ჩვენ გვაქვს გარკვეული ელემენტი, რომელიც უდრის პირველ მასივი ან პირველი მაჩვენებლები. 1618 01:09:00,979 --> 01:09:03,200 ჩვენ დავსახეთ j ტოლი რომ. 1619 01:09:03,200 --> 01:09:04,649 1620 01:09:04,649 --> 01:09:09,210 ასე რომ, ხოლო j მეტია, ვიდრე ნულოვანი და მასივი, კ -1 1621 01:09:09,210 --> 01:09:11,660 მეტია ელემენტი, ასე რომ ყველა რომ აკეთებს 1622 01:09:11,660 --> 01:09:17,479 მიღების დარწმუნებული ვარ, რომ თქვენი j ნამდვილად წარმოადგენს 1623 01:09:17,479 --> 01:09:20,010 არასორტირებული ნაწილი მასივი. 1624 01:09:20,010 --> 01:09:30,745 >> ასე რომ, როდესაც ჯერ კიდევ არსებობს რამ დასალაგებლად და j მინუს ერთი არის ის, რაც 1625 01:09:30,745 --> 01:09:31,840 ელემენტს მისი? 1626 01:09:31,840 --> 01:09:34,760 J არ იყო განსაზღვრული აქ. 1627 01:09:34,760 --> 01:09:35,677 ეს ერთგვარი შემაშფოთებელი. 1628 01:09:35,677 --> 01:09:36,176 OK. 1629 01:09:36,176 --> 01:09:36,689 მაინც. 1630 01:09:36,689 --> 01:09:39,899 ასე კ მინუს 1, თქვენ შემოწმების ელემენტს, ვიდრე ის. 1631 01:09:39,899 --> 01:09:46,460 თქვენ ვამბობთ, არის ელემენტი ადრე იქ, სადაც მე am-- მოდით 1632 01:09:46,460 --> 01:09:47,540 რეალურად მიაპყროს ამ out. 1633 01:09:47,540 --> 01:09:52,580 1634 01:09:52,580 --> 01:09:56,830 ასე ვთქვათ, ეს არის როგორიცაა ჩვენი მეორე უღელტეხილზე. 1635 01:09:56,830 --> 01:09:59,525 ასე რომ მე იქნება ტოლი 1, რაც აქ არის. 1636 01:09:59,525 --> 01:10:03,310 1637 01:10:03,310 --> 01:10:06,025 >> ასე რომ იქნება ტოლი 1. 1638 01:10:06,025 --> 01:10:09,510 1639 01:10:09,510 --> 01:10:13,702 ეს იქნება 2, 4, 5, 6, 7. 1640 01:10:13,702 --> 01:10:16,060 1641 01:10:16,060 --> 01:10:16,750 ყველა უფლება. 1642 01:10:16,750 --> 01:10:20,945 ასე რომ, ჩვენი ელემენტს ამ შემთხვევაში აპირებს იყოს 4. 1643 01:10:20,945 --> 01:10:22,110 1644 01:10:22,110 --> 01:10:24,946 და ჩვენ გვაქვს j, რომ ის, იქნება ტოლი 1. 1645 01:10:24,946 --> 01:10:29,770 1646 01:10:29,770 --> 01:10:30,971 Oh, j არის decrementing. 1647 01:10:30,971 --> 01:10:31,720 ეს არის ის, რაც არის. 1648 01:10:31,720 --> 01:10:35,680 ასე j ტოლია i, ასე რომ, რა არის ეს არის ის, რომ, როგორც ჩვენ წინსვლა, 1649 01:10:35,680 --> 01:10:37,530 ჩვენ უბრალოდ მიღების დარწმუნებული ვარ, რომ ჩვენ არ დასრულებულა 1650 01:10:37,530 --> 01:10:43,520 ინდექსირებას ამ გზით, როდესაც ჩვენ ვცდილობთ, ჩადეთ რამ ჩვენს დახარისხებული სია. 1651 01:10:43,520 --> 01:10:49,850 >> ასე რომ, როდესაც j ტოლია 1 ამ შემთხვევაში და array j მინუს one-- ასე მასივი j მინუს 1 1652 01:10:49,850 --> 01:10:54,610 2 ამ შემთხვევაში, თუ ეს მეტი ელემენტია, 1653 01:10:54,610 --> 01:10:57,700 მაშინ ყველა ამ აკეთებს გადასვლის რამ down. 1654 01:10:57,700 --> 01:11:04,790 ასე რომ, ამ შემთხვევაში, array j მინუს ერთი იქნება array ნულოვანი, რომელიც არის 2. 1655 01:11:04,790 --> 01:11:08,430 2 არ აღემატება 4, ასე რომ ეს არ შეასრულოს. 1656 01:11:08,430 --> 01:11:11,460 ასე ცვლა არ გადავა ქვემოთ. 1657 01:11:11,460 --> 01:11:18,790 რა ეს იმას აქ მხოლოდ მოძრავი დახარისხებული მასივი ქვემოთ. 1658 01:11:18,790 --> 01:11:22,340 1659 01:11:22,340 --> 01:11:26,400 ამ შემთხვევაში, ფაქტობრივად, ჩვენ ვერ გააკეთებდა მოდით ეს 3. 1660 01:11:26,400 --> 01:11:28,080 1661 01:11:28,080 --> 01:11:31,970 ასე რომ, თუ ჩვენ ფეხით მეშვეობით ამ მაგალითად, ჩვენ ახლა აქ. 1662 01:11:31,970 --> 01:11:32,740 ეს დახარისხებული. 1663 01:11:32,740 --> 01:11:34,492 1664 01:11:34,492 --> 01:11:35,200 ეს არის დაუხარისხებელი. 1665 01:11:35,200 --> 01:11:39,090 1666 01:11:39,090 --> 01:11:39,860 მაგარი? 1667 01:11:39,860 --> 01:11:46,620 ამიტომ უდრის 2, ჩვენი ელემენტს უდრის 3. 1668 01:11:46,620 --> 01:11:47,920 1669 01:11:47,920 --> 01:11:52,270 და ჩვენი j = 2. 1670 01:11:52,270 --> 01:12:00,620 ასე რომ, ჩვენ გადავხედავთ და ჩვენ იტყვით, არის array j მინუს ერთი 1671 01:12:00,620 --> 01:12:03,470 მეტი ელემენტია ჩვენ ვეძებთ? 1672 01:12:03,470 --> 01:12:05,540 და პასუხი არის დიახ, არა? 1673 01:12:05,540 --> 01:12:11,275 4 მეტია 3 კ არის 2, ასე რომ ეს კოდი ახორციელებს. 1674 01:12:11,275 --> 01:12:12,510 1675 01:12:12,510 --> 01:12:18,550 >> ასე რომ, ახლა, რას ვაკეთებთ მასივი 2, ასე რომ სწორედ აქ, ჩვენ სვოპ მათ. 1676 01:12:18,550 --> 01:12:25,620 ასე რომ, ჩვენ, უბრალოდ, ვამბობთ, OK, მასივი at 2 ახლა იქნება 3. 1677 01:12:25,620 --> 01:12:28,130 1678 01:12:28,130 --> 01:12:32,340 კ აპირებს თანაბარი j მინუს 1, რომელიც არის 1. 1679 01:12:32,340 --> 01:12:34,590 1680 01:12:34,590 --> 01:12:37,200 რომ საშინელებაა, მაგრამ თქვენ ბიჭები იდეა. 1681 01:12:37,200 --> 01:12:38,360 J არის ტოლი 1. 1682 01:12:38,360 --> 01:12:44,360 და რიგი j უბრალოდ იქნება თანაბარი ჩვენი ელემენტს, რომელიც 4. 1683 01:12:44,360 --> 01:12:45,950 1684 01:12:45,950 --> 01:12:48,570 მე წაშლილია რაღაც მე არ უნდა აქვს ან miswrote რაღაც, 1685 01:12:48,570 --> 01:12:49,910 მაგრამ თქვენ ბიჭები იდეა. 1686 01:12:49,910 --> 01:12:50,640 >> ეს გადაადგილება n. 1687 01:12:50,640 --> 01:12:51,920 1688 01:12:51,920 --> 01:12:57,960 და მაშინ, თუ ეს იყო, რომ ის loop ისევ და რომ ვთქვა, OK, კ 1 ახლა. 1689 01:12:57,960 --> 01:13:00,665 და რიგი j მინუს 1 არის 2. 1690 01:13:00,665 --> 01:13:01,750 1691 01:13:01,750 --> 01:13:03,760 2 ნაკლებია, ვიდრე ჩვენი ელემენტს? 1692 01:13:03,760 --> 01:13:04,540 არა? 1693 01:13:04,540 --> 01:13:07,970 ეს ნიშნავს, რომ ჩვენ ჩასმული ამ ელემენტის 1694 01:13:07,970 --> 01:13:10,110 სწორი ადგილზე ჩვენს დახარისხებული მასივი. 1695 01:13:10,110 --> 01:13:14,400 მაშინ ჩვენ შეგვიძლია ეს და ვთქვათ, OK, ჩვენს დახარისხებული მასივი აქ. 1696 01:13:14,400 --> 01:13:19,940 და ეს იქნება ამ რაოდენობის 6 და როგორიცაა, OK, 6 ნაკლებად, ვიდრე ეს რიცხვი? 1697 01:13:19,940 --> 01:13:20,480 არა? 1698 01:13:20,480 --> 01:13:21,080 ზემოთ. 1699 01:13:21,080 --> 01:13:22,680 ჩვენ ჯარიმა. 1700 01:13:22,680 --> 01:13:23,530 >> ამას კიდევ ერთხელ. 1701 01:13:23,530 --> 01:13:24,740 ჩვენ ვამბობთ, 7. 1702 01:13:24,740 --> 01:13:29,010 7-ზე ნაკლები ბოლოს ჩვენი დახარისხებული მასივი? 1703 01:13:29,010 --> 01:13:29,520 პოსტები 1704 01:13:29,520 --> 01:13:30,430 ასე რომ, ჩვენ ჯარიმა. 1705 01:13:30,430 --> 01:13:32,760 ასე რომ, ეს იქნება დახარისხებული. 1706 01:13:32,760 --> 01:13:38,610 ძირითადად ყველა ამ აკეთებს ის ამბობდა მიიღოს 1707 01:13:38,610 --> 01:13:42,060 პირველი ელემენტი თქვენი დაუხარისხებელი მასივი, 1708 01:13:42,060 --> 01:13:46,010 გაერკვნენ, სადაც ის მიდის თქვენი დახარისხებული მასივი. 1709 01:13:46,010 --> 01:13:48,780 და ეს მხოლოდ ზრუნავს გაცვლებს უნდა გავაკეთოთ, რომ. 1710 01:13:48,780 --> 01:13:51,300 თქვენ ძირითადად უბრალოდ შევცვალე სანამ ეს უფლება ადგილზე. 1711 01:13:51,300 --> 01:13:53,600 1712 01:13:53,600 --> 01:13:56,990 ვიზუალური იმიჯი, რომ თქვენ მოძრავი ყველაფერი, აკეთებს, რომ. 1713 01:13:56,990 --> 01:13:59,420 >> ასე რომ, ეს ნახევარი bubble sort მაგვარი. 1714 01:13:59,420 --> 01:14:02,280 1715 01:14:02,280 --> 01:14:03,420 შეამოწმეთ შესწავლა 50. 1716 01:14:03,420 --> 01:14:06,000 უაღრესად რეკომენდაციას ცდილობს კოდექსის ეს საკუთარი. 1717 01:14:06,000 --> 01:14:07,220 1718 01:14:07,220 --> 01:14:12,450 თუ თქვენ გაქვთ რაიმე საკითხები და გსურთ ნახეთ ნიმუში კოდი Insertion დალაგების, 1719 01:14:12,450 --> 01:14:13,750 გთხოვთ ნება მომეცით ვიცი. 1720 01:14:13,750 --> 01:14:14,500 მე ყოველთვის გარშემო. 1721 01:14:14,500 --> 01:14:16,600 1722 01:14:16,600 --> 01:14:20,200 ასე უარეს შემთხვევაში runtime და საუკეთესო შემთხვევაში runtime. 1723 01:14:20,200 --> 01:14:30,700 როგორც თქვენ ბიჭი დაინახა, მაგიდასთან მე უკვე აჩვენა, თუ, ის, როგორც n კვადრატში და N. 1724 01:14:30,700 --> 01:14:35,590 >> ასე რომ, ასეთი აპირებს off რაც ჩვენ ვისაუბრეთ შესახებ ჩვენი წინა ჯიშები, ყველაზე ცუდი 1725 01:14:35,590 --> 01:14:38,760 საქმე runtime, რომ თუ ის მთლიანად არასორტირებული, 1726 01:14:38,760 --> 01:14:42,530 ჩვენ უნდა შეადაროთ ყველა ამ N ჯერ. 1727 01:14:42,530 --> 01:14:47,020 ჩვენ ამას ვაკეთებთ, მთელი ბევრი შედარება იმიტომ, რომ თუ ის საპირისპირო მიზნით, 1728 01:14:47,020 --> 01:14:50,360 ჩვენ ვაპირებთ, რომ იტყვით, ამ იგივე, ეს არის კარგი, 1729 01:14:50,360 --> 01:14:54,650 და ეს ერთი უნდა იყოს შედარებით წინააღმდეგ პირველი გადავიდა უკან. 1730 01:14:54,650 --> 01:14:56,710 და რადგან ჩვენ მიმართ კუდი ბოლომდე, ჩვენ უნდა 1731 01:14:56,710 --> 01:14:59,440 შედარების, შედარების და შედარება წინააღმდეგ ყველაფერი. 1732 01:14:59,440 --> 01:15:03,030 >> ასე რომ, ეს დამთავრდა დაახლოებით n კვადრატში. 1733 01:15:03,030 --> 01:15:09,510 თუ ეს სწორია, მაშინ თქვენ იტყვით, 2, თქვენ კარგი. 1734 01:15:09,510 --> 01:15:11,330 3, თქვენ შედარებით 2. 1735 01:15:11,330 --> 01:15:12,310 თქვენ კარგად. 1736 01:15:12,310 --> 01:15:14,150 4 ადარებთ კუდი. 1737 01:15:14,150 --> 01:15:14,990 თქვენ კარგად. 1738 01:15:14,990 --> 01:15:17,140 6 შედარება კუდი, თქვენ ჯარიმა. 1739 01:15:17,140 --> 01:15:20,870 ასე რომ ყველა ადგილზე, თუ ეს უკვე დალაგებულია, თქვენ მიღების ერთი შედარებით. 1740 01:15:20,870 --> 01:15:22,320 ისე უბრალოდ n. 1741 01:15:22,320 --> 01:15:26,840 და რადგან ჩვენ გვაქვს საუკეთესო შემთხვევაში runtime N და უარეს შემთხვევაში runtime ო 1742 01:15:26,840 --> 01:15:28,680 კვადრატში, ჩვენ არ გვაქვს ელოდებიან runtime. 1743 01:15:28,680 --> 01:15:31,290 1744 01:15:31,290 --> 01:15:34,020 >> ეს უბრალოდ დამოკიდებულია ქაოსი ჩვენს სიაში. 1745 01:15:34,020 --> 01:15:35,860 1746 01:15:35,860 --> 01:15:39,530 და ისევ, სხვა დიაგრამა და სხვა მაგიდასთან. 1747 01:15:39,530 --> 01:15:41,170 ასე განსხვავებები სახის. 1748 01:15:41,170 --> 01:15:44,180 მე უბრალოდ აპირებს ნიავი მეშვეობით, I გრძნობს, როგორც ჩვენ ვისაუბრეთ ვრცლად 1749 01:15:44,180 --> 01:15:46,570 შესახებ, თუ როგორ ყველა სახის of იცვლება და გაეზიარებინათ. 1750 01:15:46,570 --> 01:15:50,564 ასე რომ შერწყმა დალაგების არის ბოლო მე შეგაწყენთ ბიჭები. 1751 01:15:50,564 --> 01:15:52,105 ჩვენ გვაქვს საკმაოდ ფერადი სურათი. 1752 01:15:52,105 --> 01:15:53,860 1753 01:15:53,860 --> 01:15:56,040 ასე რომ შერწყმა დალაგების არის რეკურსიული ალგორითმი. 1754 01:15:56,040 --> 01:15:59,910 ასე რომ თქვენ ბიჭები ვიცი, რა რეკურსიული ფუნქცია? 1755 01:15:59,910 --> 01:16:01,550 1756 01:16:01,550 --> 01:16:03,320 >> არავის მინდა ვთქვა? 1757 01:16:03,320 --> 01:16:04,739 გსურთ ცდილობენ? 1758 01:16:04,739 --> 01:16:07,280 ასე რომ რეკურსიული ფუნქცია მხოლოდ ფუნქცია, რომელიც მოუწოდებს თავად. 1759 01:16:07,280 --> 01:16:08,570 1760 01:16:08,570 --> 01:16:11,590 ასე რომ, თუ ბიჭები არიან იცნობს ერთად Fibonacci თანმიმდევრობა, 1761 01:16:11,590 --> 01:16:15,670 რომ ითვლება რეკურსიული რადგანაც თქვენ მიიღოს წინა ორი 1762 01:16:15,670 --> 01:16:17,530 და დაამატოთ ისინი ერთად მიიღოს თქვენი მომავალი ერთი. 1763 01:16:17,530 --> 01:16:21,440 ასე რეკურსიული, მე ყოველთვის ვფიქრობ, უკან როგორც მოსწონს spiral 1764 01:16:21,440 --> 01:16:24,430 ასე რომ თქვენ, როგორც სპირალის ქვემოთ შევიდა. 1765 01:16:24,430 --> 01:16:27,150 მაგრამ ეს მხოლოდ ფუნქცია რომელიც მოუწოდებს თავად. 1766 01:16:27,150 --> 01:16:32,660 >> და, ფაქტობრივად, მართლაც სწრაფად I შეგიძლიათ ნახოთ თუ რა, რომ ჰგავს. 1767 01:16:32,660 --> 01:16:34,260 1768 01:16:34,260 --> 01:16:41,840 ასე რეკურსიული აქ, თუ დავაკვირდებით, ეს არის რეკურსიული გზა ჯამი მასივი. 1769 01:16:41,840 --> 01:16:45,900 1770 01:16:45,900 --> 01:16:47,880 ამიტომ ყველა, რომ ჩვენ ვაკეთებთ არის ჩვენ გვაქვს თანხა ფუნქცია 1771 01:16:47,880 --> 01:16:52,210 თანხა, რომელიც იღებს და ზომის მასივი. 1772 01:16:52,210 --> 01:16:55,210 და თუ თქვენ შეამჩნევთ, ზომა decrements თითო დროს. 1773 01:16:55,210 --> 01:17:00,365 და ყველა ის არ არის, თუ x უდრის ნულოვანი ასე რომ, თუ ზომა მასივი 1774 01:17:00,365 --> 01:17:02,710 უდრის ნულოვანი ბრუნდება ნულოვანი. 1775 01:17:02,710 --> 01:17:10,440 >> წინააღმდეგ შემთხვევაში, ეს თანხები ამ ბოლო ელემენტს მასივი, 1776 01:17:10,440 --> 01:17:14,790 და შემდეგ იღებს თანხა დანარჩენი მასივი. 1777 01:17:14,790 --> 01:17:17,555 ასე რომ, ეს მხოლოდ არღვევს მას ქვემოთ პატარა და მცირე პრობლემები. 1778 01:17:17,555 --> 01:17:18,990 1779 01:17:18,990 --> 01:17:21,890 მოკლედ, უკან, ფუნქცია, რომელიც მოუწოდებს თავად. 1780 01:17:21,890 --> 01:17:25,740 თუ ეს ყველაფერი თქვენ გაქვთ ამ, ის, რაც რეკურსიული ფუნქცია. 1781 01:17:25,740 --> 01:17:29,870 თუ თქვენ მიიღოს 51, თქვენ ძალიან, ძალიან კომფორტულად უკან. 1782 01:17:29,870 --> 01:17:31,110 1783 01:17:31,110 --> 01:17:32,370 ეს მართლაც მაგარი. 1784 01:17:32,370 --> 01:17:34,660 ეს გააკეთა გრძნობა, როგორიცაა 3 AM ერთი ღამით გარეთ. 1785 01:17:34,660 --> 01:17:37,900 და მე, რატომ მე არ გამოიყენოს ეს? 1786 01:17:37,900 --> 01:17:39,170 1787 01:17:39,170 --> 01:17:42,430 >> ასე რომ შერწყმა დალაგების, ძირითადად, რასაც ის აპირებს არის ის 1788 01:17:42,430 --> 01:17:45,620 აპირებს დაარღვიოს მისი დანგრევა და შესვენება ქვემოთ, სანამ ის უბრალოდ ერთი ელემენტებს. 1789 01:17:45,620 --> 01:17:47,570 ერთი ელემენტები ადვილად დასალაგებლად. 1790 01:17:47,570 --> 01:17:48,070 ჩვენ ამას ვხედავთ. 1791 01:17:48,070 --> 01:17:50,760 თუ თქვენ გაქვთ ერთი ელემენტი, ის უკვე განიხილება დახარისხებული. 1792 01:17:50,760 --> 01:17:53,800 ასე ცვლადი n ელემენტებს, თუ n ნაკლებია, ვიდრე 2, 1793 01:17:53,800 --> 01:17:58,120 უბრალოდ დაბრუნებას, რადგან ეს ნიშნავს, რომ ის ან 0 ან 1, რაც ჩვენ ვნახეთ. 1794 01:17:58,120 --> 01:18:00,050 იმ ითვლება დახარისხებული ელემენტები. 1795 01:18:00,050 --> 01:18:02,170 >> სხვაგვარად დაარღვიოს ის ნახევარი. 1796 01:18:02,170 --> 01:18:06,336 სორტირება პირველ ნახევარში, დასალაგებლად მეორე ნახევარი და შემდეგ შერწყმა მათ ერთად. 1797 01:18:06,336 --> 01:18:07,460 ამიტომ ე.წ. შერწყმა ჯიშია. 1798 01:18:07,460 --> 01:18:08,700 1799 01:18:08,700 --> 01:18:12,155 ამიტომ აქ ჩვენ დასალაგებლად ამ. 1800 01:18:12,155 --> 01:18:13,410 1801 01:18:13,410 --> 01:18:17,210 ამიტომ, ჩვენ შევინარჩუნოთ, რომელსაც მათ სანამ მასივი ზომა არის 1. 1802 01:18:17,210 --> 01:18:20,790 ასე რომ, როდესაც ის 1, უბრალოდ, დაბრუნდნენ რადგან ეს არის დახარისხებული მასივი, 1803 01:18:20,790 --> 01:18:23,940 და ეს არის დახარისხებული მასივი, და ეს დახარისხებული მასივი, ჩვენ ყველა დახარისხებული. 1804 01:18:23,940 --> 01:18:25,390 1805 01:18:25,390 --> 01:18:29,420 ასე რომ, მაშინ, თუ რას ვაკეთებთ ჩვენ დაიწყოს შერწყმის მათი ერთად. 1806 01:18:29,420 --> 01:18:31,820 >> ასე რომ გზა შეგიძლიათ ვიფიქროთ შერწყმა 1807 01:18:31,820 --> 01:18:36,240 უბრალოდ ამოიღონ პატარა ნომერი, თითოეული ქვე კოლექტორები 1808 01:18:36,240 --> 01:18:38,330 და უბრალოდ დამატება რომ ეს გაჩნდა მასივი. 1809 01:18:38,330 --> 01:18:44,290 ასე რომ, თუ გადავხედავთ აქ, როდესაც ჩვენ ამ კომპლექტი ჩვენ გვაქვს 4, 6, და 1. 1810 01:18:44,290 --> 01:18:47,280 როდესაც ჩვენ გვინდა შერწყმა ამ, ჩვენ შევხედოთ პირველი ორი 1811 01:18:47,280 --> 01:18:50,730 და ვამბობთ, OK, 1 არის პატარა, ის მიდის წინ. 1812 01:18:50,730 --> 01:18:54,330 4 და 6, არაფერი შედარება მას, უბრალოდ მონიშნო იგი ბოლომდე. 1813 01:18:54,330 --> 01:18:58,020 >> როდესაც ჩვენ დააკავშიროთ ამ ორი, ჩვენ უბრალოდ მიიღოს პატარა ერთი ამ ორი, 1814 01:18:58,020 --> 01:18:59,310 ასე რომ 1. 1815 01:18:59,310 --> 01:19:01,690 და ახლა ჩვენ ვიღებთ პატარა ამ ორი, ასე რომ 2. 1816 01:19:01,690 --> 01:19:03,330 პატარა ამ ორი, 3. 1817 01:19:03,330 --> 01:19:06,260 პატარა ამ ორი, 4, 5, 6. 1818 01:19:06,260 --> 01:19:08,630 ასე რომ თქვენ მხოლოდ უბიძგებენ off ეს. 1819 01:19:08,630 --> 01:19:11,210 და რადგან ისინი დახარისხებული ადრე, 1820 01:19:11,210 --> 01:19:14,300 მხოლოდ ერთი შედარებით ყოველ ჯერზე არსებობს. 1821 01:19:14,300 --> 01:19:19,610 ასე რომ, მეტი კოდი აქ, უბრალოდ წარმომადგენლობა. 1822 01:19:19,610 --> 01:19:24,410 ასე რომ თქვენ დაიწყოს შუა და თქვენ სახის მარცხენა და მარჯვენა 1823 01:19:24,410 --> 01:19:26,180 და მაშინ მხოლოდ შერწყმა ამ. 1824 01:19:26,180 --> 01:19:30,080 >> და ჩვენ არ გვაქვს კოდი შერწყმა უფლება აქ. 1825 01:19:30,080 --> 01:19:34,110 მაგრამ, კიდევ ერთხელ, თუ რა შესწავლა 50, ეს იქნება იქ. 1826 01:19:34,110 --> 01:19:36,860 წინააღმდეგ შემთხვევაში, მოვიდა გაიგო ჩემთვის თუ თქვენ ჯერ კიდევ დაბნეული. 1827 01:19:36,860 --> 01:19:42,340 ისე მაგარი ისაა, რომ საუკეთესო შემთხვევაში, უარეს შემთხვევაში, და მოსალოდნელი runtime 1828 01:19:42,340 --> 01:19:46,250 ყველანი შესვლა N, რომელიც გაცილებით უკეთესია, ვიდრე ჩვენ 1829 01:19:46,250 --> 01:19:48,000 ჩანს, რომ ჩვენი დანარჩენი სახის. 1830 01:19:48,000 --> 01:19:51,840 ჩვენ ვნახეთ n კვადრატში და რაც ჩვენ რეალურად 1831 01:19:51,840 --> 01:19:54,380 კიდევ აქ არის N შესვლა N, რაც საკმაოდ დიდი. 1832 01:19:54,380 --> 01:19:55,830 >> შეხედეთ, თუ რამდენად უკეთესი რომ არის. 1833 01:19:55,830 --> 01:19:56,780 ასეთი ლამაზი მრუდი. 1834 01:19:56,780 --> 01:19:58,130 1835 01:19:58,130 --> 01:20:00,120 ასე ბევრად უფრო ეფექტური. 1836 01:20:00,120 --> 01:20:03,510 თუ თქვენ ოდესმე შეუძლია, გამოიყენოს შერწყმა ჯიშია. 1837 01:20:03,510 --> 01:20:04,810 ეს დაზოგავს თქვენს დროს. 1838 01:20:04,810 --> 01:20:07,670 შემდეგ კვლავ, როგორც ვთქვით, თუ თქვენ ქვემოთ ამ ქვედა რეგიონში, 1839 01:20:07,670 --> 01:20:09,480 ეს არ გააკეთოს, რომ დიდი სხვაობა. 1840 01:20:09,480 --> 01:20:11,360 თქვენ მდე ათასობით და ათასობით საშუალებებით, 1841 01:20:11,360 --> 01:20:13,318 თქვენ აუცილებლად მინდა უფრო ეფექტური ალგორითმი. 1842 01:20:13,318 --> 01:20:14,730 1843 01:20:14,730 --> 01:20:19,400 და, კიდევ ერთხელ, ჩვენი ლამაზი მაგიდა ყველა სახის რომ თქვენ ბიჭები შეიტყო დღეს. 1844 01:20:19,400 --> 01:20:21,157 >> მე ვიცი, რომ ეს იყო მკვრივი ყოველდღე. 1845 01:20:21,157 --> 01:20:23,490 ეს არ არის აუცილებლად აპირებს დაგეხმაროთ თქვენი pset. 1846 01:20:23,490 --> 01:20:28,250 მაგრამ მე მინდა, რომ პასუხისმგებლობის რომ სექციაში არ არის მხოლოდ psets. 1847 01:20:28,250 --> 01:20:31,240 ყველა ეს მასალა არის სამართლიანი თამაში თქვენი შუალედური. 1848 01:20:31,240 --> 01:20:35,430 ასევე, თუ თქვენ ამის გაკეთება გაგრძელდება CS, ეს მართლაც მნიშვნელოვანი საფუძვლები 1849 01:20:35,430 --> 01:20:37,870 , რომ თქვენ უნდა იცოდეთ. 1850 01:20:37,870 --> 01:20:41,700 ასე რომ ზოგიერთი დღე იქნება უფრო pset დახმარება, 1851 01:20:41,700 --> 01:20:44,600 მაგრამ რამდენიმე კვირის იქნება ბევრად უფრო რეალური შინაარსი 1852 01:20:44,600 --> 01:20:46,600 რომ არ ჩანს super სასარგებლო ახლა, 1853 01:20:46,600 --> 01:20:51,215 მაგრამ გპირდებით თუ გაგრძელდება on იქნება ძალიან, ძალიან სასარგებლო. 1854 01:20:51,215 --> 01:20:52,560 1855 01:20:52,560 --> 01:20:54,250 >> ასე რომ ის მონაკვეთზე. 1856 01:20:54,250 --> 01:20:55,250 ქვემოთ მავთულები. 1857 01:20:55,250 --> 01:20:56,570 მე ეს ერთი წუთით. 1858 01:20:56,570 --> 01:20:58,262 1859 01:20:58,262 --> 01:20:58,970 მაგრამ თქვენ გადასვლა. 1860 01:20:58,970 --> 01:21:01,240 და მე donuts ან Candy. 1861 01:21:01,240 --> 01:21:03,464 არის ვინმე ალერგიული არაფერი, სხვათა შორის? 1862 01:21:03,464 --> 01:21:05,307 1863 01:21:05,307 --> 01:21:05,890 კვერცხი და რძე. 1864 01:21:05,890 --> 01:21:08,120 ასე donuts არიან არა? 1865 01:21:08,120 --> 01:21:09,400 1866 01:21:09,400 --> 01:21:10,160 OK. 1867 01:21:10,160 --> 01:21:10,770 ყველა უფლება. 1868 01:21:10,770 --> 01:21:12,120 შოკოლადი არ? 1869 01:21:12,120 --> 01:21:12,620 Starburst. 1870 01:21:12,620 --> 01:21:13,837 1871 01:21:13,837 --> 01:21:14,670 Starbursts კარგი. 1872 01:21:14,670 --> 01:21:15,170 OK. 1873 01:21:15,170 --> 01:21:17,045 ჩვენ ვაპირებთ აქვს Starburst მომავალ კვირას შემდეგ. 1874 01:21:17,045 --> 01:21:18,240 რომ ის, რაც მე კიდევ. 1875 01:21:18,240 --> 01:21:19,690 თქვენ ბიჭები გაქვთ დიდი კვირას. 1876 01:21:19,690 --> 01:21:20,460 წავიკითხე თქვენი სპეც. 1877 01:21:20,460 --> 01:21:22,130 >> ნება მომეცით თუ თქვენ გაქვთ რაიმე შეკითხვები. 1878 01:21:22,130 --> 01:21:25,300 Pset ორი კლასის უნდა იყოს იმისათვის, რომ თქვენ ხუთშაბათს. 1879 01:21:25,300 --> 01:21:28,320 თუ თქვენ გაქვთ რაიმე შეკითხვები როგორ მე ფასდება რაღაც 1880 01:21:28,320 --> 01:21:32,250 ან რატომ მე ფასდება რაღაც გზა მე საერთოდ, გთხოვთ მომაწოდეთ, მოვა გაიგო ჩემთვის. 1881 01:21:32,250 --> 01:21:34,210 მე ცოტა გიჟები ეს კვირას, მაგრამ მე გპირდებით, 1882 01:21:34,210 --> 01:21:36,340 მე მაინც პასუხს 24 საათის განმავლობაში. 1883 01:21:36,340 --> 01:21:38,240 ამიტომ აქვს დიდი კვირას, ყველას. 1884 01:21:38,240 --> 01:21:40,090 წარმატებებს გისურვებთ თქვენს pset. 1885 01:21:40,090 --> 01:21:41,248