1 00:00:00,000 --> 00:00:00,990 2 00:00:00,990 --> 00:00:02,970 >> [მუსიკის დაკვრა] 3 00:00:02,970 --> 00:00:10,400 4 00:00:10,400 --> 00:00:12,550 >> დევიდ ჯ Malan: ეს არის CS50. 5 00:00:12,550 --> 00:00:14,612 და ეს არის დაწყების კვირაში სამი. 6 00:00:14,612 --> 00:00:16,820 ამიტომ, ჩვენ მივიღეთ ბევრი საინტერესო რამ დასაფარავად დღეს. 7 00:00:16,820 --> 00:00:20,160 ბევრი შესაძლებლობები მოხალისეები სცენაზე. 8 00:00:20,160 --> 00:00:22,780 და ბოლოს, დღეს არის არ გაუშვა კოდი ყველა. 9 00:00:22,780 --> 00:00:24,820 მაგრამ ეს იდეები, და ეს დაახლოებით ალგორითმები, 10 00:00:24,820 --> 00:00:28,420 და რეალურად დააბრუნონ ზოგიერთი გაკვეთილების კვირის ნულოვანი, 11 00:00:28,420 --> 00:00:31,910 სადაც გავიხსენოთ, ჩვენ გააცნო ამ monstrosity. 12 00:00:31,910 --> 00:00:33,880 და სესხების შთაგონების აქედან გამომდინარე, უნდა დაიწყოს 13 00:00:33,880 --> 00:00:36,879 მოგვარება უფრო დახვეწილი პრობლემა ალგორითმულად. 14 00:00:36,879 --> 00:00:38,420 მაგრამ პირველი, რამდენიმე განცხადებები. 15 00:00:38,420 --> 00:00:42,020 ასე რომ, ერთი, თუ გსურთ შეუერთდება CS50 პერსონალი და თანაკლასელები ლანჩი 16 00:00:42,020 --> 00:00:44,670 ამ პარასკევს, როგორც აქ და კემბრიჯის და New Haven, 17 00:00:44,670 --> 00:00:48,060 გთხოვთ, ეწვიოთ რა თქმა უნდა, ნახვა, სადაც URL გვხვდება. 18 00:00:48,060 --> 00:00:50,390 ლექცია ამ ოთხშაბათს არ შეიძლება აქ Sanders. 19 00:00:50,390 --> 00:00:53,610 ეს იქნება მხოლოდ, ასე რომ, სრულყოფილი at CS50 ნახვა, 20 00:00:53,610 --> 00:00:55,850 თუ არა აქ Cambridge ან New Haven ისევე. 21 00:00:55,850 --> 00:00:58,110 >> და მაშინ პრობლემა მითითებული ორი უკვე თქვენს ხელშია. 22 00:00:58,110 --> 00:01:03,067 თუ არ საპირისპირო არ არის, ნება მიბოძეთ შესთავაზოს მკაცრი წინადადება 23 00:01:03,067 --> 00:01:05,150 რომ, განსაკუთრებით ახლა, რადგან პრობლემა კომპლექტი წინასწარ, 24 00:01:05,150 --> 00:01:08,669 თქვენ ნამდვილად არ მინდა, რომ დაიწყოს, თუ არა dabble ცოტა შაბათ ან ადრე 25 00:01:08,669 --> 00:01:10,710 როდესაც ისინი პირველად წასვლა გარეთ პარასკევს, იმიტომ, რომ თქვენ 26 00:01:10,710 --> 00:01:14,380 ნახავთ, რომ ისინი არ ემთხვეოდეს მიღების აღარ და უფრო რთული პოსტი 27 00:01:14,380 --> 00:01:14,950 se. 28 00:01:14,950 --> 00:01:17,575 მე ვფიქრობ, რომ თქვენ იპოვით, რომ ზოგადად, ისინი, როგორც წესი, მიიღოს უხეშად 29 00:01:17,575 --> 00:01:18,892 დაახლოებით იმავე დროის. 30 00:01:18,892 --> 00:01:20,850 მაგრამ ეს, რა თქმა უნდა დამოკიდებულია სტუდენტი, და ეს 31 00:01:20,850 --> 00:01:22,880 დამოკიდებულია აზროვნების რომელიც თქვენ მივუდგეთ მას. 32 00:01:22,880 --> 00:01:24,910 მაგრამ ყოველთვის, თქვენ აპირებს აწარმოებს წინააღმდეგ ზოგიერთი კედელი, 33 00:01:24,910 --> 00:01:26,350 და თქვენ ვაპირებთ მოხვდა ზოგიერთი bug, და თქვენ მხოლოდ 34 00:01:26,350 --> 00:01:27,950 არ აპირებს შეძლებს მიიღეთ მეტი რაღაც მომენტში. 35 00:01:27,950 --> 00:01:31,380 და ეს უკიდურესად ღირებული შეძლებს დახევას დაშორებით, დავბრუნდებით მეორე დღეს, 36 00:01:31,380 --> 00:01:35,286 წასვლა საათებში, პოსტ on CS50 იმსჯელებს ან მოსწონს, რომ რეალურად მიიღონ ბლოკი. 37 00:01:35,286 --> 00:01:36,160 გააგრძელეთ, რომ გონება. 38 00:01:36,160 --> 00:01:40,830 დასაწყისი ადრეული, რაც შეიძლება არის საუკეთესო რამ შეგიძლიათ გააკეთოთ. 39 00:01:40,830 --> 00:01:44,160 ასე რომ, აქ, სადაც ჩვენ დავიწყეთ კლასის, მეტი კვირაში ნულოვანი. 40 00:01:44,160 --> 00:01:47,441 და შეგვიძლია მოხალისე აქ დამეხმარება იპოვოს mics? 41 00:01:47,441 --> 00:01:47,940 OK. 42 00:01:47,940 --> 00:01:48,900 მუდმივმოქმედი უკვე. 43 00:01:48,900 --> 00:01:50,080 კარგით up. 44 00:01:50,080 --> 00:01:53,707 ვხვდები, რომ ის, თუ როგორ იმუშავებს. 45 00:01:53,707 --> 00:01:54,415 რა გქვია? 46 00:01:54,415 --> 00:01:55,570 ALAN ESTRADA: Alan Estrada. 47 00:01:55,570 --> 00:01:56,778 დევიდ ჯ Malan: ალან Estrada. 48 00:01:56,778 --> 00:01:57,910 კარგით up. 49 00:01:57,910 --> 00:01:58,619 კარგია თქვენთან შეხვედრა. 50 00:01:58,619 --> 00:01:59,910 ALAN ESTRADA: კარგია თქვენთან შეხვედრა. 51 00:01:59,910 --> 00:02:02,772 დევიდ ჯ Malan: და იყო აქ ჩვენთან კვირაში ნულოვანი, რა თქმა უნდა. 52 00:02:02,772 --> 00:02:03,028 ALAN ESTRADA: მე ვიყავი. 53 00:02:03,028 --> 00:02:03,160 მე ვიყავი. 54 00:02:03,160 --> 00:02:05,868 >> დევიდ ჯ Malan: ასე რომ, შეიძლება თქვენ გადასვლა წინ და ჩვენთვის მაიკ სმიტი, 55 00:02:05,868 --> 00:02:08,639 როგორც სწრაფად, როგორც თქვენ შეგიძლიათ? 56 00:02:08,639 --> 00:02:10,639 როგორც სწრაფად, როგორც თქვენ შეგიძლიათ. 57 00:02:10,639 --> 00:02:13,756 სიტყვასიტყვით tearing პრობლემა ნახევარი, როგორც თქვენ უნდა. 58 00:02:13,756 --> 00:02:15,130 >> ALAN ESTRADA: Um. 59 00:02:15,130 --> 00:02:17,380 დევიდ ჯ Malan: სიტყვასიტყვით tearing პრობლემა ნახევარი. 60 00:02:17,380 --> 00:02:20,210 61 00:02:20,210 --> 00:02:22,083 >> ALAN ESTRADA: Oh. 62 00:02:22,083 --> 00:02:22,583 Mm. 63 00:02:22,583 --> 00:02:23,300 ძალიან კარგი. 64 00:02:23,300 --> 00:02:23,700 >> დევიდ ჯ Malan: OK. 65 00:02:23,700 --> 00:02:24,200 კარგი. 66 00:02:24,200 --> 00:02:24,701 დიდი მადლობა. 67 00:02:24,701 --> 00:02:25,700 ALAN ESTRADA: ძალიან კარგი. 68 00:02:25,700 --> 00:02:26,210 OK. 69 00:02:26,210 --> 00:02:27,610 >> დევიდ ჯ Malan: ასე რომ, ახლა, თქვენ გახდნენ ის ქვემოთ 70 00:02:27,610 --> 00:02:29,320 ნახევარი ზომის პრობლემა. 71 00:02:29,320 --> 00:02:31,267 ახლა, ჩვენ ქვემოთ კვარტალში. 72 00:02:31,267 --> 00:02:33,475 თქვენ გადამხდელი ყურადღებას რომელ მხარეს ჩვენ შენახვა? 73 00:02:33,475 --> 00:02:34,405 >> [იცინის] 74 00:02:34,405 --> 00:02:35,970 >> ALAN ESTRADA: დიახ, ვფიქრობ 75 00:02:35,970 --> 00:02:37,594 >> დევიდ ჯ Malan: რა მონაკვეთზე ვართ ჩვენ? 76 00:02:37,594 --> 00:02:39,150 ALAN ESTRADA: კაშნეები, ასე. 77 00:02:39,150 --> 00:02:39,941 >> დევიდ ჯ Malan: OK. 78 00:02:39,941 --> 00:02:42,810 მაგრამ მაიკ სმიტი აპირებს უნდა იყოს შემდეგ კაშნეები. 79 00:02:42,810 --> 00:02:44,130 ასე რომ-- 80 00:02:44,130 --> 00:02:48,180 >> [იცინის] 81 00:02:48,180 --> 00:02:48,742 >> ყველა უფლება. 82 00:02:48,742 --> 00:02:50,200 ALAN ESTRADA: სად ჩვენ ვეძებთ? 83 00:02:50,200 --> 00:02:52,049 დევიდ ჯ Malan: მაიკ სმიტი. 84 00:02:52,049 --> 00:02:53,090 ALAN ESTRADA: მაიკ სმიტი. 85 00:02:53,090 --> 00:02:54,760 დევიდ ჯ Malan: ახლა, ჩვენ ქირურგიული. 86 00:02:54,760 --> 00:02:57,840 ახლა, ექიმები. 87 00:02:57,840 --> 00:02:58,340 ახლა კი 88 00:02:58,340 --> 00:02:59,856 >> ALAN ESTRADA: Let's- მოდით წავიდეთ ერთად რეალური. 89 00:02:59,856 --> 00:03:00,370 უძრავი. 90 00:03:00,370 --> 00:03:00,970 >> დევიდ ჯ Malan: უძრავი. 91 00:03:00,970 --> 00:03:01,470 OK. 92 00:03:01,470 --> 00:03:03,700 თუ თქვენ გჭირდებათ რეალური. 93 00:03:03,700 --> 00:03:05,250 ახლა, რაც გზა არის მაიკ სმიტი? 94 00:03:05,250 --> 00:03:06,250 >> ALAN ESTRADA: ეს გზა. 95 00:03:06,250 --> 00:03:07,333 >> დევიდ ჯ Malan: რომელი გზა? 96 00:03:07,333 --> 00:03:08,240 ALAN ESTRADA: Wait. 97 00:03:08,240 --> 00:03:08,790 M is-- უფლება? 98 00:03:08,790 --> 00:03:09,110 ჩვენ დავიწყეთ with-- 99 00:03:09,110 --> 00:03:10,090 >> დევიდ ჯ Malan: ჰო. 100 00:03:10,090 --> 00:03:10,650 ისინი დატოვა. 101 00:03:10,650 --> 00:03:11,430 თქვენი მარჯვენა. 102 00:03:11,430 --> 00:03:11,710 >> ALAN ESTRADA: ჰო. 103 00:03:11,710 --> 00:03:13,126 >> დევიდ ჯ Malan: ასე რომ, მაიკ აქ. 104 00:03:13,126 --> 00:03:13,990 ALAN ESTRADA: რა? 105 00:03:13,990 --> 00:03:14,665 >> [იცინის] 106 00:03:14,665 --> 00:03:17,365 107 00:03:17,365 --> 00:03:18,330 >> Bad მაგალითად, ბიჭები. 108 00:03:18,330 --> 00:03:18,830 ბოდიში. 109 00:03:18,830 --> 00:03:21,610 დევიდ ჯ Malan: ეს შეასწავლიან თქვენ ნახტომი თქვენი თავმჯდომარე. 110 00:03:21,610 --> 00:03:22,318 >> ALAN ESTRADA: Oh. 111 00:03:22,318 --> 00:03:22,890 Oh. 112 00:03:22,890 --> 00:03:23,390 მე თქვენ. 113 00:03:23,390 --> 00:03:24,670 მე თქვენ. 114 00:03:24,670 --> 00:03:25,170 Oh. 115 00:03:25,170 --> 00:03:25,669 Oh. 116 00:03:25,669 --> 00:03:26,812 ეს is-- OK, მე თქვენ. 117 00:03:26,812 --> 00:03:27,520 Smith უფლება აქ? 118 00:03:27,520 --> 00:03:28,894 >> დევიდ ჯ Malan: Smith, მადლობა. 119 00:03:28,894 --> 00:03:30,535 ასე რომ, მე შენარჩუნება ეძებს სმიტი? 120 00:03:30,535 --> 00:03:30,790 >> ALAN ESTRADA: Oh, yeah. 121 00:03:30,790 --> 00:03:31,340 არა, არა, არა. 122 00:03:31,340 --> 00:03:31,600 ო, არა. 123 00:03:31,600 --> 00:03:31,940 ეს ჩემია. 124 00:03:31,940 --> 00:03:32,580 >> დევიდ ჯ Malan: Oh, შენ სმიტი. 125 00:03:32,580 --> 00:03:33,415 OK. 126 00:03:33,415 --> 00:03:34,040 >> ALAN ESTRADA: ჰო, მე მიიღო Smith უფლება აქ. 127 00:03:34,040 --> 00:03:34,700 უკაცრავად, ბიჭები. 128 00:03:34,700 --> 00:03:35,860 ვფიქრობდი, Michael-- ჩვენ ეძებს Michael. 129 00:03:35,860 --> 00:03:36,550 ბოდიში. 130 00:03:36,550 --> 00:03:37,550 >> დევიდ ჯ Malan: ეს არის OK. 131 00:03:37,550 --> 00:03:39,950 ყველა უფლება, ახლა ჩვენ შევიდა Paccini და შვილები. 132 00:03:39,950 --> 00:03:41,242 >> ALAN ESTRADA: Paccini და შვილები. 133 00:03:41,242 --> 00:03:43,158 დევიდ ჯ Malan: მხოლოდ თქვენ და მე ვართ ამ. 134 00:03:43,158 --> 00:03:44,050 OK. 135 00:03:44,050 --> 00:03:45,130 გვიპოვეთ მაიკ სმიტი. 136 00:03:45,130 --> 00:03:45,830 სმიტი. 137 00:03:45,830 --> 00:03:46,310 >> ALAN ESTRADA: სმიტი. 138 00:03:46,310 --> 00:03:46,750 >> დევიდ ჯ Malan: სმიტი. 139 00:03:46,750 --> 00:03:47,728 ჩვენ ვართ R ნაგავსაყრელად. 140 00:03:47,728 --> 00:03:48,644 ALAN ESTRADA: ნაგავი. 141 00:03:48,644 --> 00:03:50,096 Oh. 142 00:03:50,096 --> 00:03:52,480 ეს აპირებს ხნით. 143 00:03:52,480 --> 00:03:54,340 >> [იცინის] 144 00:03:54,340 --> 00:03:55,804 145 00:03:55,804 --> 00:03:56,720 დევიდ ჯ Malan: ფეხსაცმელი. 146 00:03:56,720 --> 00:03:58,080 ჩვენ ფეხსაცმელი. 147 00:03:58,080 --> 00:04:00,210 >> ALAN ESTRADA: ახლა ჩვენ gonna-- 148 00:04:00,210 --> 00:04:01,105 >> დევიდ ჯ Malan: Nice. 149 00:04:01,105 --> 00:04:01,980 ALAN ESTRADA: Which-- 150 00:04:01,980 --> 00:04:03,620 [იცინის] 151 00:04:03,620 --> 00:04:05,440 ოჰ, ეს არის დიდი. 152 00:04:05,440 --> 00:04:06,910 [იცინის] 153 00:04:06,910 --> 00:04:08,380 154 00:04:08,380 --> 00:04:09,390 >> დევიდ ჯ Malan: ეს არის OK. 155 00:04:09,390 --> 00:04:11,365 >> ALAN ESTRADA: ოჰ, ეს არის კარგი. 156 00:04:11,365 --> 00:04:14,425 მე არ ვფიქრობ, მე ვაპირებ აქვს PSAT მეგობრებთან შემდეგ. 157 00:04:14,425 --> 00:04:15,300 დევიდ ჯ Malan: კარგი. 158 00:04:15,300 --> 00:04:16,078 სპორტული. 159 00:04:16,078 --> 00:04:17,036 ALAN ESTRADA: სპორტული. 160 00:04:17,036 --> 00:04:18,668 Um, L, M, N, O, P. 161 00:04:18,668 --> 00:04:19,459 დევიდ ჯ Malan: OK. 162 00:04:19,459 --> 00:04:21,600 მოდით გაანადგურეს ამ ნახევარი. 163 00:04:21,600 --> 00:04:22,270 ეს OK. 164 00:04:22,270 --> 00:04:25,606 ეს დამთავრდა ცუდად მაინც, რადგან Mike Smith არ იქნება ყვითელი გვერდები. 165 00:04:25,606 --> 00:04:26,430 >> ALAN ESTRADA: Aw. 166 00:04:26,430 --> 00:04:27,140 >> დევიდ ჯ Malan: არა, ეს OK. 167 00:04:27,140 --> 00:04:28,930 მაგრამ მოდით პრეტენზია მოსწონს ის ამ გვერდზე. 168 00:04:28,930 --> 00:04:33,260 ასე რომ, ახლა თქვენ გახდნენ პრობლემა ქვემოთ ერთ გვერდზე და აღმოვაჩინეთ მაიკ სმიტი. 169 00:04:33,260 --> 00:04:35,180 >> [Cheering] 170 00:04:35,180 --> 00:04:35,757 171 00:04:35,757 --> 00:04:36,340 OK, მადლობა. 172 00:04:36,340 --> 00:04:40,700 173 00:04:40,700 --> 00:04:41,200 OK. 174 00:04:41,200 --> 00:04:43,646 ეს იყო საოცარი. 175 00:04:43,646 --> 00:04:45,954 მაგრამ ეს იყო კიდევ უფრო სწრაფად ვიდრე სწორხაზოვანი ძებნა, 176 00:04:45,954 --> 00:04:47,870 სადაც ჩვენ იწყება დაწყებული წიგნი, 177 00:04:47,870 --> 00:04:51,210 და ჩვენ გადაადგილება ჩვენი გზა მარცხნიდან მარჯვნივ, საბოლოოდ ეძებს მაიკ სმიტი. 178 00:04:51,210 --> 00:04:53,540 ასე რომ, თუ სატელეფონო წიგნი ჰქონდა, შესაძლოა, 1000 გვერდების, 179 00:04:53,540 --> 00:04:56,300 შესაძლოა, ეს იქნებოდა მიღებული ჩვენს 10 ან იმდენად გვერდი ცრემლები. 180 00:04:56,300 --> 00:04:59,380 >> მაგრამ თქვენ არ leveraged შეეხო ვარაუდი, 181 00:04:59,380 --> 00:05:03,602 დროს ყველა, რომ, რომელიც, შეიძლება ითქვას, რომ სატელეფონო წიგნი წინასწარ რა? 182 00:05:03,602 --> 00:05:04,310 აუდიტორია: დალაგებულია. 183 00:05:04,310 --> 00:05:05,000 დევიდ ჯ Malan: ეს დახარისხებული. 184 00:05:05,000 --> 00:05:05,160 მარჯვენა? 185 00:05:05,160 --> 00:05:07,909 ეს დალაგებულია ალფავიტის, ასე რომ რომ ყველა იმ სახელები და ნომრები 186 00:05:07,909 --> 00:05:11,230 დალაგებულია საწყისი A- ს რომ Z, და ალფავიტის შორის. 187 00:05:11,230 --> 00:05:13,100 მაგრამ დღეს, ჩვენ ახლა ითხოვენ კითხვაზე, ასევე, 188 00:05:13,100 --> 00:05:16,170 როგორ გააკეთა Verizon ან ტელეფონი კომპანია მიიღოს იგი, რომ სახელმწიფო? 189 00:05:16,170 --> 00:05:19,560 >> იმიტომ, რომ ეს არის ერთ ერთი რამ ბერკეტი რომ ვარაუდი და, შესაბამისად, 190 00:05:19,560 --> 00:05:22,570 პრობლემის გადაჭრას რომელზეც ალგორითმი უფრო ეფექტურად. 191 00:05:22,570 --> 00:05:24,900 მაგრამ ჩვენ არასდროს ნამდვილად კითხვაზე, კვირაში ნულოვანი, ასევე, 192 00:05:24,900 --> 00:05:27,790 რამდენად ეს გააკეთა ღირებულება Verizon თუ ვინმე სხვა 193 00:05:27,790 --> 00:05:29,620 მიიღოს, რომ სატელეფონო წიგნი დახარისხებული მიზნით? 194 00:05:29,620 --> 00:05:29,780 >> მარჯვენა? 195 00:05:29,780 --> 00:05:31,529 არ აქვს მნიშვნელობა, თუ ეძებს მაიკ სმიტი 196 00:05:31,529 --> 00:05:35,190 სუპერ სწრაფი, თუ ის მოგაწვდით წელი დასალაგებლად გვერდები თავდაპირველად. 197 00:05:35,190 --> 00:05:35,690 მარჯვენა? 198 00:05:35,690 --> 00:05:38,620 თქვენ შესაძლოა, ასევე უბრალოდ sift მეშვეობით რანდომიზებული სატელეფონო წიგნი, 199 00:05:38,620 --> 00:05:40,690 თუ ეს იქნება სუპერ ძვირადღირებული დასალაგებლად ის. 200 00:05:40,690 --> 00:05:42,350 ასე რომ, თუ შეიძლება კიდევ ერთი მოხალისე. 201 00:05:42,350 --> 00:05:46,350 ავიღოთ ეძებოთ აქ როგორ ჩვენ might-- მოდის შესახებ up-- როგორ 202 00:05:46,350 --> 00:05:48,100 ჩვენ შეიძლება წავიდეს დახარისხება ეს. 203 00:05:48,100 --> 00:05:51,990 >> და თუ Jordan შეიძლება რეალურად შემოგვიერთდნენ აქ სცენაზე. 204 00:05:51,990 --> 00:05:55,100 ამოდით მხოლოდ ერთი წუთით. 205 00:05:55,100 --> 00:05:56,359 რა გქვია? 206 00:05:56,359 --> 00:05:57,150 CAROLINE: Caroline. 207 00:05:57,150 --> 00:05:58,691 დევიდ ჯ Malan: Caroline, მოდის up. 208 00:05:58,691 --> 00:06:02,070 და თქვენ უნდა შეუერთდა მე და იორდანიის აქ. 209 00:06:02,070 --> 00:06:03,800 Caroline, მადლობა. 210 00:06:03,800 --> 00:06:04,300 ყველა უფლება. 211 00:06:04,300 --> 00:06:08,330 რა გვაქვს აქ Caroline 26 ლურჯი წიგნები 212 00:06:08,330 --> 00:06:10,747 რომ FAS იყენებს ადმინისტრირება გარკვეული საბოლოო გამოცდები. 213 00:06:10,747 --> 00:06:13,330 ეს იღებენ უჭირს, მაგრამ, რაც ჩვენ გავაკეთეთ წინასწარ 214 00:06:13,330 --> 00:06:15,800 ის არის, რომ ჩვენ დააყენა ვინმეს სახელი ფრონტის თითოეული ამ, 215 00:06:15,800 --> 00:06:18,133 მაგრამ ჩვენ ინახება ეს მარტივი მაშინ აყენებს სრული სახელები. 216 00:06:18,133 --> 00:06:22,720 ასე რომ, ჩვენ დააყენა პირს სახელით L, D, J, B, ყველა გზა მეშვეობით Z, 217 00:06:22,720 --> 00:06:24,090 მაგრამ ისინი შემთხვევითი მიზნით. 218 00:06:24,090 --> 00:06:26,890 ასე რომ, თუ გვინდა, საუბარი თქვენი გზას პრობლემა, როგორც თქვენ 219 00:06:26,890 --> 00:06:31,620 ამის გაკეთება, შეგიძლიათ წავიდეთ წინ და დასალაგებლად ამ ჩვენთვის, რომ ზ 220 00:06:31,620 --> 00:06:34,070 >> აუდიტორია: OK, ასე L ჰგავს, შუა. 221 00:06:34,070 --> 00:06:35,050 C იწყება. 222 00:06:35,050 --> 00:06:42,410 ბ J ადრე L. B, Q. 223 00:06:42,410 --> 00:06:45,140 >> დევიდ ჯ Malan: გამართავს, რომ ეგონა, ერთი მეორე. 224 00:06:45,140 --> 00:06:48,910 რადგან, წინააღმდეგ შემთხვევაში, ეს მხოლოდ საინტერესოა, რომ თქვენ, მე, და იორდანიაში. 225 00:06:48,910 --> 00:06:49,724 იქ ჩვენ წავიდეთ. 226 00:06:49,724 --> 00:06:50,640 აუდიტორია: [INAUDIBLE]. 227 00:06:50,640 --> 00:06:57,299 რ 228 00:06:57,299 --> 00:06:58,090 დევიდ ჯ Malan: OK. 229 00:06:58,090 --> 00:06:59,310 რას აკეთებ? 230 00:06:59,310 --> 00:07:01,730 >> CAROLINE: M მას შემდეგ O. 231 00:07:01,730 --> 00:07:02,564 >> დევიდ ჯ Malan: OK. 232 00:07:02,564 --> 00:07:03,064 >> CAROLINE: ო 233 00:07:03,064 --> 00:07:04,120 დევიდ ჯ Malan: O, კარგი. 234 00:07:04,120 --> 00:07:04,970 >> CAROLINE: E. 235 00:07:04,970 --> 00:07:06,730 >> დევიდ ჯ Malan: E, F. ჰო. 236 00:07:06,730 --> 00:07:07,620 >> CAROLINE: T, U, ვ 237 00:07:07,620 --> 00:07:10,689 >> დევიდ ჯ Malan: V, T, U, V. ასე რომ, ჰგავს თქვენ making-- შენარჩუნებას აპირებს. 238 00:07:10,689 --> 00:07:12,730 როგორც ჩანს, თქვენ მიღების დიდი წყობის აქ, 239 00:07:12,730 --> 00:07:13,910 და სახის დიდი წყობის იქ. 240 00:07:13,910 --> 00:07:16,230 ასე რომ, პირველ ნახევარში ანბანი, მეორე ნახევარში ანბანი. 241 00:07:16,230 --> 00:07:16,460 OK. 242 00:07:16,460 --> 00:07:16,960 კარგი. 243 00:07:16,960 --> 00:07:19,680 კეთილი გაყოფის პრობლემა ორი. 244 00:07:19,680 --> 00:07:21,771 M, N, X. ჰო. 245 00:07:21,771 --> 00:07:22,270 CAROLINE: კ 246 00:07:22,270 --> 00:07:22,980 დევიდ ჯ Malan: OK. 247 00:07:22,980 --> 00:07:25,070 კ ასე რომ თქვენ სახის შერჩევის მათ ერთმანეთის მიყოლებით, 248 00:07:25,070 --> 00:07:27,620 აყენებს მას ან მარცხნივ ან მარჯვნივ, ან Z აპირებს იატაკზე. 249 00:07:27,620 --> 00:07:28,012 OK. 250 00:07:28,012 --> 00:07:29,190 >> CAROLINE: Z ხდება სართული. 251 00:07:29,190 --> 00:07:29,360 >> დევიდ ჯ Malan: OK. 252 00:07:29,360 --> 00:07:30,920 Y აპირებს იატაკზე. 253 00:07:30,920 --> 00:07:31,735 ახლა ჩვენ შეგვიძლია X. 254 00:07:31,735 --> 00:07:32,409 >> CAROLINE გ 255 00:07:32,409 --> 00:07:33,700 დევიდ ჯ Malan: G ის აპირებს მარცხენა. 256 00:07:33,700 --> 00:07:36,017 S აპირებს უფლება. 257 00:07:36,017 --> 00:07:37,642 ყველა უფლება, A აპირებს ყველა გზა დარჩა. 258 00:07:37,642 --> 00:07:38,790 >> CAROLINE: A, B, C, D. 259 00:07:38,790 --> 00:07:39,873 >> დევიდ ჯ Malan: ახლა, კარგი. 260 00:07:39,873 --> 00:07:43,260 ჩვენ მივიღეთ A, B, C. W აპირებს ქვემოთ. 261 00:07:43,260 --> 00:07:45,566 ყველა უფლება, T. 262 00:07:45,566 --> 00:07:46,611 >> CAROLINE: H, I, J. 263 00:07:46,611 --> 00:07:47,860 დევიდ ჯ Malan: H, I, J. კარგი. 264 00:07:47,860 --> 00:07:49,160 CAROLINE: ცენტრში, მე gonna-- 265 00:07:49,160 --> 00:07:50,000 დევიდ ჯ Malan: OK. 266 00:07:50,000 --> 00:07:52,375 ახლა, ჩვენ ვაპირებთ სახის საქართველოს შერწყმა ამ სხვადასხვა piles. 267 00:07:52,375 --> 00:08:00,730 ასე რომ მეშვეობით C, მაშინ მე ვერ ვხედავ D და E და F და G და H, და ი Nice. 268 00:08:00,730 --> 00:08:05,540 J, K. და შემდეგ, ამ წყობის თავდაყირა, მაგრამ რომ კარგადაა. 269 00:08:05,540 --> 00:08:06,040 რა თქმა უნდა. 270 00:08:06,040 --> 00:08:07,240 ჩვენ შეგვიძლია მოჭრილი ზოგიერთ კუთხეში. 271 00:08:07,240 --> 00:08:07,950 OK. 272 00:08:07,950 --> 00:08:10,530 და მაშინ ჩვენ უნდა W, X, Y, ზ 273 00:08:10,530 --> 00:08:11,250 >> CAROLINE: ჰო. 274 00:08:11,250 --> 00:08:11,880 >> დევიდ ჯ Malan: შესანიშნავი. 275 00:08:11,880 --> 00:08:14,122 ასე რომ, დიდი მადლობა Caroline დახარისხება ეს. 276 00:08:14,122 --> 00:08:15,030 >> [Cheering] 277 00:08:15,030 --> 00:08:17,287 >> დიდი მადლობა. 278 00:08:17,287 --> 00:08:18,120 ძალიან დიდი მადლობა. 279 00:08:18,120 --> 00:08:22,910 ახლა მოდით დავფიქრდეთ როგორ Caroline წავიდა აკეთებს, რომ, 280 00:08:22,910 --> 00:08:26,040 და რა ჩვენ შეძლეს, რომელთა მიზანია, თუ როგორ 281 00:08:26,040 --> 00:08:28,409 შეძლეს გადაწყვიტოს, რომ პრობლემა, როდესაც ჩვენ მხოლოდ 282 00:08:28,409 --> 00:08:29,950 მოცემული მთელი bunch of შემთხვევითი საშუალებებით. 283 00:08:29,950 --> 00:08:31,610 >> ისე, როგორც ჩანს, არ იყო ცოტა სისტემაში? 284 00:08:31,610 --> 00:08:32,110 უფლება. 285 00:08:32,110 --> 00:08:34,495 ასე რომ, ადრე წერილები ანბანი, მან 286 00:08:34,495 --> 00:08:37,120 იყო გამოსული მარცხენა, და შემდეგ ასო ანბანი, 287 00:08:37,120 --> 00:08:38,270 იგი აყენებს უფლება. 288 00:08:38,270 --> 00:08:40,500 და როგორც კი მან აღმოაჩინა ზოგიერთი პროქსიმალური წერილები, პირობა 289 00:08:40,500 --> 00:08:43,124 რომ წავიდეს უფლება შემდეგი ერთმანეთს, იგი დააყენა იმ მიზნით. 290 00:08:43,124 --> 00:08:46,750 ასე რომ, ჩვენ სახის ჰქონდა ეს პატარა piles დახარისხებული საშუალებებით ხდება. 291 00:08:46,750 --> 00:08:50,540 >> და ისე, რომ საკმაოდ მსგავსად, რაც ყველაზე მეტად ჩვენს ადამიანები ყველაფერს გააკეთებს. 292 00:08:50,540 --> 00:08:53,530 ჩვენ იქნებოდა ერთგვარი Sift მეშვეობით მას, და ჩვენ გვინდა სახის აქვს მექანიზმი. 293 00:08:53,530 --> 00:08:56,930 მაგრამ ეს შეიძლება იყოს რთული დაწერა ის ქვემოთ ფორმულა თავისთავად. 294 00:08:56,930 --> 00:08:59,010 იგი გრძნობდა, ცოტა მეტი ორგანული, ვიდრე. 295 00:08:59,010 --> 00:09:02,560 მოდით ვნახოთ, თუ ჩვენ შეგვიძლია შეკრული პრობლემა ნაკლები საშუალებებით. 296 00:09:02,560 --> 00:09:05,170 >> იმის ნაცვლად, რომ 26, მოდით ამის გაკეთება რაღაც ბევრად უფრო ნაკლები 297 00:09:05,170 --> 00:09:09,890 მხოლოდ ამბობენ, შვიდი, უკან ამ კარს, ასე ვთქვათ. 298 00:09:09,890 --> 00:09:11,300 არსებობს მხოლოდ შვიდი ნომრები? 299 00:09:11,300 --> 00:09:15,240 და თუ მიზანი ახლა მხრივ არის ის, რომ მნიშვნელობა, 300 00:09:15,240 --> 00:09:17,850 ვნახოთ, როგორ ეფექტურად ჩვენ შეგვიძლია წავიდეთ შესახებ აკეთებენ. 301 00:09:17,850 --> 00:09:22,460 მოდით ვნახოთ, თუ ჩვენ ახლა დაიწყება მიმართოს ზოგიერთი ნომრები, 302 00:09:22,460 --> 00:09:26,310 ან რაღაც ფორმულები, რომელიც აღწერს ეფექტურობის ჩვენი სატელეფონო წიგნი 303 00:09:26,310 --> 00:09:31,060 ალგორითმი, ჩვენი გამოცდა წიგნაკი ალგორითმი და უფრო ზოგადად, ინფორმაციის მოძიება. 304 00:09:31,060 --> 00:09:34,770 >> ასე რომ, ეს, ნება მომეცით წავიდეთ წინ და სენსორული აქ, 305 00:09:34,770 --> 00:09:41,100 ბოლო ბრაუზერი, რომელსაც აქვს სწორედ ამ შვიდი კარი. 306 00:09:41,100 --> 00:09:46,670 და თუ ჩვენ ვერ ერთი სხვა მოხალისე მოვა აქ, 307 00:09:46,670 --> 00:09:48,480 მე დააყენა ეს იგივე კარ აქ. 308 00:09:48,480 --> 00:09:49,170 სწრაფი მოხალისე. 309 00:09:49,170 --> 00:09:51,130 >> ეს ერთ demos ვაპირებთ უფრო სწრაფი და უფრო სწრაფად, ახლა. 310 00:09:51,130 --> 00:09:51,600 კარგით ქვემოთ. 311 00:09:51,600 --> 00:09:52,308 რა გქვია? 312 00:09:52,308 --> 00:09:53,040 TREVOR: Trevor. 313 00:09:53,040 --> 00:09:53,998 >> დევიდ ჯ Malan: Trevor? 314 00:09:53,998 --> 00:09:55,770 ყველა უფლება, Trevor, მოდის ქვემოთ. 315 00:09:55,770 --> 00:09:59,212 ასე რომ, Trevor აქვს მოხალისეებად აქ ამის მსგავსი პრობლემა, მაგრამ ერთი, რომ 316 00:09:59,212 --> 00:10:02,170 ვიწრო ფარგლებს, და რომ აპირებს საშუალებას გვაძლევს ცდილობენ ოფიციალურად ახლა 317 00:10:02,170 --> 00:10:03,970 პროცესი დახარისხება ამ ნომრებზე. 318 00:10:03,970 --> 00:10:05,500 >> ასე რომ, Trevor, კარგია თქვენთან შეხვედრა. 319 00:10:05,500 --> 00:10:08,720 ასე რომ, აქ არის მასივი, ასე ვთქვათ, სიაში შვიდი კარი. 320 00:10:08,720 --> 00:10:10,327 წავიდეთ წინ და იპოვოს ჩვენს ნომერი 50. 321 00:10:10,327 --> 00:10:12,410 და შემდეგ, ფაქტობრივად, გვეუბნებიან, თუ თქვენ ვერ. 322 00:10:12,410 --> 00:10:19,124 323 00:10:19,124 --> 00:10:20,040 თუ be-- ყველა უფლება. 324 00:10:20,040 --> 00:10:21,945 ჰო, ეს არის ერთ-ერთი აქ? 325 00:10:21,945 --> 00:10:24,680 Uh-oh. 326 00:10:24,680 --> 00:10:25,560 OK. 327 00:10:25,560 --> 00:10:26,680 თქვენ აირჩიეთ, რომ ერთი. 328 00:10:26,680 --> 00:10:28,690 კარგი. 329 00:10:28,690 --> 00:10:29,780 >> და კარგი. 330 00:10:29,780 --> 00:10:30,970 ახლა თქვენ აირჩიეთ, რომ ერთი. 331 00:10:30,970 --> 00:10:34,060 და ნება მომეცით, მიკროფონი, ისე, რომ თქვენ გაქვთ ეს მხოლოდ ერთი წუთით. 332 00:10:34,060 --> 00:10:37,000 წავიდეთ წინ და დააჭირეთ მეზობლად, რომ თქვენ აპირებთ. 333 00:10:37,000 --> 00:10:39,812 დიახ, კარგი. 334 00:10:39,812 --> 00:10:41,020 TREVOR: შემიძლია unclick კარი? 335 00:10:41,020 --> 00:10:42,620 დევიდ ჯ Malan: არა, თქვენ ვერ unclick. 336 00:10:42,620 --> 00:10:43,119 TREVOR: OK. 337 00:10:43,119 --> 00:10:43,974 ეს ერთი. 338 00:10:43,974 --> 00:10:45,640 დევიდ ჯ Malan: სად გინდა წასვლა? 339 00:10:45,640 --> 00:10:46,410 რომელი? 340 00:10:46,410 --> 00:10:47,230 >> TREVOR: ეს ერთი. 341 00:10:47,230 --> 00:10:48,042 >> დევიდ ჯ Malan: No. 342 00:10:48,042 --> 00:10:48,450 >> TREVOR: OK. 343 00:10:48,450 --> 00:10:48,735 ეს ერთი. 344 00:10:48,735 --> 00:10:49,020 >> დევიდ ჯ Malan: დიახ. 345 00:10:49,020 --> 00:10:49,700 ეს იყო კარგი. 346 00:10:49,700 --> 00:10:50,380 ყველა უფლება. 347 00:10:50,380 --> 00:10:53,900 ასე რომ, რა იყო თქვენი ალგორითმი ან პროცედურა ამით, Trevor? 348 00:10:53,900 --> 00:10:56,149 >> TREVOR: უბრალოდ გაიარა კარი სანამ ი 50. 349 00:10:56,149 --> 00:10:56,940 დევიდ ჯ Malan: OK. 350 00:10:56,940 --> 00:10:58,150 შესანიშნავი ალგორითმი. 351 00:10:58,150 --> 00:10:59,540 ასე რომ, ჯარიმა. 352 00:10:59,540 --> 00:11:03,120 იმის გამო, რომ ის ფაქტი, რომ, თუ მე გამოვლენა, თუ რა არის უკან ამ ორი სხვა კარები, რა 353 00:11:03,120 --> 00:11:06,954 ჩვენ იპოვით აქ ის არის, რომ ჩვენ მხოლოდ შემთხვევითი შეყვანა. 354 00:11:06,954 --> 00:11:08,870 ასე რომ, ფაქტობრივად, როგორც კარგი, როგორც თქვენ შეიძლება მიიღოთ. 355 00:11:08,870 --> 00:11:12,509 და სინამდვილეში, თქვენ გაქვთ უკეთესი, ვიდრე ამომწურავად ძებნას მთელი მასივი, 356 00:11:12,509 --> 00:11:15,300 იმიტომ, რომ ეს იქნებოდა მართლაც უიღბლო თუ მოხვდა ნომერი 357 00:11:15,300 --> 00:11:16,604 50 ძალიან ბოლო კარი. 358 00:11:16,604 --> 00:11:18,520 მაგრამ თუ ჩვენ ნაცვლად მისცა თქვენ ვარაუდი. 359 00:11:18,520 --> 00:11:20,630 დავუშვათ, რომ ერთგვარი ყველა ამ კარს გარშემო, 360 00:11:20,630 --> 00:11:23,500 ასე, რომ თქვენ გაქვთ ნომრები დახარისხებული ამ დროს, 361 00:11:23,500 --> 00:11:29,730 მაგრამ ამ დროს ის, ფაქტობრივად, different-- ამ დროს, 362 00:11:29,730 --> 00:11:32,640 ეს რეალურად დახარისხებული თქვენთვის. 363 00:11:32,640 --> 00:11:35,380 და ახლა მიზანი ხელთ მოხვდა ნომერი 50. 364 00:11:35,380 --> 00:11:36,090 >> TREVOR: OK. 365 00:11:36,090 --> 00:11:37,670 >> დევიდ ჯ Malan: რა არის თქვენი ალგორითმი იქნება? 366 00:11:37,670 --> 00:11:39,628 >> TREVOR: ისე, თუ ეს დალაგებულია, ეს არც აპირებს 367 00:11:39,628 --> 00:11:42,710 რომ იყოს, თუ დიდი, რომ დიდი, დაღმავალი, ეს იქნება პირველი, 368 00:11:42,710 --> 00:11:44,751 თუ ეს, პირიქით, ეს იქნება ბოლო ერთი. 369 00:11:44,751 --> 00:11:48,897 ასე რომ, მე მხოლოდ ლიბერალიზაცია ეს კარი და მაშინ მხოლოდ ლიბერალიზაცია ბოლო კარი. 370 00:11:48,897 --> 00:11:49,980 დევიდ ჯ Malan: შესანიშნავი. 371 00:11:49,980 --> 00:11:50,270 ყველა უფლება. 372 00:11:50,270 --> 00:11:51,150 ასე რომ, ჩვენ აღმოვაჩინეთ ნომერი 50. 373 00:11:51,150 --> 00:11:52,970 ამიტომ, როგორც კი თქვენ იცოდა ისინი დახარისხებული, ჩვენ 374 00:11:52,970 --> 00:11:55,040 შეძლეს ბერკეტები ამ მოსაზრებას. 375 00:11:55,040 --> 00:11:57,040 ასე რომ, ისინი ძალიან ჰგავს სატელეფონო წიგნი მაგალითად. 376 00:11:57,040 --> 00:11:59,540 როგორც კი თქვენ გაქვთ, თუნდაც პატარა პრობლემა, როგორც ეს, 377 00:11:59,540 --> 00:12:02,380 თქვენი საშუალებებით წინასწარ გადანაწილებული, ჩვენ შეგვიძლია რეალურად ღირებულება სავარაუდოდ 378 00:12:02,380 --> 00:12:03,130 უფრო ეფექტურად. 379 00:12:03,130 --> 00:12:05,800 >> და მე არ გეტყვით, იყო თუ არა ეს დალაგებულია პატარა დიდი, ან დიდი, პატარა, 380 00:12:05,800 --> 00:12:08,080 და ასე, რომ ეს იყო ძალიან გონივრული დაიწყოს ერთ ბოლოს ან მეორე 381 00:12:08,080 --> 00:12:09,750 რეალურად ნახავთ, რომ სამიზნე ღირებულება. 382 00:12:09,750 --> 00:12:11,400 ასე რომ მადლობა ტრევორ ისევე. 383 00:12:11,400 --> 00:12:13,260 და მე შესთავაზოს ლამაზად კეთდება. 384 00:12:13,260 --> 00:12:16,960 ჩვენ გვყავს პატარა კლიპი, ფაქტობრივად, მათ შორის არის ჩვენი საყვარელი მომენტები CS50, 385 00:12:16,960 --> 00:12:19,700 რომლის დროსაც ზოგჯერ ეს demos არ საკმაოდ წასვლა გეგმის მიხედვით. 386 00:12:19,700 --> 00:12:22,050 და მართლაც, ახლა, მე გამოყვანილია არასწორი ინტერფეისი 387 00:12:22,050 --> 00:12:23,508 , რომლის გამოყენება სენსორული. 388 00:12:23,508 --> 00:12:24,660 ასე რომ, ჩემი ბრალი იყო. 389 00:12:24,660 --> 00:12:26,600 >> ასე რომ, ეს გახდის მომავალი წლის კლიპი როგორც 390 00:12:26,600 --> 00:12:28,570 რატომ მე დაჭერით ჩემს ეკრანზე. 391 00:12:28,570 --> 00:12:31,390 მაგრამ მოდით მიიღოს სწრაფი შევხედოთ რა მოხდა გასულ წელს 392 00:12:31,390 --> 00:12:34,770 ჯეი, რომელიც გამოვიდა, ბევრი მოსწონს Trevor აქ, მოხალისეებად, 393 00:12:34,770 --> 00:12:39,380 და ამ მოკლე კლიპი, დაინახავთ როგორ იგივე დემო არ საკმაოდ 394 00:12:39,380 --> 00:12:41,074 გამოვლენა იგივე გაკვეთილები. 395 00:12:41,074 --> 00:12:41,740 [ვიდეო აღწარმოების] 396 00:12:41,740 --> 00:12:45,360 -ყველა მე მინდა, რომ ახლა არის იპოვოს ჩემთვის და ჩვენთვის, 397 00:12:45,360 --> 00:12:51,674 მართლაც, ნომერი 50 ერთი ნაბიჯი დროს. 398 00:12:51,674 --> 00:12:52,450 >> -The ნომერი 50? 399 00:12:52,450 --> 00:12:53,190 >> -The ნომერი 50. 400 00:12:53,190 --> 00:12:55,356 და თქვენ შეგიძლიათ გამოვლენა, თუ რა არის უკან თითოეულ ამ კარი 401 00:12:55,356 --> 00:12:58,540 უბრალოდ ეხება ეს თითი. 402 00:12:58,540 --> 00:13:00,910 რა იგი. 403 00:13:00,910 --> 00:13:02,870 >> [იცინის] 404 00:13:02,870 --> 00:13:03,806 >> [END აღწარმოების] 405 00:13:03,806 --> 00:13:05,430 დევიდ ჯ Malan: ასე რომ წავიდა ძალიან კარგად. 406 00:13:05,430 --> 00:13:06,796 ისინი იყვნენ დაუხარისხებელი კარი. 407 00:13:06,796 --> 00:13:08,670 ჯეი და, რა თქმა უნდა, აღმოჩნდა, რომ ეს ყველაფერი ძალიან სწრაფად. 408 00:13:08,670 --> 00:13:12,910 Trevor გააკეთეს ბევრად უკეთესი სამუშაო თვალსაზრისით teachable მომენტში, 409 00:13:12,910 --> 00:13:15,850 ასე ვთქვათ, ამ წელს აღების უფრო მიაგნეს. 410 00:13:15,850 --> 00:13:17,950 რა თქმა უნდა, ჩვენ მათ Jay მეორე შანსი, 411 00:13:17,950 --> 00:13:20,320 რომლის დროსაც ჩვენ დახარისხებული კარი, ისევე როგორც ჩვენ გავაკეთეთ Trevor, 412 00:13:20,320 --> 00:13:22,300 და ტრევორ გააკეთა სუპერ კარგად ამ დროს. 413 00:13:22,300 --> 00:13:26,124 მაგრამ Jay ეს გააკეთა ნახევარი, რაც შეიძლება. 414 00:13:26,124 --> 00:13:26,790 [ვიდეო აღწარმოების] 415 00:13:26,790 --> 00:13:29,650 -The მიზანი არის ის, რომ ასევე მოგვაგნოთ ნომერი 50, 416 00:13:29,650 --> 00:13:33,030 მაგრამ ამის გაკეთება ალგორითმულად და გვეუბნებიან, თუ როგორ ვაპირებთ ამის შესახებ. 417 00:13:33,030 --> 00:13:33,660 >> -OK. 418 00:13:33,660 --> 00:13:35,604 >> ისე, თავად თუ ის, თქვენ გაქვთ ფილმი. 419 00:13:35,604 --> 00:13:37,228 თუ არ მიაგნეს, თქვენ მისცეს მას უკან. 420 00:13:37,228 --> 00:13:38,044 >> -man. 421 00:13:38,044 --> 00:13:38,860 >> -Oh! 422 00:13:38,860 --> 00:13:40,800 >> - [INAUDIBLE] OK. 423 00:13:40,800 --> 00:13:46,236 ამიტომ, მე ვაპირებ, რათა შეამოწმოს მთავრდება პირველი, რათა დადგინდეს, თუ there's-- Oh. 424 00:13:46,236 --> 00:13:48,646 >> [ტაში] 425 00:13:48,646 --> 00:13:53,948 426 00:13:53,948 --> 00:13:55,729 >> [END აღწარმოების] 427 00:13:55,729 --> 00:13:56,520 დევიდ ჯ Malan: OK. 428 00:13:56,520 --> 00:13:59,760 ასე რომ, დახარისხება კარი აშკარად იწვევს უფრო მეტი ეფექტურობა. 429 00:13:59,760 --> 00:14:01,680 ასე რომ, ორჯერ სწრაფად არის ის, რაც მე იმას ნიშნავდა, არ არსებობს. 430 00:14:01,680 --> 00:14:03,270 ასე რომ, Jay გაუმართლა ორივე ჯერ. 431 00:14:03,270 --> 00:14:06,685 და მან ასევე მიიღო გაუმართლა, რომ ბოლო წელს, მე უბრძანა ზოგიერთი Blu-ray დისკებზე 432 00:14:06,685 --> 00:14:07,560 რეალურად გასცემენ. 433 00:14:07,560 --> 00:14:09,768 მე ვწუხვარ, ამ წელს, არ აქვს იგივე, ტრევორ. 434 00:14:09,768 --> 00:14:11,540 მაგრამ უკეთესი ჯერ კიდევ რამდენიმე წლის უკან. 435 00:14:11,540 --> 00:14:14,820 და ზოგიერთი მოგეხსენებათ, ამ თანამემამულე, შონ, რომელიც, როცა ის CS50, 436 00:14:14,820 --> 00:14:17,780 ეჭვქვეშ ზუსტი იგივე პრობლემა, თუმცა SD, 437 00:14:17,780 --> 00:14:19,360 როგორც თქვენ მალე ვხედავ, უკან დღეში. 438 00:14:19,360 --> 00:14:22,622 თქვენ ნახავთ, რომ არათუ მან ცოტა უფრო მეტია, ვიდრე Jay, 439 00:14:22,622 --> 00:14:25,580 პატარა უმეტეს Trevor, ეს იყო რეალურად ეს მშვენიერი შესაძლებლობა 440 00:14:25,580 --> 00:14:29,820 ჩაერთონ თითქმის ყველას გულშემატკივარი la ფასი არის სწორი, რაც ხელს უწყობს 441 00:14:29,820 --> 00:14:31,889 მას იპოვოს ნომერი ჩვენ ეძებს. 442 00:14:31,889 --> 00:14:32,930 მოდით. მიიღოს სწრაფი შევხედოთ. 443 00:14:32,930 --> 00:14:33,320 >> [ვიდეო აღწარმოების] 444 00:14:33,320 --> 00:14:33,820 >> -OK. 445 00:14:33,820 --> 00:14:36,680 ასე რომ, თქვენი ამოცანაა, აქ, Sean, შემდეგ. 446 00:14:36,680 --> 00:14:40,860 მე არ იმალება უკან ამ კარები ნომერი შვიდი. 447 00:14:40,860 --> 00:14:45,120 მაგრამ მოახერხა მოშორებით ზოგიერთი კარები ასევე არიან სხვა უარყოფითი რიცხვები. 448 00:14:45,120 --> 00:14:47,500 და თქვენი მიზანია ვფიქრობ ამ ყველაზე გრაფაში ნომრები 449 00:14:47,500 --> 00:14:50,390 მხოლოდ მასივი, ან უბრალოდ თანმიმდევრობა ცალი ქაღალდი 450 00:14:50,390 --> 00:14:51,510 ნომრები მათ უკან. 451 00:14:51,510 --> 00:14:55,540 და თქვენი მიზანია, მხოლოდ გამოყენებით დაბრუნება მასივი აქ, იპოვეთ ჩემთვის ნომერი შვიდი. 452 00:14:55,540 --> 00:14:58,570 და ჩვენ შემდეგ ვაპირებთ კრიტიკა, როგორ წავიდეთ შესახებ ვაკეთებთ. 453 00:14:58,570 --> 00:14:59,070 -ყველა უფლება. 454 00:14:59,070 --> 00:15:00,850 მოძებნა us ნომერი შვიდი, გთხოვთ. 455 00:15:00,850 --> 00:15:10,500 456 00:15:10,500 --> 00:15:11,000 No. 457 00:15:11,000 --> 00:15:15,050 458 00:15:15,050 --> 00:15:18,550 ხუთი, 19, 13. 459 00:15:18,550 --> 00:15:22,240 460 00:15:22,240 --> 00:15:24,770 >> [იცინის] 461 00:15:24,770 --> 00:15:25,910 >> ეს არ შეასრულა კითხვაზე. 462 00:15:25,910 --> 00:15:29,410 463 00:15:29,410 --> 00:15:29,910 ერთ-ერთი. 464 00:15:29,910 --> 00:15:33,218 465 00:15:33,218 --> 00:15:34,695 >> [იცინის] 466 00:15:34,695 --> 00:15:37,861 ამ ეტაპზე, თქვენი ანგარიში არ არის ძალიან კარგი, ასე რომ თქვენ შეიძლება ასევე შენარჩუნება აპირებს. 467 00:15:37,861 --> 00:15:40,610 468 00:15:40,610 --> 00:15:41,110 სამი. 469 00:15:41,110 --> 00:15:43,890 470 00:15:43,890 --> 00:15:45,378 >> [იცინის] 471 00:15:45,378 --> 00:15:46,370 472 00:15:46,370 --> 00:15:47,774 >> ტურიზმი. 473 00:15:47,774 --> 00:15:50,690 სიმართლე გითხრათ, მე ვერ დაეხმარება, მაგრამ საინტერესოა, რა თქვენ კი ფიქრი, ისე 474 00:15:50,690 --> 00:15:51,959 >> [იცინის] 475 00:15:51,959 --> 00:15:53,229 476 00:15:53,229 --> 00:15:55,020 მხოლოდ ყველაზე ზედიზედ, ასე რომ თქვენ მოხვდით სამი მარცხენა. 477 00:15:55,020 --> 00:15:56,200 ასე რომ, ჩემთვის შვიდი. 478 00:15:56,200 --> 00:15:59,700 479 00:15:59,700 --> 00:16:02,167 >> [იცინის] 480 00:16:02,167 --> 00:16:14,870 481 00:16:14,870 --> 00:16:15,370 17. 482 00:16:15,370 --> 00:16:25,675 483 00:16:25,675 --> 00:16:26,946 შვიდი. 484 00:16:26,946 --> 00:16:28,780 >> [ტაში] 485 00:16:28,780 --> 00:16:29,426 >> ყველა უფლება. 486 00:16:29,426 --> 00:16:30,360 >> [END აღწარმოების] 487 00:16:30,360 --> 00:16:31,840 >> დევიდ ჯ Malan: ასე რომ, ჩვენ შეგვიძლია უყურებს ამ მთელი დღის განმავლობაში. 488 00:16:31,840 --> 00:16:34,090 და რა თქმა უნდა, ზოგიერთი წლევანდელი demos ალბათ 489 00:16:34,090 --> 00:16:36,330 ახლა დასრულდება up შემდეგი წლის ვიდეო ისევე. 490 00:16:36,330 --> 00:16:39,040 ასე რომ, ახლა მოდით რეალურად ფოკუსირება ალგორითმები 491 00:16:39,040 --> 00:16:42,140 აქ, და თუ ჩვენ არ შეგვიძლია ახლა დაიწყება გააფორმოს 492 00:16:42,140 --> 00:16:46,650 როგორ შეგვიძლია წავიდეთ მისაღებად ჩვენი მონაცემებით ამ აცხადებენ, რომ ეს დახარისხებული, 493 00:16:46,650 --> 00:16:50,054 ასე რომ, საბოლოო ჯამში, ჩვენ შეგვიძლია რეალურად ძებნის უფრო ეფექტურად. 494 00:16:50,054 --> 00:16:52,470 და მიუხედავად იმისა, რომ ჩვენ ვაპირებთ გამოიყენოთ საკმაოდ მცირე მონაცემები კომპლექტი, 495 00:16:52,470 --> 00:16:54,511 მოსწონს რვა ნომერს ჩვენ აქ ფორუმში, 496 00:16:54,511 --> 00:16:58,230 საბოლოო ჯამში, ეს იგივე იდეები შეიძლება მიმართოს 1,000 საშუალებებით, მილიონი საშუალებებით, 497 00:16:58,230 --> 00:17:02,100 4 მილიარდი საშუალებებით, რადგან ალგორითმები ვაპირებთ, რომ ფუნდამენტურად იგივე. 498 00:17:02,100 --> 00:17:05,359 >> ასე რომ, ეს არის ჩვენი ბოლო შესაძლებლობა მოხალისეები დღეს, 499 00:17:05,359 --> 00:17:09,790 მაგრამ ალბათ ყველაზე ჩართული ერთი, რისთვისაც აუცილებელია რვა მოხალისეები 500 00:17:09,790 --> 00:17:12,960 ამუშავება და ფეხით ჩვენს მეშვეობით პროცესი დახარისხება რა მალე 501 00:17:12,960 --> 00:17:15,212 იქნება ეს მუსიკა დგას აქ. 502 00:17:15,212 --> 00:17:16,170 დავიწყებ უკან აქ. 503 00:17:16,170 --> 00:17:19,692 >> ასე რომ, ერთი turquoise-- მწვანე არის ეს? 504 00:17:19,692 --> 00:17:21,130 თქვენ ჩადენილი? 505 00:17:21,130 --> 00:17:21,630 ორი. 506 00:17:21,630 --> 00:17:23,069 კარგით ქვემოთ. 507 00:17:23,069 --> 00:17:23,569 OK. 508 00:17:23,569 --> 00:17:24,420 სამი. 509 00:17:24,420 --> 00:17:25,400 ოთხი. 510 00:17:25,400 --> 00:17:27,247 ნება მომეცით OK, ხუთ. 511 00:17:27,247 --> 00:17:28,830 თქვენ მიმდინარეობს მიერ წარდგენილი თქვენი მეგობარი. 512 00:17:28,830 --> 00:17:31,340 ექვსი, შვიდი, რვა. 513 00:17:31,340 --> 00:17:32,130 კარგით up. 514 00:17:32,130 --> 00:17:32,630 ყველა უფლება. 515 00:17:32,630 --> 00:17:33,190 დიდი მადლობა. 516 00:17:33,190 --> 00:17:33,689 კარგით up. 517 00:17:33,689 --> 00:17:34,790 კარგით up. 518 00:17:34,790 --> 00:17:35,330 >> ყველა უფლება. 519 00:17:35,330 --> 00:17:38,890 რა გვაქვს აქ და ეს შორის უფრო უხერხულ პირობა, 520 00:17:38,890 --> 00:17:42,390 მას შემდეგ, რაც ეს მოითხოვს, რომ თქვენ იუმორის მე უბრალოდ ცოტა დრო. 521 00:17:42,390 --> 00:17:43,442 თქვენ უნდა იყოს ნომერ პირველი. 522 00:17:43,442 --> 00:17:44,150 რა გქვია? 523 00:17:44,150 --> 00:17:44,610 >> ანანი: ანანმა. 524 00:17:44,610 --> 00:17:45,526 >> დევიდ ჯ Malan: ანანმა. 525 00:17:45,526 --> 00:17:46,092 დავით. 526 00:17:46,092 --> 00:17:46,800 რა გქვია? 527 00:17:46,800 --> 00:17:47,140 >> JOSEPH: Joseph. 528 00:17:47,140 --> 00:17:49,190 >> დევიდ ჯ Malan: იოსები, თქვენ ხართ ნომერი ორი. 529 00:17:49,190 --> 00:17:52,260 >> SERENA: Serena, ნომერი სამი. 530 00:17:52,260 --> 00:17:53,722 შტეფან, ნომერი ოთხი. 531 00:17:53,722 --> 00:17:54,430 CYNTHIA: Cynthia. 532 00:17:54,430 --> 00:17:57,548 დევიდ ჯ Malan: Cynthia, ნომერი ხუთი. 533 00:17:57,548 --> 00:17:58,452 [INAUDIBLE] 534 00:17:58,452 --> 00:17:59,618 დევიდ ჯ Malan: [INAUDIBLE]. 535 00:17:59,618 --> 00:18:00,391 დავით, ნომერი ექვსი. 536 00:18:00,391 --> 00:18:00,890 MATT: Matt. 537 00:18:00,890 --> 00:18:02,160 დევიდ ჯ Malan: Matt ნომერი შვიდი. 538 00:18:02,160 --> 00:18:02,850 და? 539 00:18:02,850 --> 00:18:03,210 >> WAVERLY: Waverly. 540 00:18:03,210 --> 00:18:04,470 >> დევიდ ჯ Malan: Waverly, ნომერი რვა. 541 00:18:04,470 --> 00:18:04,970 ყველა უფლება. 542 00:18:04,970 --> 00:18:06,510 თუ შეიძლება whoops. 543 00:18:06,510 --> 00:18:08,820 თუ თქვენ, როგორც თქვენი პირველი გამოწვევა, არსებობს 544 00:18:08,820 --> 00:18:10,820 რვა მუსიკა სადგამები აქ წინაშე აუდიტორიას. 545 00:18:10,820 --> 00:18:14,200 თუ თქვენ ვერ დააყენა თქვენი ნომრები ეს მუსიკა დგას ისე, 546 00:18:14,200 --> 00:18:16,560 რომ ისინი გამოდიან იგივე ნომრები ფორუმში. 547 00:18:16,560 --> 00:18:19,560 ასე რომ მიიღოს თქუენგან ჰგავს, რომ აყენებს თქვენი ნომრები ამ მუსიკა 548 00:18:19,560 --> 00:18:21,960 დგას აქ. 549 00:18:21,960 --> 00:18:25,980 შესანიშნავი ჯერჯერობით. 550 00:18:25,980 --> 00:18:26,600 >> შესანიშნავი. 551 00:18:26,600 --> 00:18:26,890 OK. 552 00:18:26,890 --> 00:18:29,556 ასე რომ, ახლა ჩვენ ვაპირებთ, ვთხოვოთ კითხვა: რამდენიმე სხვადასხვა გზა. 553 00:18:29,556 --> 00:18:31,610 როგორ შეგვიძლია წავიდეთ შესახებ დახარისხება ეგ აქ? 554 00:18:31,610 --> 00:18:34,500 იმის გამო, რომ ჩვენ გვქონდა რამდენიმე მიდგომები ადრე, რომლის დროსაც ჩვენ 555 00:18:34,500 --> 00:18:36,360 სახის მიღების ორი სხვადასხვა თაიგულების. 556 00:18:36,360 --> 00:18:38,842 და მაშინ ჩვენ, ზოგადად, piecing რამ ერთად. 557 00:18:38,842 --> 00:18:41,050 როგორც კი დაინახა ორი ნომრები რომ ეკუთვნოდა ერთად, 558 00:18:41,050 --> 00:18:41,975 ჩვენ მათ ერთად. 559 00:18:41,975 --> 00:18:43,350 ორი ასო, რომელიც ეკუთვნის ერთად. 560 00:18:43,350 --> 00:18:45,058 >> მაგრამ ვნახოთ, თუ ჩვენ ვერ გააფორმოს ეს, 561 00:18:45,058 --> 00:18:48,044 ასე, რომ ჩვენ საბოლოოდ უნდა ზოგიერთი ფსევდო კოდი თქვენ, 562 00:18:48,044 --> 00:18:49,710 , რომელიც შეგიძლიათ ამ პრობლემების მოგვარებას. 563 00:18:49,710 --> 00:18:51,870 ასე რომ, ახლა ვეძებ out ამ ნომრები აქ. 564 00:18:51,870 --> 00:18:55,030 და მე ვხედავ მთელი bunch of შეცდომები. 565 00:18:55,030 --> 00:18:57,750 საბოლოო ჯამში, მინდა ერთი მარცხენა და რვა უფლება. 566 00:18:57,750 --> 00:19:00,650 >> ასე რომ, მე ვუყურებ ეს ორი, ოთხი და ორი. 567 00:19:00,650 --> 00:19:02,930 და რა პრობლემაა, ბუნებრივია? 568 00:19:02,930 --> 00:19:04,261 ჰო. 569 00:19:04,261 --> 00:19:04,760 ასე რომ. 570 00:19:04,760 --> 00:19:07,160 ორი აშკარად მოდის ადრე ოთხი, ასე რომ თქვენ იცით, რა? 571 00:19:07,160 --> 00:19:10,210 ნება მომეცით პირველი მიიღოს ხარბ მიდგომა, თუ თქვენ, ისევე, როგორც პრობლემა 572 00:19:10,210 --> 00:19:13,790 მითითებული one-- თუ გავიხსენებთ საწყისი სტანდარტული გამოცემა პრობლემა კომპლექტი ერთი, 573 00:19:13,790 --> 00:19:16,820 სადაც მე მხოლოდ ადგილობრივად პრობლემის მოგვარება ეს არის აქ ჩემს წინ 574 00:19:16,820 --> 00:19:17,690 და ვხედავ, სადაც ეს გამახსენა. 575 00:19:17,690 --> 00:19:17,870 >> OK. 576 00:19:17,870 --> 00:19:20,161 ასე რომ, ორი და ოთხი, ნება მომეცით წავიდეთ წინ და მხოლოდ სვოპ ორი. 577 00:19:20,161 --> 00:19:22,400 თუ შეგიძლიათ გადაადგილება ფიზიკურად საკუთარი თავი და თქვენი ქაღალდი, 578 00:19:22,400 --> 00:19:25,040 მე, როგორც ჩანს მიღებული მიუთითეთ უკეთესი სახელმწიფო. 579 00:19:25,040 --> 00:19:26,330 >> ახლა, ისინი კარგი. 580 00:19:26,330 --> 00:19:28,480 მე ვაპირებ გადაადგილება, ოთხი და ექვსი, კარგად გამოიყურება. 581 00:19:28,480 --> 00:19:29,110 არ არის პრობლემა. 582 00:19:29,110 --> 00:19:30,440 ექვსი და რვა, OK. 583 00:19:30,440 --> 00:19:31,860 რვა და ერთი, კიდევ ერთი პრობლემა. 584 00:19:31,860 --> 00:19:34,750 იმის გამო, რა არის ნამდვილი დაახლოებით რვა და ერთი? 585 00:19:34,750 --> 00:19:36,990 ერთ-ერთი საქმე, სანამ რვა, და ასე რა უნდა გავაკეთოთ? 586 00:19:36,990 --> 00:19:38,090 მოდით სვოპ ამ ორი. 587 00:19:38,090 --> 00:19:39,316 ერთი და რვა. 588 00:19:39,316 --> 00:19:40,690 და ახლა, მე ვაპირებ შენარჩუნება აპირებს. 589 00:19:40,690 --> 00:19:42,030 მე ვაპირებ შენარჩუნება ეძებს წინ. 590 00:19:42,030 --> 00:19:42,840 და ვნახოთ, რა მოხდება. 591 00:19:42,840 --> 00:19:44,680 რვა და სამი, ერთი რა თქმა უნდა, მწყობრიდან. 592 00:19:44,680 --> 00:19:45,815 მოდით გაცვლა. 593 00:19:45,815 --> 00:19:46,940 რვა და შვიდი, რა თქმა უნდა. 594 00:19:46,940 --> 00:19:47,481 მწყობრიდან. 595 00:19:47,481 --> 00:19:48,280 მოდით გაცვლა. 596 00:19:48,280 --> 00:19:49,940 რვა და ხუთი, რა თქმა უნდა, მოდით გაცვლა. 597 00:19:49,940 --> 00:19:50,560 ყველა უფლება. 598 00:19:50,560 --> 00:19:51,880 სია დალაგებულია. 599 00:19:51,880 --> 00:19:53,060 დიახ? 600 00:19:53,060 --> 00:19:54,280 >> დიახ, ცხადია, არა. 601 00:19:54,280 --> 00:19:55,860 მაგრამ ეს ცოტა უკეთესი, არა? 602 00:19:55,860 --> 00:19:57,270 იმის გამო, რომ გაფრთხილების რა მოხდა. 603 00:19:57,270 --> 00:20:01,749 ყოველ დროს, ჩვენ შესრულებული swap, პატარა ნომერი სახის percolated, რომ გზა, 604 00:20:01,749 --> 00:20:03,790 და უფრო დიდი რაოდენობის percolated ამ გზით, და ჩვენ გამოგიგზავნით 605 00:20:03,790 --> 00:20:06,880 დაიწყოს განაცხადა bubbled რომ მარცხენა ან bubbled უფლება. 606 00:20:06,880 --> 00:20:10,080 >> ახლა, ეს არ არის საკმარისი, იმიტომ, რომ საუკეთესო რიგი შეიძლება 607 00:20:10,080 --> 00:20:11,990 არ გადავიდა ერთ ადგილზე წინ, ან უარეს შემთხვევაში, 608 00:20:11,990 --> 00:20:13,880 რიგი შეიძლება ჰქონდეს გადავიდა ერთ ადგილზე შემდგომი. 609 00:20:13,880 --> 00:20:16,369 ასე, რომ თქვენ იცით, რა, ამ სახის მუშაობდა კარგად ჯერჯერობით. 610 00:20:16,369 --> 00:20:17,410 ნება მომეცით, უბრალოდ ცდილობენ კიდევ ერთხელ. 611 00:20:17,410 --> 00:20:18,880 ორი და ოთხი, ისინი OK. 612 00:20:18,880 --> 00:20:20,180 ოთხი და ექვსი, ისინი OK. 613 00:20:20,180 --> 00:20:21,790 ექვსი და ერთი, მწყობრიდან. 614 00:20:21,790 --> 00:20:23,007 მოდით სვოპ ორი. 615 00:20:23,007 --> 00:20:25,840 ახლა კი, შეამჩნია პრობლემის დაწყებული მისაღებად ცოტა უკეთესი ერთხელ. 616 00:20:25,840 --> 00:20:27,006 ექვსი და სამი, მწყობრიდან. 617 00:20:27,006 --> 00:20:28,100 მოდით სვოპ ორი. 618 00:20:28,100 --> 00:20:29,730 ექვსი და შვიდი, თქვენ კარგი. 619 00:20:29,730 --> 00:20:32,230 შვიდი და ხუთი, რა თქმა უნდა, მწყობრიდან. 620 00:20:32,230 --> 00:20:33,920 შვიდი და რვა, რათა. 621 00:20:33,920 --> 00:20:36,470 და ახლა, მე ალბათ უნდა ამისათვის რამდენიმე ჯერ. 622 00:20:36,470 --> 00:20:39,830 და სინამდვილეში, ვფიქრობ, რომ საკუთარი თავი ალბათ, თუ რამდენჯერ მაქსიმალურად 623 00:20:39,830 --> 00:20:41,330 შეიძლება მე უნდა ვიაროთ წინ და უკან? 624 00:20:41,330 --> 00:20:42,390 >> ჩვენ დავბრუნდებით რომ. 625 00:20:42,390 --> 00:20:43,700 ასე რომ, ორი და ოთხი კვლავ OK. 626 00:20:43,700 --> 00:20:44,940 ოთხი და ერთი, nope. 627 00:20:44,940 --> 00:20:45,747 ასე რომ, მოდით გაცვლა. 628 00:20:45,747 --> 00:20:47,830 ისევ და ისევ, შეამჩნია ვიზუალურად ერთი სახის bubbling 629 00:20:47,830 --> 00:20:49,163 მარცხნივ, სადაც უნდა იყოს. 630 00:20:49,163 --> 00:20:50,010 ოთხი და სამი გაცვლა. 631 00:20:50,010 --> 00:20:51,330 ოთხი და ექვსი. 632 00:20:51,330 --> 00:20:53,100 ექვსი და ხუთი გაცვლა. 633 00:20:53,100 --> 00:20:53,959 ექვსი და შვიდი. 634 00:20:53,959 --> 00:20:55,000 შვიდი და რვა კარგი. 635 00:20:55,000 --> 00:20:55,500 >> კარგი. 636 00:20:55,500 --> 00:20:58,460 ჩვენ ვიღებთ კიდევ უკეთესი. 637 00:20:58,460 --> 00:20:59,130 ასე რომ, ვნახოთ. 638 00:20:59,130 --> 00:21:00,940 ამჟამად, ჩვენ გვაქვს ორი და ერთი. 639 00:21:00,940 --> 00:21:02,520 რა თქმა უნდა, სვოპ. 640 00:21:02,520 --> 00:21:07,520 ორი და სამი, სამი და ოთხი, ოთხი და ხუთი, ექვსი და შვიდი, შვიდი და რვა. 641 00:21:07,520 --> 00:21:08,020 კარგი. 642 00:21:08,020 --> 00:21:08,730 და იცით რა? 643 00:21:08,730 --> 00:21:11,190 იმის გამო, რომ მე ერთი ცვლილება არსებობს, ნება მომეცით ამის ერთ-ერთი საღი აზრის ქვითარი. 644 00:21:11,190 --> 00:21:13,023 ნება მომეცით წავიდეთ ყველა გზა დაბრუნება დასაწყისში. 645 00:21:13,023 --> 00:21:13,680 OK. 646 00:21:13,680 --> 00:21:14,750 ერთი, ორი yup, ხედავთ? 647 00:21:14,750 --> 00:21:15,870 რაღაც არასწორია. 648 00:21:15,870 --> 00:21:18,420 სამი, ოთხი, ხუთი, ექვსი, შვიდი, რვა. 649 00:21:18,420 --> 00:21:21,920 და ამ ბოლო პასი, რომლებიც თქვენ კომფორტულად ჩემი ახლა 650 00:21:21,920 --> 00:21:23,830 ამტკიცებენ, რომ ეს არის გადანაწილებული? 651 00:21:23,830 --> 00:21:24,330 OK. 652 00:21:24,330 --> 00:21:25,880 ვიზუალურად, რომ აბსოლუტურად მართალია. 653 00:21:25,880 --> 00:21:28,410 მაგრამ ფუნქციურად, რა ისიც მხოლოდ მოხდეს 654 00:21:28,410 --> 00:21:31,870 ამ ბოლო პასი, რომელიც საშუალებას გაძლევთ იმის დასადასტურებლად, რომ ეს სია მართლაც 655 00:21:31,870 --> 00:21:32,660 გადანაწილებული? 656 00:21:32,660 --> 00:21:34,477 >> რა გავაკეთო თუ არა ამის გაკეთება ბოლო უღელტეხილზე? 657 00:21:34,477 --> 00:21:35,810 აუდიტორია: არ იყო ცვლილებები. 658 00:21:35,810 --> 00:21:36,120 დევიდ ჯ Malan: უკაცრავად? 659 00:21:36,120 --> 00:21:37,070 აუდიტორია: ცვლილებები. 660 00:21:37,070 --> 00:21:38,653 დევიდ ჯ Malan: არ იყო ცვლილებები. 661 00:21:38,653 --> 00:21:41,947 ასე რომ, ეს იქნება სულელური ჩემთვის გავაკეთოთ, რომ იგივე ალგორითმი ერთხელ 662 00:21:41,947 --> 00:21:43,780 თუ მე არ გაუკეთებია ცვლის პირველად. 663 00:21:43,780 --> 00:21:45,160 და სახელმწიფო არ შეცვლილა. 664 00:21:45,160 --> 00:21:47,576 რა თქმა უნდა, მე არ ვაპირებ, რომ ნებისმიერი ცვლის მეორედ. 665 00:21:47,576 --> 00:21:49,820 ასე რომ, ეს არ ემუქრება უნდა ვთქვა, სია დალაგებულია. 666 00:21:49,820 --> 00:21:52,069 >> და მართლაც, ეს არის ის, რომ ჩვენ ზოგადად 667 00:21:52,069 --> 00:21:56,900 დარეკეთ bubble sort, რომლის pairwise, თქვენ შეცდომების გამოსწორების კიდევ ერთხელ, 668 00:21:56,900 --> 00:22:00,210 და ისევ და ისევ, და თქვენ შენარჩუნებას აპირებს უკან და მეოთხე, 669 00:22:00,210 --> 00:22:03,370 და უკან და მეოთხე, სანამ რათა არსებობს ასეთი გაცვლებს, სადაც წერტილი 670 00:22:03,370 --> 00:22:07,089 თქვენ შეუძლია იყოს დარწმუნებული, ჰო, მე დასრულდა აფიქსირებს ყველა შეცდომები. 671 00:22:07,089 --> 00:22:08,630 მოდით აღადგინოთ და ცდილობენ სხვა მიდგომა. 672 00:22:08,630 --> 00:22:11,590 თუ თქვენ ბიჭები დაბრუნდეს შევიდა იმისათვის, რომ თქვენ იყო მომენტში წინ, 673 00:22:11,590 --> 00:22:13,780 რაც ჩანდა მოსწონს ეს. 674 00:22:13,780 --> 00:22:17,640 ახლა, მოდით მიიღოს მიდგომა ცოტა უფრო გამოცდა წიგნი, 675 00:22:17,640 --> 00:22:21,122 რომლის დროსაც ჩვენ მუდმივად შერჩევის წერილი ანბანი 676 00:22:21,122 --> 00:22:22,830 რომ ჩვენ სახის სურდა გამკლავება მომავალი. 677 00:22:22,830 --> 00:22:26,420 შესაძლოა, ეს იყო მაღალი წერილი, როგორიცაა, ან დაბალი წერილი ზ 678 00:22:26,420 --> 00:22:28,170 >> ასე რომ ყველას უკან ამ მიზნით. 679 00:22:28,170 --> 00:22:29,800 ახლა კი ნება მომეცით ამის გაკეთება. 680 00:22:29,800 --> 00:22:34,880 ვნახოთ, მე ვიცი, მე რვა ნომერს აქ. 681 00:22:34,880 --> 00:22:37,410 მე ვაპირებ წავიდეთ წინ და უბრალოდ შეგნებულად აირჩიეთ 682 00:22:37,410 --> 00:22:38,520 პატარა ელემენტებს. 683 00:22:38,520 --> 00:22:38,760 მარჯვენა? 684 00:22:38,760 --> 00:22:39,801 ეს, როგორც ჩანს, ინტუიციური ძალიან. 685 00:22:39,801 --> 00:22:42,560 რატომ არ იპოვოს პატარა ელემენტს, ამას სადაც მას ეკუთვნის, 686 00:22:42,560 --> 00:22:45,280 ამის შემდეგ მიიღონ შემდეგი პატარა ელემენტს, დააყენა სადაც მას ეკუთვნის და მხოლოდ გავიმეორო. 687 00:22:45,280 --> 00:22:46,820 >> იმის გამო, რომ ინტუიციურად, რომ უნდა ვიმუშაოთ ძალიან. 688 00:22:46,820 --> 00:22:48,441 ასე რომ ოთხი, რომ საკმაოდ მცირე რაოდენობით. 689 00:22:48,441 --> 00:22:49,940 მე ვაპირებ მახსოვს, სადაც ეს არის. 690 00:22:49,940 --> 00:22:50,523 ერთი წუთით. 691 00:22:50,523 --> 00:22:51,577 ორი პატარა. 692 00:22:51,577 --> 00:22:53,910 ნება მიბოძეთ ახლა მახსოვს, სადაც ორი არის, და დაივიწყოს ოთხ. 693 00:22:53,910 --> 00:22:55,050 ჩვენ გაუმკლავდეთ მოგვიანებით. 694 00:22:55,050 --> 00:22:56,460 ექვსი, მე არ ვარ დაინტერესებული. 695 00:22:56,460 --> 00:22:57,810 რვა, მე არ ვარ დაინტერესებული. 696 00:22:57,810 --> 00:22:59,780 ერთ-ერთი ჩემი ახალი მცირე რაოდენობით. 697 00:22:59,780 --> 00:23:01,470 ამიტომ, მე ვაპირებ უნდა გვახსოვდეს, სადაც არის. 698 00:23:01,470 --> 00:23:02,534 სამი, არ არის დაინტერესებული. 699 00:23:02,534 --> 00:23:03,450 Seven, არ არის დაინტერესებული. 700 00:23:03,450 --> 00:23:04,530 ხუთი, არ არის დაინტერესებული. 701 00:23:04,530 --> 00:23:07,390 >> ასე რომ, გარეშე დაცემით off სცენაზე წელს, 702 00:23:07,390 --> 00:23:09,890 მე ვაპირებ დაიბრუნოს ნომერი one-- და რა იყო თქვენი სახელით კიდევ ერთხელ? 703 00:23:09,890 --> 00:23:10,150 >> ანანი: ანანმა. 704 00:23:10,150 --> 00:23:11,220 >> დევიდ ჯ Malan: ანანმა. 705 00:23:11,220 --> 00:23:13,540 და თუ შეიძლება შეუერთდეს me at დასაწყისში სია, 706 00:23:13,540 --> 00:23:14,870 მოდით ვთქვათ, სადაც თქვენ ეკუთვნის. 707 00:23:14,870 --> 00:23:16,080 Unfortunately-- რა გქვია? 708 00:23:16,080 --> 00:23:16,650 >> STEFAN: Stefan. 709 00:23:16,650 --> 00:23:18,191 >> დევიდ ჯ Malan: შტეფან გზა. 710 00:23:18,191 --> 00:23:23,490 ასე რომ, სანამ შტეფან წყვეტს ამ პრობლემა, რა უნდა გავაკეთოთ? 711 00:23:23,490 --> 00:23:25,412 რას ვაკეთებთ შტეფან? 712 00:23:25,412 --> 00:23:27,269 >> აუდიტორია: [INAUDIBLE]. 713 00:23:27,269 --> 00:23:28,060 დევიდ ჯ Malan: OK. 714 00:23:28,060 --> 00:23:28,850 ასე რომ ჩვენ შეგვიძლია ამის გაკეთება. 715 00:23:28,850 --> 00:23:31,730 ჩვენ შეგვიძლია ერთგვარი მიიღოს შტეფან და მისი ოთხი, და მხოლოდ დააყენა ეს ცვლადი 716 00:23:31,730 --> 00:23:33,530 და ჩატარების შესახებ, რომელიც მას გარკვეული დროის, 717 00:23:33,530 --> 00:23:35,220 რითაც ოთახი ნომერ პირველი. 718 00:23:35,220 --> 00:23:36,280 და ეს არ არის ცუდი. 719 00:23:36,280 --> 00:23:39,270 მე შეიძლება ვივარაუდოთ, რატომ არ ჩვენ უბრალოდ შტეფან აქ? 720 00:23:39,270 --> 00:23:41,610 რატომ შეიძლება ეს არღვევს ერთი იდეები, ჩვენ დავიწყეთ 721 00:23:41,610 --> 00:23:44,830 ლაპარაკი ბოლო დროს, გასულ კვირას? 722 00:23:44,830 --> 00:23:45,330 ჰო? 723 00:23:45,330 --> 00:23:45,740 >> აუდიტორია: [INAUDIBLE]. 724 00:23:45,740 --> 00:23:46,860 >> დევიდ ჯ Malan: არ არსებობს ინდექსი იგი. 725 00:23:46,860 --> 00:23:49,735 თუ ფიქრობთ, რომ ეს, მართლაც, როგორც მასივი, ეს არის, როგორც უარყოფითი, 726 00:23:49,735 --> 00:23:52,900 ასე რომ არ არსებობს მეხსიერება რეალურად აქ, თუ ეს მართლაც მასივი, 727 00:23:52,900 --> 00:23:55,090 როგორც ჩვენ განაცხადა გასულ კვირას ლექცია. 728 00:23:55,090 --> 00:23:56,250 ასე რომ, ჩვენ არ უნდა გავაკეთოთ ეს. 729 00:23:56,250 --> 00:23:57,340 ჩვენ შეიძლება ჩაწეროთ იგი ცვლადი. 730 00:23:57,340 --> 00:23:57,820 >> ან იცით რა? 731 00:23:57,820 --> 00:23:59,153 გავიგე, ვინმე ვარაუდობენ, რომ ეს. 732 00:23:59,153 --> 00:24:01,020 რა უნდა გვექნა შტეფან? 733 00:24:01,020 --> 00:24:03,770 რატომ არ გვაქვს მხოლოდ გამოსახლება მას და ამით მას მეტი, სადაც ნომერ იყო. 734 00:24:03,770 --> 00:24:05,170 ასე რომ, თუ გსურთ წავიდეთ იქ. 735 00:24:05,170 --> 00:24:07,300 და მართლაც, ეს არის საკმაოდ კარგი გამოსავალი. 736 00:24:07,300 --> 00:24:10,480 ახლა, ერთი მხრივ, მე სახის გააკეთა პრობლემა გაუარესდა. 737 00:24:10,480 --> 00:24:13,650 ოთხი არის შორს საიდანაც უნდა იყოს. 738 00:24:13,650 --> 00:24:14,900 ეს უნდა იყოს ამ მიმართულებით ნახევარი. 739 00:24:14,900 --> 00:24:16,100 >> მაგრამ იცით რა? 740 00:24:16,100 --> 00:24:17,630 რომ ყოფილიყო ცუდი წარმატებას. 741 00:24:17,630 --> 00:24:18,822 იქნებ ნომერი რვა აქ იყო. 742 00:24:18,822 --> 00:24:20,530 ასე რომ, შესაძლოა, ჩვენ გვინდა მიღებული გაუმართლა, 743 00:24:20,530 --> 00:24:22,460 და მივიღებთ რვა დაახლოება ბოლოს. 744 00:24:22,460 --> 00:24:24,710 ასე რომ, დღის ბოლოს, ეს სახის ყველა საშუალოდ. 745 00:24:24,710 --> 00:24:26,085 ჩვენ არ უნდა ზრუნავდეს ოთხ. 746 00:24:26,085 --> 00:24:29,400 ყველა მე აინტერესებს ახლავე შერჩევის პატარა ელემენტს. 747 00:24:29,400 --> 00:24:32,030 >> ახლა კი, რა მე ვაპირებ გავაკეთოთ არის დაივიწყოს ნომერ 748 00:24:32,030 --> 00:24:35,160 მუდმივად, იმიტომ, რომ მე ვიცი, სიაში ჩემს უკან არის გადანაწილებული. 749 00:24:35,160 --> 00:24:36,720 ასე რომ, ჩემი სია ადრე ზომის რვა. 750 00:24:36,720 --> 00:24:37,720 ახლა, ეს ზომა შვიდი. 751 00:24:37,720 --> 00:24:40,340 ასე რომ, ჩემი პრობლემა დღითიდღე პატარა, თუმცა ხაზოვანი. 752 00:24:40,340 --> 00:24:43,022 ასე რომ, ახლა მე ვაპირებ აირჩიეთ დღევანდელი პატარა ელემენტს, ორი. 753 00:24:43,022 --> 00:24:46,520 ექვსი, რვა, ოთხი, სამი, შვიდი, ხუთი. 754 00:24:46,520 --> 00:24:47,770 ეს იყო პატარა ელემენტს. 755 00:24:47,770 --> 00:24:49,416 ასე რომ, რა ვარ მე გაკეთებას აპირებს with-- რა იყო თქვენი სახელით კიდევ ერთხელ? 756 00:24:49,416 --> 00:24:49,760 >> JOSEPH: Joseph. 757 00:24:49,760 --> 00:24:50,085 >> დევიდ ჯ Malan: ჯოზეფ? 758 00:24:50,085 --> 00:24:52,000 ჩვენ ვაპირებთ, რომ დატოვოს ჯოზეფ ადგილზე. 759 00:24:52,000 --> 00:24:54,842 ახლა, მე ვაპირებ პრეტენზია რომ ეს ბიჭები are-- კარგად, 760 00:24:54,842 --> 00:24:56,550 მე ვიცი, რომ ეს ორი უკვე დახარისხებული. 761 00:24:56,550 --> 00:24:58,424 მოდით ახლა ფოკუსირება დარჩენილი სიაში. 762 00:24:58,424 --> 00:25:00,080 ექვსი მიმდინარე პატარა. 763 00:25:00,080 --> 00:25:01,190 რვა მეტია. 764 00:25:01,190 --> 00:25:02,970 ოთხი არის დღევანდელი პატარა. 765 00:25:02,970 --> 00:25:04,762 სამი არის დღევანდელი პატარა. 766 00:25:04,762 --> 00:25:07,720 და ახლა, მე ვაპირებ აირჩიოთ სამი, რომელიც is-- რა არის შენი სახელი ისევ? 767 00:25:07,720 --> 00:25:08,190 SERENA: Serena. 768 00:25:08,190 --> 00:25:10,620 დევიდ ჯ Malan: Serena, თუ შეიძლება Grab თქვენი ნომერი და swap with-- 769 00:25:10,620 --> 00:25:11,550 KALSANG: Kalsang. 770 00:25:11,550 --> 00:25:12,940 დევიდ ჯ Malan: Kalsang. 771 00:25:12,940 --> 00:25:15,220 კარგით უკან, და ჩვენ აპირებს სვოპ ორი. 772 00:25:15,220 --> 00:25:17,360 და ახლა, მოდით დააყენა ამ ავტოპილოტი. 773 00:25:17,360 --> 00:25:21,589 მე ვაპირებ წასვლა და დატოვოს ის, რომ თქვენ ბიჭები აირჩიოთ შემდეგი პატარა ელემენტებს. 774 00:25:21,589 --> 00:25:22,380 Dun, Dun, Dun, Dun. 775 00:25:22,380 --> 00:25:24,560 პუნქტების ოთხი, რა უნდა გავაკეთოთ? 776 00:25:24,560 --> 00:25:26,261 შესანიშნავი. 777 00:25:26,261 --> 00:25:27,760 ახლა, მე ვაპირებ, რათა კიდევ ერთი აკეთებს. 778 00:25:27,760 --> 00:25:28,590 Dun, Dun, Dun, Dun. 779 00:25:28,590 --> 00:25:31,465 მე ვხედავ ხუთ შემდეგი ყველაზე პატარა. 780 00:25:31,465 --> 00:25:32,840 ახლა, მე ვაპირებ მიიღოს სხვა აკეთებს. 781 00:25:32,840 --> 00:25:33,631 Dun, Dun, Dun, Dun. 782 00:25:33,631 --> 00:25:34,880 ექვსი ყველაზე პატარა. 783 00:25:34,880 --> 00:25:35,520 კარგი. 784 00:25:35,520 --> 00:25:36,585 შვიდი პატარა. 785 00:25:36,585 --> 00:25:37,085 ცვლილება არ არის. 786 00:25:37,085 --> 00:25:38,630 რვა არის პატარა. 787 00:25:38,630 --> 00:25:39,170 შესრულებულია. 788 00:25:39,170 --> 00:25:43,900 >> ასე რომ, რაც ჩვენ უბრალოდ გაკეთდეს iteratively შერჩევის ერთ-ერთი ელემენტია შემდეგ სხვა 789 00:25:43,900 --> 00:25:47,230 არის განახორციელოს, რასაც ჩვენ ძალიან აპირებს გააფორმოს, როგორც შერჩევა ერთგვარი. 790 00:25:47,230 --> 00:25:49,120 და ეს ალბათ კი მარტივი ასახსნელია, 791 00:25:49,120 --> 00:25:51,310 რომ ფაქტიურად ყველა თქვენ გსურთ გააკეთოთ უბრალოდ შეინახოს 792 00:25:51,310 --> 00:25:54,700 ბრუნდება და მეოთხე მეშვეობით სიაში შერჩევის, მომდევნო პატარა ელემენტის, 793 00:25:54,700 --> 00:25:55,720 სანამ თქვენ გაკეთდეს. 794 00:25:55,720 --> 00:25:58,650 >> ასე რომ, ეს კი მარტივი, ალბათ ინტუიციურად, ვიდრე ბოლო. 795 00:25:58,650 --> 00:26:00,020 მოდით ცდილობენ ერთი ბოლო. 796 00:26:00,020 --> 00:26:03,060 თუ თქვენ ბიჭები აღადგინოთ საკუთარი თავი შევიდა შემდეგ თანამდებობებზე 797 00:26:03,060 --> 00:26:08,600 ერთი საბოლოო დრო, ვნახოთ, თუ ჩვენ არ შეგვიძლია ახლა formalize ერთი სხვა მიდგომა. 798 00:26:08,600 --> 00:26:12,857 ფაქტობრივად, ვინმე იქ მინდა შესთავაზოს 799 00:26:12,857 --> 00:26:14,440 როგორ სხვაგან ჩვენ შეიძლება წავიდეთ შესახებ ამით? 800 00:26:14,440 --> 00:26:17,439 გარეშე არიგებდა buzzwords ან სახის პასუხი, რომ უკვე ცნობილია, 801 00:26:17,439 --> 00:26:19,689 უბრალოდ ინტუიციურად, თუ რა უნდა გვექნა? 802 00:26:19,689 --> 00:26:21,635 >> აუდიტორია: [INAUDIBLE]. 803 00:26:21,635 --> 00:26:22,510 დევიდ ჯ Malan: ჰო. 804 00:26:22,510 --> 00:26:24,620 ასე რომ ზოგიერთი დიდი ინტუიცია არსებობს. 805 00:26:24,620 --> 00:26:28,020 კარგი რამ ჩანს, ხდება დღემდე კომპიუტერულ მეცნიერებაში, როდესაც ჩვენ გაყოფა 806 00:26:28,020 --> 00:26:30,832 და დაიპყროთ პრობლემა გამყოფი ის ნახევარზე და ნახევარი და ნახევარი. 807 00:26:30,832 --> 00:26:32,540 ასე რომ, რა თქმა უნდა, ჩვენ შეიძლება დაიწყოს, რომ. 808 00:26:32,540 --> 00:26:35,754 და ის ფაქტი, რომ იქნება, ჩვენ ხედავთ, ჩვენი ერთ-ერთი საუკეთესო გადაწყვეტილებები ამჟამად. 809 00:26:35,754 --> 00:26:37,420 მაგრამ მოდით, დაუბრუნდეს, რომ ხანგრძლივი. 810 00:26:37,420 --> 00:26:40,500 ფაქტობრივად, ჩვენ ვაპირებთ, რომ რომ ცოტა მოგვიანებით ამ კვირაში. 811 00:26:40,500 --> 00:26:42,180 რა შეიძლება გავაკეთოთ, რომ მოსაგვარებლად? 812 00:26:42,180 --> 00:26:44,647 ასე რომ ყველას აქ არის ერთი შეხედვით შემთხვევითი მიზნით. 813 00:26:44,647 --> 00:26:45,230 იცით რა? 814 00:26:45,230 --> 00:26:48,320 იმის ნაცვლად, უკან და მეოთხე, უკან და მეოთხე, უკან და მეოთხე 815 00:26:48,320 --> 00:26:50,624 ყოველ ჯერზე, ეს იგრძნობა მე ვაკეთებ ბევრი ფეხით. 816 00:26:50,624 --> 00:26:52,790 რატომ არ მხოლოდ იწყება დასაწყისში სია, 817 00:26:52,790 --> 00:26:54,960 და მხოლოდ ბოლო ოთხი, სადაც მას ეკუთვნის? 818 00:26:54,960 --> 00:26:59,680 ნება მომეცით, დავუშვათ მომენტში, რომ ჩემს სიაში მხოლოდ ამ პირველ ელემენტს. 819 00:26:59,680 --> 00:27:04,937 ოთხი დახარისხებული ამ მომენტში, თუ ყველა მე აინტერესებს ყველაფერი აქ? 820 00:27:04,937 --> 00:27:06,520 ეს არის ერთგვარი trivially ასეა, არა? 821 00:27:06,520 --> 00:27:10,000 მსგავსად სია, რომელიც შეიცავს ერთი ნომერი, და რომ ნომერი ოთხი აშკარად გადანაწილებული. 822 00:27:10,000 --> 00:27:13,070 >> ნება მომეცით, უბრალოდ ითვალისწინებს რომ ეს სია დალაგებულია. 823 00:27:13,070 --> 00:27:15,090 მაგრამ ახლა მე მაქვს დანარჩენი ამ სიაში. 824 00:27:15,090 --> 00:27:17,240 ასე რომ, ახლა მე ექმნებათ ორი. 825 00:27:17,240 --> 00:27:21,690 სად ორი აშკარად ეკუთვნის მიმართებაში ოთხი? 826 00:27:21,690 --> 00:27:22,580 სანამ ოთხი. 827 00:27:22,580 --> 00:27:23,862 ასე რომ, რა გავაკეთო აქ? 828 00:27:23,862 --> 00:27:24,820 რა არის შენი სახელი ისევ? 829 00:27:24,820 --> 00:27:25,090 >> JOSEPH: Joseph. 830 00:27:25,090 --> 00:27:26,030 >> დევიდ ჯ Malan: იოსები, თუ შეიძლება უკან დახევას 831 00:27:26,030 --> 00:27:27,790 მხოლოდ ერთი წუთით თქვენი ნომერი. 832 00:27:27,790 --> 00:27:31,130 და ახლა რა უნდა შტეფან აქ? 833 00:27:31,130 --> 00:27:33,720 მოდით გადაიტანოს შტეფან მეტი აქ. 834 00:27:33,720 --> 00:27:35,520 და ახლა, მოდით ჯოზეფ მოდის აქ. 835 00:27:35,520 --> 00:27:39,660 და ახლა, ნება მომეცით აცხადებენ, რომ აქ ყველაფერი დალაგებულია. 836 00:27:39,660 --> 00:27:42,474 ასე რომ, მსგავსი შედეგი, მაგრამ ფუნდამენტურად განსხვავებული მიდგომა. 837 00:27:42,474 --> 00:27:44,140 მე კი არ ჩანდა, რაც დახვდა. 838 00:27:44,140 --> 00:27:46,310 მე უბრალოდ შეინახოს აღების ელემენტები როგორც ისინი გადასცა ჩემთვის, 839 00:27:46,310 --> 00:27:47,240 და მათთან გამკლავება. 840 00:27:47,240 --> 00:27:48,330 >> ასე რომ, ახლა მე ვხედავ ნომერი ექვსი. 841 00:27:48,330 --> 00:27:51,110 სად ნომერი ექვსი ეკუთვნის? 842 00:27:51,110 --> 00:27:53,250 ჩვენ გვაქვს ორი, ოთხი, ექვსი. 843 00:27:53,250 --> 00:27:54,800 სწორედ იქ, სადაც ის არის ახლა. 844 00:27:54,800 --> 00:27:57,750 მოდით დატოვება, რომ მარტო, და ახლა ამტკიცებენ, რომ ეს ნაწილი სიაში 845 00:27:57,750 --> 00:27:58,772 არის გადანაწილებული. 846 00:27:58,772 --> 00:28:01,230 ასე რომ, ეს გრძნობს ფუნდამენტურად განსხვავებული, რომ მე მხოლოდ 847 00:28:01,230 --> 00:28:05,230 მოძრავი მეშვეობით სიაში აქ ხაზოვანი და მე არასოდეს გაორმაგდა უკან. 848 00:28:05,230 --> 00:28:05,730 დიახ. 849 00:28:05,730 --> 00:28:06,230 ყველა უფლება. 850 00:28:06,230 --> 00:28:08,190 ასე რომ, რვა, სადაც ხარ? 851 00:28:08,190 --> 00:28:08,730 სწორედ აქ. 852 00:28:08,730 --> 00:28:09,310 სრულყოფილი. 853 00:28:09,310 --> 00:28:10,210 ახლა, ერთი. 854 00:28:10,210 --> 00:28:10,900 Uh-oh. 855 00:28:10,900 --> 00:28:13,010 ეს იგრძნობა ეს იქნება ძვირი. 856 00:28:13,010 --> 00:28:15,690 ახლა, წინა ალგორითმი, მე უბრალოდ გაცვალეს ადამიანი. 857 00:28:15,690 --> 00:28:18,648 ასე რომ, მე, შესაძლოა, მას ყველა გზა დასაწყისში, მაგრამ შემდეგ გადავიდა იოსები. 858 00:28:18,648 --> 00:28:21,450 მაგრამ თუ მე გადაადგილება ჯოზეფ, ახლა რა იქნება არასწორი? 859 00:28:21,450 --> 00:28:24,250 >> ახლა, მე ერთგვარი undone-- მე მიღებული ერთი წინ გადადგმული ნაბიჯია და შემდეგ 860 00:28:24,250 --> 00:28:26,300 ერთი ნაბიჯი უკან, რადგან ახლა ჯოზეფ იქნება მწყობრიდან. 861 00:28:26,300 --> 00:28:26,830 ასე რომ, მოდით ეს. 862 00:28:26,830 --> 00:28:29,150 თუ თქვენ ვერ მიიღოს ნომერ და უკან დახევას რაღაც მომენტში. 863 00:28:29,150 --> 00:28:30,490 როგორ შეგვიძლია put-- რა იყო თქვენი სახელით კიდევ ერთხელ? 864 00:28:30,490 --> 00:28:31,130 >> ანანი: ანანმა. 865 00:28:31,130 --> 00:28:32,610 >> დევიდ ჯ Malan: ანანის ადგილი? 866 00:28:32,610 --> 00:28:36,091 რა უნდა მოხდეს რუსეთთან მიმართებაში ორი, ოთხი, ექვსი, რვა? 867 00:28:36,091 --> 00:28:37,570 ისინი ყველა უნდა გადაიტანოს. 868 00:28:37,570 --> 00:28:42,590 ასე რომ, თუ რვა მინდა გადაიტანოს პირველი, მაშინ ექვსი, მაშინ ოთხი, შემდეგ ორი. 869 00:28:42,590 --> 00:28:45,380 და მაშინ ანანი, თუ მინდა მინდა მოსვლა აქ, კარგი. 870 00:28:45,380 --> 00:28:47,760 მაგრამ აქ, ჩვენ მხოლოდ სახის გადახდილი ფასი 871 00:28:47,760 --> 00:28:49,510 სხვადასხვა წერტილი ალგორითმი. 872 00:28:49,510 --> 00:28:52,550 ვინაიდან ბოლო დროს შერჩევა დალაგების, და კიდევ bubble sort, 873 00:28:52,550 --> 00:28:54,700 მე ფეხით უკან და მეოთხე, უკან და მეოთხე, 874 00:28:54,700 --> 00:28:58,360 რომელიც რა თქმა უნდა დასძინა მდე დროის ბრძენი, და ფაქტიურად ეტაპობრივად. 875 00:28:58,360 --> 00:29:00,660 >> Insertion დალაგების, პირველ რიგში, ერთი შეხედვით, ჰგავს ეს 876 00:29:00,660 --> 00:29:05,150 სუპერ ჭკვიანია, რომ მე მხოლოდ მიღების ნელი, დამატებითი პროგრესის, 877 00:29:05,150 --> 00:29:07,120 მაგრამ მე არ ვაპირებ ამ უკან და მეოთხე. 878 00:29:07,120 --> 00:29:09,410 მაგრამ თუ ვინმე მართლაც მწყობრიდან, ცნობა 879 00:29:09,410 --> 00:29:10,840 ყველა ნაწარმოების მე მქონდა უნდა გააკეთოს. 880 00:29:10,840 --> 00:29:14,750 მე უნდა გადავიდეს ნახევარში სია უბრალოდ, რათა ოთახი ნომერ პირველი. 881 00:29:14,750 --> 00:29:16,790 ასე რომ, ეს იგივე თანხა სამუშაო დღემდე ეს 882 00:29:16,790 --> 00:29:18,690 გრძნობს, უბრალოდ სხვადასხვა ტიპის მუშაობა. 883 00:29:18,690 --> 00:29:19,370 >> მოდით, გავაგრძელოთ. 884 00:29:19,370 --> 00:29:22,657 ახლა ჩვენ ვიცით, რომ ყველას ერთიდან რვა დახარისხებული. 885 00:29:22,657 --> 00:29:23,740 აქ, მე მაქვს ნომერი სამი. 886 00:29:23,740 --> 00:29:25,864 თუ გსურთ შეარჩიო ნომერი სამი, უკან დახევას ერთი. 887 00:29:25,864 --> 00:29:28,260 და რა ბიჭები უნდა გავაკეთოთ? 888 00:29:28,260 --> 00:29:28,760 Yep. 889 00:29:28,760 --> 00:29:33,070 ასე რომ, კიდევ ერთი, ორი, სამი ნაბიჯი. 890 00:29:33,070 --> 00:29:36,010 სამი ერთეული დრო, რომ მხოლოდ ეღირება ჩემთვის, ისე, რომ სამი შეიძლება ახლა შეესაბამება. 891 00:29:36,010 --> 00:29:37,460 და ბოლოს, შვიდი. 892 00:29:37,460 --> 00:29:39,730 >> მოდით წავიდეთ წინ და თქვენ მიიღოს უკან გადადგმული ნაბიჯია. 893 00:29:39,730 --> 00:29:42,780 ეს არის მხოლოდ აპირებს ეღირება us ერთი ერთეული დრო, მაგრამ რომ კარგადაა. 894 00:29:42,780 --> 00:29:44,170 და ახლა, ხუთი აპირებს იყოს ცოტა უფრო ძვირი. 895 00:29:44,170 --> 00:29:45,340 თუ გსურთ, რომ უკან დახევას. 896 00:29:45,340 --> 00:29:48,380 ჩვენ უნდა გადავიდეს რვა, და შვიდი და ექვსი. 897 00:29:48,380 --> 00:29:50,749 და მაშინ ყველას არის გადანაწილებული. 898 00:29:50,749 --> 00:29:52,290 ასე რომ, დიდი ხელი ჩვენი მოხალისეები აქ. 899 00:29:52,290 --> 00:29:53,554 დიდი მადლობა. 900 00:29:53,554 --> 00:29:56,220 >> [ტაში] 901 00:29:56,220 --> 00:29:56,860 >> დიდი მადლობა. 902 00:29:56,860 --> 00:29:57,520 დიდი მადლობა. 903 00:29:57,520 --> 00:30:02,940 მოდით ვნახოთ, ახლა, თუ რამდენად ძვირადღირებული ყველა რომ იყო. 904 00:30:02,940 --> 00:30:06,210 მოდით, განვიხილოთ, ალბათ, უმარტივესი ამ, bubble sort. 905 00:30:06,210 --> 00:30:09,950 და მე ვიტყვი, მარტივი, მხოლოდ იმიტომ, რომ თქვენ შეგიძლიათ გადაწყვიტოს იგი ხარბად მხოლოდ 906 00:30:09,950 --> 00:30:11,660 დაფიქსირება ბიტოპოლოგიური პრობლემა აქ. 907 00:30:11,660 --> 00:30:13,720 ფიქსის ბიტოპოლოგიური პრობლემა აქ, ისევ და ისევ 908 00:30:13,720 --> 00:30:17,680 და ისევ იმეორებს, როგორც ბევრი ჯერ, როგორც თქვენ ნამდვილად უნდა. 909 00:30:17,680 --> 00:30:21,050 >> გამოდის, რომ ერთად bubble sort, ასევე, 910 00:30:21,050 --> 00:30:25,820 რამდენი ნაბიჯები მე უნდა მიიღოს პირველი უღელტეხილზე რომ ალგორითმი? 911 00:30:25,820 --> 00:30:30,850 მე შეიძლება take-- მოდით see-- ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი, შვიდი. 912 00:30:30,850 --> 00:30:32,190 და იქ რვა ელემენტებს აქ. 913 00:30:32,190 --> 00:30:35,280 ასე რომ, ო მინუს 1 ნაბიჯები, რათა მიიღონ დასაწყისში სიაში 914 00:30:35,280 --> 00:30:36,380 ბოლომდე სიაში. 915 00:30:36,380 --> 00:30:41,350 >> მაგრამ შერჩევის დალაგების, გავიხსენოთ, რომ მე ვარ შერჩევის ელემენტები ისევ და ისევ 916 00:30:41,350 --> 00:30:44,590 და ისევ, ეს არის პატარა, მე აყენებს ის ადგილი, 917 00:30:44,590 --> 00:30:46,616 მაგრამ მაშინ მე არ ვარ ეძებს ჩემს უკან კიდევ ერთხელ. 918 00:30:46,616 --> 00:30:49,490 ასე რომ, მე ვფიქრობ, რომ ეს უფრო ნათელი შემდეგ, რომ პირველად, მე შეიძლება 919 00:30:49,490 --> 00:30:52,680 უნდა მიიღოს ყველა ო მინუს 1 ნაბიჯები იპოვოს პატარა ელემენტს. 920 00:30:52,680 --> 00:30:55,920 მერე დააყენა მათ ადგილზე, და მე გამოსახლება ვინც იყო აქ ადრე. 921 00:30:55,920 --> 00:30:57,500 >> მაგრამ მაშინ მე არ უნდა შენარჩუნება ეძებს ამ ელემენტის, 922 00:30:57,500 --> 00:30:59,040 იმიტომ, რომ მე ვიცი, რომ ეს უკვე პატარა. 923 00:30:59,040 --> 00:31:01,581 ასე რომ, ახლა შემიძლია შევხედოთ მხოლოდ შვიდი ელემენტები, მაშინ ექვსი ელემენტები, 924 00:31:01,581 --> 00:31:03,290 ხუთ ელემენტები, მაშინ ოთხი ელემენტები. 925 00:31:03,290 --> 00:31:06,900 ასე რომ, მათემატიკურად, თუ ო რიგი ელემენტები და ციფრები 926 00:31:06,900 --> 00:31:11,990 რომ ჩვენ დავიწყეთ, თქვენ წარმოიდგინეთ, რომ ეს არის იგივე, რაც n მინუს 1, 927 00:31:11,990 --> 00:31:14,250 პლუს N -2 ნაბიჯები, პლუს n მინუს 3 ნაბიჯები, 928 00:31:14,250 --> 00:31:16,780 პლუს n მინუს 4 ნაბიჯი, ყველა გზა ქვემოთ მხოლოდ ერთი ნაბიჯი. 929 00:31:16,780 --> 00:31:18,160 და მე ჩემს ბოლო პირი. 930 00:31:18,160 --> 00:31:20,650 >> და თუ გავიხსენებთ, რომ ბევრი საქართველოს სტატისტიკის წიგნები და მათემატიკის წიგნი 931 00:31:20,650 --> 00:31:24,730 აქვს იმ ფორმულები hardcover წინა ან უკანა მათ, 932 00:31:24,730 --> 00:31:27,690 გამოდის, რომ ამ სერიის შეიძლება გამოიხატოს უფრო მარტივად 933 00:31:27,690 --> 00:31:28,857 როგორც N ჯერ N მინუს 1 2. 934 00:31:28,857 --> 00:31:31,273 და ეს ჯარიმა, თუ ეს არ არის ბერკეტები თქვენი გონება. 935 00:31:31,273 --> 00:31:32,420 მაგრამ ეს მართლაც ასეა. 936 00:31:32,420 --> 00:31:34,449 ეს უბრალოდ მარტივი გზა წერის იგი. 937 00:31:34,449 --> 00:31:36,240 და მაშინ, თუ თქვენ ფიქრობთ უკან კლასის სკოლის 938 00:31:36,240 --> 00:31:38,698 როდესაც თქვენ უბრალოდ დავიწყებთ გამრავლებით ნივთების, ეს, რა თქმა უნდა, 939 00:31:38,698 --> 00:31:41,820 მხოლოდ n კვადრატში ო იყოფა 2. 940 00:31:41,820 --> 00:31:44,772 ყველა მე ვაკეთებ გაფართოება გამონათქვამები არსებობს. 941 00:31:44,772 --> 00:31:46,730 და მოდით ეს გადავწერო ცოტა განსხვავებულად. 942 00:31:46,730 --> 00:31:49,780 ეს n კვადრატი გაყოფილი 2 მინუს N / 2. 943 00:31:49,780 --> 00:31:53,270 >> ასე რომ კიდევ ერთხელ, მე უბრალოდ სახის გამოყენების ზოგიერთი არითმეტიკული მართავს იქ. 944 00:31:53,270 --> 00:31:57,140 მაგრამ შეამჩნია, ახლა, რომ ყველაზე დიდი ვადით ამ გამოხატვის, ასე ვთქვათ, 945 00:31:57,140 --> 00:31:58,540 ის არის, რომ n კვადრატში. 946 00:31:58,540 --> 00:32:02,910 ასე რომ, დიახ, ეს n კვადრატში გაყოფილი 2, მინუს N / 2. 947 00:32:02,910 --> 00:32:05,080 >> მაგრამ ზოგადად, თუ n იქნება დიდი მნიშვნელობა, 948 00:32:05,080 --> 00:32:08,740 მე ვაპირებ აცხადებენ, რომ n კვადრატში იქნება დომინანტური ფაქტორია. 949 00:32:08,740 --> 00:32:10,490 ეს იქნება დიდი წვლილი 950 00:32:10,490 --> 00:32:12,877 რაოდენობის ნაბიჯები, ვიდრე n / 2. 951 00:32:12,877 --> 00:32:13,960 ასე რომ, რას ნიშნავს ეს? 952 00:32:13,960 --> 00:32:16,795 მოდით ცდილობენ მარტივი მაგალითია, თუნდაც მიუხედავად იმისა, რომ მათემატიკის იღებს ცოტა დიდი. 953 00:32:16,795 --> 00:32:20,210 >> ასე რომ, დავუშვათ, რომ ჩვენ გვქონდა 1 მილიონი ადამიანი სცენაზე, და 1 მილიონი რამ 954 00:32:20,210 --> 00:32:21,320 ჩვენ გვინდა, რომ დასალაგებლად. 955 00:32:21,320 --> 00:32:23,730 მოდით plug მილიონი შევიდა ზუსტად, რომ ფორმულა 956 00:32:23,730 --> 00:32:27,230 იმისათვის, რომ ნახოთ რამდენი ნაბიჯები იგი იღებს სულ დასალაგებლად მილიონი ელემენტების გამოყენებით ვთქვათ, 957 00:32:27,230 --> 00:32:28,560 შერჩევა ერთგვარი. 958 00:32:28,560 --> 00:32:30,760 >> ასე რომ, ჩვენ გვექნება იგივე ფორმულა, როგორც ადრე. 959 00:32:30,760 --> 00:32:34,120 მე შეაერთედ მილიონი, ასე, რომ მე მილიონი კვადრატი გაყოფილი 2, 960 00:32:34,120 --> 00:32:35,990 მინუს მილიონი გაყოფილი 2. 961 00:32:35,990 --> 00:32:40,180 თუ რომ მათემატიკის წინასწარ აქ, ჩვენ გვაქვს 500 მილიარდი 962 00:32:40,180 --> 00:32:47,460 მინუს 500,000, რომელიც გვაძლევს 499.999.500.000, 963 00:32:47,460 --> 00:32:49,270 რომელიც საკმაოდ darn დიდი. 964 00:32:49,270 --> 00:32:54,370 >> სინამდვილეში, თუ შევადარებთ ახლა 499 მილიარდი, 999 მილიონი აშშ დოლარი, 965 00:32:54,370 --> 00:33:01,210 500,000 წინააღმდეგ ჩვენი ორიგინალური ღირებულება, 500 მილიარდი, ეს ასე რა ახლოს. 966 00:33:01,210 --> 00:33:06,850 მარჯვენა? n კვადრატი გაყოფილი 2 აძლევს us-- უფრო სწორად, n კვადრატი გაყოფილი 2 967 00:33:06,850 --> 00:33:08,370 მოგვცა 500 მილიარდი. 968 00:33:08,370 --> 00:33:13,510 ეს არის საკმაოდ darn ახლოს to 499.999.500.000, 969 00:33:13,510 --> 00:33:17,970 რაც უნდა ითქვას, გამოკლება off 500,000 ან უფრო ზოგადად, გამოკლება off 970 00:33:17,970 --> 00:33:20,010 N კვადრატში, ნამდვილად არ არის დიდი გარიგება. 971 00:33:20,010 --> 00:33:22,490 N კვადრატში რაც ამ ნომრები იზრდება ძალიან სწრაფად. 972 00:33:22,490 --> 00:33:25,790 >> ახლა, ეს არის მნიშვნელოვანი მხოლოდ იმ შემთხვევაში, როგორც ჩვენ, როგორც კომპიუტერული მეცნიერების, 973 00:33:25,790 --> 00:33:29,350 ზოგადად არ ვაპირებთ ზრუნვა იმდენად ნიუანსი ამ ფორმულები 974 00:33:29,350 --> 00:33:31,400 და ზუსტად რა ზუსტი პასუხი. 975 00:33:31,400 --> 00:33:33,390 ჩვენ ვზრუნავთ მხოლოდ, რომ თქვენ იცით, რა? 976 00:33:33,390 --> 00:33:37,810 ბოლოს დღეს, ეს ფორმულა არის ბრძანებით n კვადრატში. 977 00:33:37,810 --> 00:33:39,350 >> დიახ, ჩვენ ვყოფთ 2 არსებობს. 978 00:33:39,350 --> 00:33:41,360 დიახ, ჩვენ ვაკლებთ off n-2. 979 00:33:41,360 --> 00:33:46,860 თუმცა, დღის ბოლოს, ტერმინი რომ გტკივა ჩვენთვის და გვიჯდება 980 00:33:46,860 --> 00:33:48,995 ბევრი ნაბიჯები, რომ მოედანზე ვადით. 981 00:33:48,995 --> 00:33:51,370 ასე რომ, რა კომპიუტერის მეცნიერი აპირებს ზოგადად 982 00:33:51,370 --> 00:33:54,160 არის იგნორირება ყველა იმ პატარა წესრიგის თვალსაზრისით, 983 00:33:54,160 --> 00:33:56,900 და შევჩერდეთ ერთი, რომ ხელს უწყობს ყველაზე ღირებულება. 984 00:33:56,900 --> 00:34:00,530 >> და ეს კარგია, იმიტომ, რომ ჩვენ შეუძლია ახლა გაიგო ბევრად უფრო ზოგადი 985 00:34:00,530 --> 00:34:02,470 შესახებ ალგორითმები, და შეგიძლიათ შეადაროთ მათ. 986 00:34:02,470 --> 00:34:04,550 ხოლო ის ფაქტი, რომ მე ვარ გამოყენებით ამ O არის მიზანმიმართული. 987 00:34:04,550 --> 00:34:06,680 როდესაც ვამბობ ბრძანებით საქართველოს, მე კონკრეტულად 988 00:34:06,680 --> 00:34:09,560 გულისხმობდა რაღაც მოუწოდა დიდი ო და დიდი O 989 00:34:09,560 --> 00:34:14,090 არის ნოტაცია, რომ კომპიუტერი მეცნიერი აღსაწერად 990 00:34:14,090 --> 00:34:16,710 ზედა შეკრული რაღაც. 991 00:34:16,710 --> 00:34:21,150 >> ასე რომ, თუ ვიტყვით, რომ ალგორითმი არის დიდი O of n კვადრატში, 992 00:34:21,150 --> 00:34:23,380 როგორც მე შევთავაზე მხოლოდ მომენტში წინ, რომ საშუალება 993 00:34:23,380 --> 00:34:27,710 რომ ამ თვალსაზრისით მისი გაშვებული დრო და მისი ეფექტურობის, 994 00:34:27,710 --> 00:34:30,090 ის იღებს ბრძანებით N კვადრატში ნაბიჯები. 995 00:34:30,090 --> 00:34:31,420 იქნებ უფრო, იქნებ ნაკლები. 996 00:34:31,420 --> 00:34:33,435 მაგრამ ეს ბრძანებით n კვადრატში. 997 00:34:33,435 --> 00:34:34,560 და ეს არის ზედა ზღვარი. 998 00:34:34,560 --> 00:34:36,530 ეს არ იქნება უფრო მტკივნეული, ვიდრე. 999 00:34:36,530 --> 00:34:40,800 ეს არ იქნება N კუბი, ან 2 ო, ან რაღაც გაცილებით დიდია. 1000 00:34:40,800 --> 00:34:43,800 ეს არის ზედა ზღვარი რაც არ უნდა, რომ ღირებულება. 1001 00:34:43,800 --> 00:34:46,150 ასე რომ, თუ გავითვალისწინებთ, რომ, მოდით განვიხილოთ რამდენიმე მაგალითი. 1002 00:34:46,150 --> 00:34:49,820 და ეს მხოლოდ სასრულ სია ძალიან საერთო გაშვებული ჯერ 1003 00:34:49,820 --> 00:34:52,870 ამისთვის ალგორითმები, ნიშნავს, რომ საილუსტრაციო ზოგიერთი რამ, რომ ჩვენ 1004 00:34:52,870 --> 00:34:53,600 ჩანს უკვე. 1005 00:34:53,600 --> 00:34:58,060 >> ასე მაგალითად, იმ შემთხვევაში, შერჩევის დალაგების, რაც მე აცხადებდნენ აქ 1006 00:34:58,060 --> 00:35:02,250 ის არის, რომ შერჩევის დალაგების გაშვებული დრო ბრძანებით n კვადრატში. 1007 00:35:02,250 --> 00:35:06,260 უარეს შემთხვევაში, მე ვაპირებ აქვს მთელი bunch of შემთხვევითი ნომრები აქ. 1008 00:35:06,260 --> 00:35:08,600 და როგორც ჩვენ ვნახეთ მათემატიკურად, თუ მე ივლით 1009 00:35:08,600 --> 00:35:11,310 მეშვეობით სიაში მეშვეობით სია, შერჩევის შემდეგი ყველაზე პატარა 1010 00:35:11,310 --> 00:35:14,410 ელემენტი ისევ და ისევ, თუ მე რეალურად დაწერეთ ყველა ნაბიჯები 1011 00:35:14,410 --> 00:35:18,750 მე აღების, როგორც მე შევთავაზე formulaically ადრე, ეს ბრძანებით n კვადრატში 1012 00:35:18,750 --> 00:35:20,370 ნაბიჯები, რომ მე აღების. 1013 00:35:20,370 --> 00:35:24,520 >> და აღმოჩნდება, რომ ბუშტი დალაგება და Insertion დალაგების 1014 00:35:24,520 --> 00:35:27,370 ისევე, როგორც ნელი უარეს შემთხვევაში. 1015 00:35:27,370 --> 00:35:32,040 განვიხილოთ, მაგალითად, Insertion დალაგების, ძალიან ბოლო ალგორითმი ჩვენ განხილული, 1016 00:35:32,040 --> 00:35:35,500 რაც ჰქონდა შევხედოთ ელემენტს, და შემდეგ ჩადეთ მას, სადაც მას ეკუთვნის. 1017 00:35:35,500 --> 00:35:38,720 და მაშინ ჩვენ შევხედე შემდეგი ელემენტის, და შეიყვანეს, სადაც მას ეკუთვნის. 1018 00:35:38,720 --> 00:35:40,990 >> ამიტომ მიგვაჩნია, რომ საუკეთესო სცენარი. 1019 00:35:40,990 --> 00:35:45,590 დავუშვათ, რომ მე მქონდა ჩემი მოხალისეები გამოდიან ფაქტიურად, როგორც ეს, ერთი გზით რვა, 1020 00:35:45,590 --> 00:35:47,440 უკვე გადანაწილებული. 1021 00:35:47,440 --> 00:35:51,300 რამდენი ნაბიჯები არის Insertion დალაგების აპირებს დასალაგებლად რვა ადამიანი, 1022 00:35:51,300 --> 00:35:55,640 იმ შემთხვევაში, თუ ისინი მიაღწევენ სცენაზე ეძებს მოსწონს ეს? 1023 00:35:55,640 --> 00:35:57,410 >> რვა ადამიანი უკვე გადანაწილებული. 1024 00:35:57,410 --> 00:35:58,760 და მე Insertion დალაგების. 1025 00:35:58,760 --> 00:36:02,180 ეს ბოლო ალგორითმები. 1026 00:36:02,180 --> 00:36:03,640 ისე, მოდით reenact რეალური სწრაფად. 1027 00:36:03,640 --> 00:36:05,504 ასე რომ, თუ მე აქ იწყება ვხედავ. 1028 00:36:05,504 --> 00:36:06,420 სად ერთი ეკუთვნის? 1029 00:36:06,420 --> 00:36:07,730 ეკუთვნის უფლება აქ. 1030 00:36:07,730 --> 00:36:08,330 მე ვხედავ ორი. 1031 00:36:08,330 --> 00:36:09,660 სად ორი ეკუთვნის? 1032 00:36:09,660 --> 00:36:10,260 სწორედ აქ. 1033 00:36:10,260 --> 00:36:10,900 მე ვხედავ სამი. 1034 00:36:10,900 --> 00:36:11,920 სად სამი ეკუთვნის? 1035 00:36:11,920 --> 00:36:12,480 სწორედ აქ. 1036 00:36:12,480 --> 00:36:13,100 >> მე ვხედავ ოთხ. 1037 00:36:13,100 --> 00:36:13,600 სწორედ აქ. 1038 00:36:13,600 --> 00:36:15,660 ხუთი, ექვსი, შვიდი, რვა. 1039 00:36:15,660 --> 00:36:17,320 არ არსებობს მიზეზი, რომ გავიმეორებ. 1040 00:36:17,320 --> 00:36:21,260 ასე რომ, რამდენი ნაბიჯები არის, რომ ამ თვალსაზრისით ო? 1041 00:36:21,260 --> 00:36:23,870 ეს ბრძანებით n ნაბიჯები, არა? ო მინუს 1. 1042 00:36:23,870 --> 00:36:27,567 მაგრამ მე წრფივი ნაბიჯები, და ახლა მე გაკეთდეს. 1043 00:36:27,567 --> 00:36:28,900 ასე რომ, საუკეთესო შემთხვევაში, თუმცა. 1044 00:36:28,900 --> 00:36:29,983 რაც შეეხება ცუდ შემთხვევაში? 1045 00:36:29,983 --> 00:36:32,730 რა რვა იქ, და შვიდი ქვემოთ იქ, 1046 00:36:32,730 --> 00:36:35,840 და ერთი და ორი აქ, ასე რომ რომ სიაში მართლაც შეცვალა? 1047 00:36:35,840 --> 00:36:38,300 >> ისე, სინამდვილეში რა ხდება თუ ეს არის ნომერი? 1048 00:36:38,300 --> 00:36:41,300 და ჩვენ ყველაფერს გავაკეთებთ, მხოლოდ რამდენიმე მაგალითი. 1049 00:36:41,300 --> 00:36:49,300 რა მოხდება, თუ, რა თქმა უნდა, რვა აქ არის, და რიცხვი whoops. 1050 00:36:49,300 --> 00:36:52,660 1051 00:36:52,660 --> 00:36:56,430 მერე რა, თუ, რა თქმა უნდა, ნომერი რვა არის ყველა გზა აქ, 1052 00:36:56,430 --> 00:36:57,790 და მე გამოყენებით ჩანართი დალაგების? 1053 00:36:57,790 --> 00:36:58,290 >> OK. 1054 00:36:58,290 --> 00:37:00,280 I აცხადებენ, ამ ეტაპზე ეს არის ადგილი. 1055 00:37:00,280 --> 00:37:03,152 მაგრამ ახლა, seven-- სადაც ჯერ შვიდი წავიდეთ? 1056 00:37:03,152 --> 00:37:04,360 რა თქმა უნდა, მიდის აქ. 1057 00:37:04,360 --> 00:37:06,760 ასე რომ, მე უნდა გადავიდეს რვა მეტი ერთ ადგილას. 1058 00:37:06,760 --> 00:37:08,554 ახლა ექვსი, სად წავიდეს? 1059 00:37:08,554 --> 00:37:09,220 ისე, ყველა უფლება. 1060 00:37:09,220 --> 00:37:13,150 ახლა, მე უნდა გადავიდეს რვა მეტი ადგილი, და შვიდი მეტი ადგილი, 1061 00:37:13,150 --> 00:37:14,440 და მერე ვეცემით ექვსი. 1062 00:37:14,440 --> 00:37:16,870 >> ასე რომ, პირველად, ღირებულება მე ერთი ნაბიჯით დაფიქსირება რამ, 1063 00:37:16,870 --> 00:37:18,570 მაშინ ღირს ჩემთვის ორი ნაბიჯი დაფიქსირება რამ. 1064 00:37:18,570 --> 00:37:20,370 რამდენი ნაბიჯები არის ეს აპირებს დაფიქსირება 1065 00:37:20,370 --> 00:37:22,720 რამ დააყენა ხუთ ადგილას? 1066 00:37:22,720 --> 00:37:23,340 სამი. 1067 00:37:23,340 --> 00:37:29,520 იმის გამო, რომ, ახლა მე მაქვს გადაადგილება ერთი, ორი, სამი. 1068 00:37:29,520 --> 00:37:32,430 რამდენი ნაბიჯების იგი აპირებს იმისათვის, რომ ოთხი ადგილას? 1069 00:37:32,430 --> 00:37:36,040 4 + 5 + 6, პლიუს 7. 1070 00:37:36,040 --> 00:37:40,260 >> ასე რომ, ეს მათემატიკურად იდენტურია ის, რაც ჩვენ აღწერილი შერჩევა ერთგვარი. 1071 00:37:40,260 --> 00:37:42,130 ჩვენ გვყავს ამ სერიის ეს მხოლოდ გაზრდის. 1072 00:37:42,130 --> 00:37:45,650 1 + 2 + 3 + 4, ან პირიქით, 7 + 6 1073 00:37:45,650 --> 00:37:52,610 + 5 პლუს 4 დასძენს მდე დღევანდელი მიზნებისათვის, ბრძანებით n კვადრატში. 1074 00:37:52,610 --> 00:37:57,640 >> ნება მომეცით, ითვალისწინებს, რომ ძალიან bubble sort ასევე n კვადრატში. 1075 00:37:57,640 --> 00:38:01,340 იმის გამო, რომ bubble sort, თითოეული დროს მე გავლა სიაში, 1076 00:38:01,340 --> 00:38:03,100 მე აღების დაახლოებით რამდენი ნაბიჯები? 1077 00:38:03,100 --> 00:38:06,260 ყოველ ჯერზე მე ფაქტიურად ფეხით არ არსებობს? 1078 00:38:06,260 --> 00:38:07,960 დაახლოებით ო ნაბიჯები. 1079 00:38:07,960 --> 00:38:12,650 მაგრამ რამდენჯერ შეიძლება მე უნდა გაიაროს სიაში? 1080 00:38:12,650 --> 00:38:13,920 >> ისე, უხეშად n დროს. 1081 00:38:13,920 --> 00:38:15,680 იქნებ n მინუს 1, მაგრამ უხეშად N ჯერ. 1082 00:38:15,680 --> 00:38:16,430 ისე, რატომ არის, რომ? 1083 00:38:16,430 --> 00:38:19,560 ისე, bubble sort, თუ ჩვენ დავიწყებთ bubble sort, 1084 00:38:19,560 --> 00:38:23,570 სია ყველაზე უარესი სიტუაცია, რომელიც ისევ სრულიად 1085 00:38:23,570 --> 00:38:25,550 უკან, რა მოხდება? 1086 00:38:25,550 --> 00:38:28,830 მე გავლა სიაში და ნომერი ერთი ეკუთვნის ყველა გზა იქ. 1087 00:38:28,830 --> 00:38:33,280 >> მაგრამ bubble sort, თუ რამდენად შორს ჯერ ერთი გადაადგილება ჩემი პირველი გადის სიაში? 1088 00:38:33,280 --> 00:38:36,620 რამდენი ლაქების მან მიიღოს ახლოს სწორი ადგილი? 1089 00:38:36,620 --> 00:38:37,240 მხოლოდ ერთი. 1090 00:38:37,240 --> 00:38:40,281 ასე რომ, თუ სახის მიზეზი ამ გზით, ყოველ დროს, ეს ალგორითმი, 1091 00:38:40,281 --> 00:38:41,880 დავით აღების უხეშად N ნაბიჯები. 1092 00:38:41,880 --> 00:38:44,940 მაგრამ რამდენი გადის მეშვეობით სიაში არის ის, 1093 00:38:44,940 --> 00:38:49,060 აპირებს ერთი ბუშტი რომ მარცხნივ, სადაც მას ეკუთვნის? 1094 00:38:49,060 --> 00:38:51,840 >> მან მიიღო გადაადგილება, როგორიცაა, n ფართები ამ გზით. 1095 00:38:51,840 --> 00:38:57,960 ასე რომ მხოლოდ ამის დახარისხება სიაში, მაქვს ფეხით უკან და მეოთხე N ჯერ. 1096 00:38:57,960 --> 00:39:01,540 და ყოველ ჯერზე, მე ვარ ეძებს n ელემენტებს. 1097 00:39:01,540 --> 00:39:05,410 ასე რომ, n რამ ო ჯერ ბრძანებით n კვადრატში. 1098 00:39:05,410 --> 00:39:07,220 >> ახლა, ჩვენ ვხედავთ ზოგიერთ შორტები რომ 1099 00:39:07,220 --> 00:39:10,440 ჩართული CS50 შემდეგი პრობლემა მითითებული, მეორე მიდგომა ამ, 1100 00:39:10,440 --> 00:39:13,490 მაგრამ ახლა, მოდით, უბრალოდ მიგვაჩნია ზოგიერთი სხვა გაშვებული ჯერ, 1101 00:39:13,490 --> 00:39:16,840 მით უმეტეს, თუ დახარისხება პირობა მიიღოს ცოტა დრო ჩაძირვაში. 1102 00:39:16,840 --> 00:39:21,790 რა არის ალგორითმი ჩვენ ვნახეთ უკვე რომ იღებს ბრძანებით N ნაბიჯები? 1103 00:39:21,790 --> 00:39:27,560 >> რა უნდა მიიღოს წრფივი ნაბიჯები, რომლებიც ჩვენ ვნახეთ დღემდე? 1104 00:39:27,560 --> 00:39:29,350 რა არის ეს? 1105 00:39:29,350 --> 00:39:30,480 სატელეფონო ცნობარი ძებნა. 1106 00:39:30,480 --> 00:39:31,390 პირველი ალგორითმი. 1107 00:39:31,390 --> 00:39:31,560 მარჯვენა? 1108 00:39:31,560 --> 00:39:33,650 სადაც ჩვენ ვართ ხაზოვანი ეძებს მაიკ სმიტი? 1109 00:39:33,650 --> 00:39:34,150 მართლაც. 1110 00:39:34,150 --> 00:39:37,180 კვირაში ნულოვანი, როცა დაიწყო გარდამტეხი ერთ გვერდზე დროს, 1111 00:39:37,180 --> 00:39:40,095 და მე კი განაცხადა, რომ ეს იყო ერთგვარი წრფივი განცდა ალგორითმი, 1112 00:39:40,095 --> 00:39:42,720 და ჩვენ გვქონდა, რომ სურათზე გამგეობის პირდაპირ წითელი ხაზი 1113 00:39:42,720 --> 00:39:44,678 და სწორი ყვითელი ხაზი, ეს იყო მართლაც 1114 00:39:44,678 --> 00:39:46,810 ალგორითმები, რომლებიც დიდი ო ო. 1115 00:39:46,810 --> 00:39:50,680 >> იმის გამო, რომ იპოვოს მაიკ სმიტი სატელეფონო წიგნი n გვერდებზე, უარეს შემთხვევაში, 1116 00:39:50,680 --> 00:39:52,422 შეიძლება მიიღოს ჩემთვის N ნაბიჯები. 1117 00:39:52,422 --> 00:39:53,630 რაც შეეხება მიღების დასწრება? 1118 00:39:53,630 --> 00:39:55,790 ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი. 1119 00:39:55,790 --> 00:39:59,420 რა არის ქრონომეტრაჟი ამ ალგორითმი აღების დასწრება? 1120 00:39:59,420 --> 00:40:03,070 დიდი ო ო, რადგან თეორიულად მე უნდა აღვნიშნო, ყველას ოთახში. 1121 00:40:03,070 --> 00:40:05,861 >> ახლა, როგორც განზე, რაც შეეხება სხვა ოპტიმიზაცია კვირაში ნულოვანი? 1122 00:40:05,861 --> 00:40:08,117 ორი, ოთხი, ექვსი, რვა, 10, 12. 1123 00:40:08,117 --> 00:40:10,200 კომპიუტერული მეცნიერი იქნებოდა გააცნობიეროს, დაველოდოთ წუთში, 1124 00:40:10,200 --> 00:40:12,320 რომ არის ბრძანებით N დაყოფილი ორი ნაბიჯი. 1125 00:40:12,320 --> 00:40:12,820 მარჯვენა? 1126 00:40:12,820 --> 00:40:14,444 იმის გამო, რომ მე ვაკეთებ ორი ადამიანი დროს. 1127 00:40:14,444 --> 00:40:17,015 მაგრამ ჩვენ ვაპირებთ იგნორირება იმ ქვედა წესრიგის თვალსაზრისით, 1128 00:40:17,015 --> 00:40:19,140 და ჩვენ უბრალოდ აპირებს გადაყარეთ გაყოფა 2, 1129 00:40:19,140 --> 00:40:21,830 და უბრალოდ ამბობენ, დიდი ო ო რომ ალგორითმი ისევე. 1130 00:40:21,830 --> 00:40:22,760 >> რა ამ ერთი? 1131 00:40:22,760 --> 00:40:26,170 ჩვენ გამოტოვოთ ზოგიერთი, მაგრამ რა იყო ალგორითმი, რომელიც იყო ჟურნალი ო? 1132 00:40:26,170 --> 00:40:29,900 რომ აიღო უხეშად შესვლა N ნაბიჯები? 1133 00:40:29,900 --> 00:40:30,870 გათიშე და დაიპყროთ. 1134 00:40:30,870 --> 00:40:31,369 ზუსტად. 1135 00:40:31,369 --> 00:40:33,900 ისევე როგორც სატელეფონო წიგნი მაგალითად კვირაში ნულოვანი და დღეს, 1136 00:40:33,900 --> 00:40:36,191 სადაც ჩვენ გაყოფილი პრობლემა ისევ და ისევ და ისევ. 1137 00:40:36,191 --> 00:40:39,070 ჩვენ მიიპყრო მას ფორუმში კვირაში ნულოვანი როგორც curved მწვანე ხაზი, 1138 00:40:39,070 --> 00:40:41,460 და ჩვენ ვთქვით, რომ დღეს ეს იყო ლოგარითმული ალგორითმი. 1139 00:40:41,460 --> 00:40:44,970 >> მართლაც, რიგი ზომების იგი სჭირდება შეასრულოს გათიშე და იბატონეს 1140 00:40:44,970 --> 00:40:48,610 ან ორობითი ძებნის დავიწყებთ უწოდა, როგორც სატელეფონო წიგნი, 1141 00:40:48,610 --> 00:40:50,680 არის ბრძანებით შესვლა და ნაბიჯები. 1142 00:40:50,680 --> 00:40:52,470 და ეს არის ცოტა უცნაურია ერთი. 1143 00:40:52,470 --> 00:40:54,910 >> რა ხდება ერთი ნაბიჯია, ან უფრო კონკრეტულად 1144 00:40:54,910 --> 00:40:56,240 მუდმივი რიგი ნაბიჯები? 1145 00:40:56,240 --> 00:40:58,865 შესაძლოა, ეს ორი, იქნებ ეს სამი, მაგრამ კომპიუტერის მეცნიერი მხოლოდ 1146 00:40:58,865 --> 00:41:01,423 ამარტივებს მას, როგორც დიდი O 1, რამდენიმე მუდმივი რიგი ნაბიჯები. 1147 00:41:01,423 --> 00:41:04,256 რა არის ის, რომ თქვენ შეიძლება გავაკეთოთ, რომ იღებს მუდმივი რიგი ნაბიჯები? 1148 00:41:04,256 --> 00:41:08,030 1149 00:41:08,030 --> 00:41:10,930 >> რა არის ქრონომეტრაჟი ტაშს? 1150 00:41:10,930 --> 00:41:11,920 მუდმივი დრო. 1151 00:41:11,920 --> 00:41:12,420 მარჯვენა? 1152 00:41:12,420 --> 00:41:15,490 ისევე როგორც, რა ქრონომეტრაჟი აკეთებს იმას, იღებს მხოლოდ ერთი 1153 00:41:15,490 --> 00:41:18,570 ოპერაცია, როგორიცაა ბეჭდვა F Hello World. 1154 00:41:18,570 --> 00:41:24,110 ეს შეიძლება ითქვას, რომ იყოს მუდმივი დროს, თუ არ ნაკლებად კუთხეში შემთხვევაში ბეჭდვითი F, 1155 00:41:24,110 --> 00:41:28,260 რა შეიძლება ქრონომეტრაჟი ბეჭდვითი F რეალურად იყოს? 1156 00:41:28,260 --> 00:41:28,790 და რატომ? 1157 00:41:28,790 --> 00:41:30,550 რა არის n საზომი ამ შემთხვევაში? 1158 00:41:30,550 --> 00:41:32,251 >> აუდიტორია: [INAUDIBLE]. 1159 00:41:32,251 --> 00:41:33,250 დევიდ ჯ Malan: ზუსტად. 1160 00:41:33,250 --> 00:41:34,900 რაოდენობის სიმბოლოებს ჩვენ გვინდა ბეჭდვა. 1161 00:41:34,900 --> 00:41:36,191 ასე რომ, ეს არის ძალიან კონტექსტში მგრძნობიარე. 1162 00:41:36,191 --> 00:41:39,910 დღეს, ჩვენ უკვე აქცენტი ბევრი წერილები და ციფრები აქ ფორუმში. 1163 00:41:39,910 --> 00:41:43,540 მაგრამ ეს შეიძლება იყოს სიმბოლოების ფაქტობრივი სიმებიანი. 1164 00:41:43,540 --> 00:41:46,420 გამოდის, რომ კიდევ ერთი ღონისძიება, რომელიც დაიწყება ზრუნვა, 1165 00:41:46,420 --> 00:41:48,530 და რომ, პირიქით დიდი O, ასე ვთქვათ. 1166 00:41:48,530 --> 00:41:50,120 >> ეს არის ის, omega ნოტაცია. 1167 00:41:50,120 --> 00:41:53,380 ვინაიდან დიდი O ნიშნავს რა, რომ ზედა ზღვარი თქვენი ქრონომეტრაჟი? 1168 00:41:53,380 --> 00:41:55,580 მაქსიმალურად, რამდენი დრო შეიძლება რაღაც მიიღოს? 1169 00:41:55,580 --> 00:41:59,250 Omega-- ბოდიში ამ ინახავს მოდის up-- არის საპირისპირო, რომ, 1170 00:41:59,250 --> 00:42:02,960 რომლითაც ეს ქვედა შეკრული შესახებ დროის რაღაც შეიძლება მიიღოს. 1171 00:42:02,960 --> 00:42:10,480 >> ასე რომ. მაგალითად, რა არის ალგორითმი რომელიც იღებს ყოველთვის n კვადრატში ნაბიჯები? 1172 00:42:10,480 --> 00:42:15,600 ისე, ერთი ალგორითმის ჩვენ ვნახეთ დღეს, ფაქტობრივად, შეიძლება იყოს, რომ ისევე. 1173 00:42:15,600 --> 00:42:16,720 შერჩევა ერთგვარი. 1174 00:42:16,720 --> 00:42:18,270 შერჩევა დალაგების საკმაოდ სულელური. 1175 00:42:18,270 --> 00:42:21,760 მაშინაც კი, თუ ალგორითმი ბოდიში, მაშინაც კი, იმ შემთხვევაში, თუ მასივი უკვე დახარისხებული, 1176 00:42:21,760 --> 00:42:24,150 შერჩევის დალაგების აპირებს შენარჩუნება გავლით სიაში 1177 00:42:24,150 --> 00:42:28,907 დარწმუნდით, რომ იგი აქვს პატარა ელემენტი ისევ და ისევ და ისევ. 1178 00:42:28,907 --> 00:42:31,740 და მიუხედავად იმისა, ადამიანები იმ აუდიტორიის ვიცი, რომ, დაველოდოთ წუთში, 1179 00:42:31,740 --> 00:42:33,948 თქვენ უკვე გაიარა პატარა ელემენტს, კომპიუტერი 1180 00:42:33,948 --> 00:42:37,300 არ იცის, რომ სანამ ეს გამოიყურება ყველა გზა მეშვეობით სიაში. 1181 00:42:37,300 --> 00:42:40,240 ანალოგიურად, ქვედა ზღვარი, რომ ასევე შეიძლება მხედველობაში 1182 00:42:40,240 --> 00:42:42,000 შეიძლება იყოს ხაზოვანი დრო. 1183 00:42:42,000 --> 00:42:48,260 >> რამდენი დრო სჭირდება დალაგების N ელემენტების საუკეთესო 1184 00:42:48,260 --> 00:42:52,420 საქმე გამოყენებით რაღაც ბუშტი დალაგება? 1185 00:42:52,420 --> 00:42:54,280 დავუშვათ თქვენს სიაში უკვე დახარისხებული. 1186 00:42:54,280 --> 00:42:56,696 ჩვენ ვთქვით, bubble sort იღებს ბრძანებით n კვადრატში ნაბიჯები. 1187 00:42:56,696 --> 00:42:59,640 მაგრამ რა, თუ ეს უკვე გადანაწილებული? 1188 00:42:59,640 --> 00:43:02,310 რა მოხდება, თუ ხვდები, მას შემდეგ, რაც ერთი გადის მასივი 1189 00:43:02,310 --> 00:43:03,540 რომ თქვენ არ გააკეთა სვოპების? 1190 00:43:03,540 --> 00:43:05,970 ნუ თქვენ უნდა შევინარჩუნოთ მიღების მეტი შეჭრა? 1191 00:43:05,970 --> 00:43:06,470 >> No. 1192 00:43:06,470 --> 00:43:10,340 ასე რომ ქვედა შეკრული on bubble sort შეიძლება ითქვას, რომ იყოს სწორხაზოვანი. 1193 00:43:10,340 --> 00:43:11,830 Omega ო. 1194 00:43:11,830 --> 00:43:14,450 და ჩვენ შეგვიძლია შევხედოთ სხვები ამ ისევე. 1195 00:43:14,450 --> 00:43:17,990 მოდით მიიღოს სწრაფი შევხედოთ მხოლოდ ვიზუალიზაცია აქ 1196 00:43:17,990 --> 00:43:20,790 თუ რამდენად ამ გამორჩეულნი. 1197 00:43:20,790 --> 00:43:24,592 მე ვაპირებ ქვევით აქ ამ გვერდი, რომელიც შესაძლებელია C50 ნახვა, 1198 00:43:24,592 --> 00:43:27,550 მაგრამ ეს იქნება ტკივილი მისაღებად მუშაობს, მას შემდეგ, რაც იგი იყენებს ტექნოლოგია მოუწოდა 1199 00:43:27,550 --> 00:43:30,560 ჯავა აპლეტები, რომელიც არის დიდწილად არარეალიზებული ამ დღეებში, 1200 00:43:30,560 --> 00:43:32,730 სულ ცოტა, Chrome და სხუანი. 1201 00:43:32,730 --> 00:43:37,070 >> და ნება მომეცით წავიდეთ წინ და დააჩქაროს ეს და ახსნა, თუ რა ხდება. 1202 00:43:37,070 --> 00:43:40,840 ეს არის დემონსტრირება bubble დალაგების, პირველი ალგორითმის ჩვენ შევხედეთ. 1203 00:43:40,840 --> 00:43:43,950 და ეს ვიზუალიზაცია, რომ თითოეული ამ ბარები წარმოადგენს რაოდენობა. 1204 00:43:43,950 --> 00:43:45,710 უფრო დიდი ბარი, უფრო დიდი რაოდენობა. 1205 00:43:45,710 --> 00:43:47,520 პატარა ბარი, პატარა ნომერი. 1206 00:43:47,520 --> 00:43:50,353 და რას ხედავთ ვიზუალურად, მაშინაც კი, მიუხედავად იმისა, რომ ეს ხდება სუპერ სწრაფი, 1207 00:43:50,353 --> 00:43:53,699 ის არის, რომ წითელი ბარი, ისევე როგორც მე, ფეხით უკან და მეოთხე აფიქსირებს პრობლემები. 1208 00:43:53,699 --> 00:43:56,740 თქვენ ხედავთ, რომ დიდი ელემენტები მართლაც bubbling მდე მარჯვენა, 1209 00:43:56,740 --> 00:43:59,650 და პატარა ელემენტები არიან bubbling მდე მარცხენა. 1210 00:43:59,650 --> 00:44:01,870 და ქვემოთ აქ, თუ ჩვენ რეალურად უფრო მჭიდროდ, 1211 00:44:01,870 --> 00:44:04,330 ჩვენ შეგვიძლია რეალურად ითვლიან ნომერი შედარება და სხვ 1212 00:44:04,330 --> 00:44:05,350 რომ სრულდებოდა. 1213 00:44:05,350 --> 00:44:07,360 >> მაგრამ ამის ნაცვლად, მოდით შევხედოთ მეორე ალგორითმი 1214 00:44:07,360 --> 00:44:11,240 ჩვენ შევხედე ადრე ჩვენს მოხალისეები, შერჩევა ერთგვარი. 1215 00:44:11,240 --> 00:44:13,500 ვიზუალურად, მას აქვს ძალიან განსხვავებული ეფექტი. 1216 00:44:13,500 --> 00:44:16,820 მაგრამ ეს, კიდევ ერთხელ, ძალიან ინტუიტიური, in რომ ჩვენ შევინარჩუნოთ შერჩევის შემდეგი ყველაზე პატარა 1217 00:44:16,820 --> 00:44:18,660 ელემენტს, და მივიღეთ პატარა გაუმართლა. 1218 00:44:18,660 --> 00:44:20,110 რომ იგრძნო, ფუნდამენტურად სწრაფად. 1219 00:44:20,110 --> 00:44:22,840 მაგრამ, თუ ჩვენ გაიქცა ეს ისევ და ისევ და ისევ უამრავი საშუალებებით, 1220 00:44:22,840 --> 00:44:26,680 ჩვენ ვხედავთ, რომ ეს მართლაც ჯერ კიდევ დიდი O of n კვადრატში. 1221 00:44:26,680 --> 00:44:29,920 >> მოდით, გავაკეთოთ ერთი ბოლო აქ, Insertion დალაგების, 1222 00:44:29,920 --> 00:44:33,180 რომელიც იყო მესამე ალგორითმი ჩვენ შევხედე, და გავიხსენოთ 1223 00:44:33,180 --> 00:44:36,700 რომ ეს ერთი ეხება ელემენტები, როგორც ეს შეტაკებები მათ, 1224 00:44:36,700 --> 00:44:39,290 მაგრამ მაშინ ეს, შესაძლოა, ცვლილებები, რამ მეტი, რათა ოთახში, 1225 00:44:39,290 --> 00:44:41,660 ჩასმის ელემენტები სადაც მათ ეკუთვნის. 1226 00:44:41,660 --> 00:44:45,330 >> ესეც მთავრდება მიცემის საბოლოო შედეგი. ახლა სამივე იმ 1227 00:44:45,330 --> 00:44:46,490 იგრძნო საკმაოდ სწრაფად. 1228 00:44:46,490 --> 00:44:48,740 და მართლაც, მე გაიქცა მათ დროს საკმაოდ კარგი კლიპი. 1229 00:44:48,740 --> 00:44:52,510 მაგრამ ძირეულად, ისინი ყველა საკმაოდ საშინელი, რომ იყოს პატიოსანი. 1230 00:44:52,510 --> 00:44:56,960 ყველა ეს ალგორითმები დღემდე რომ აწარმოებს დიდი O of n კვადრატში 1231 00:44:56,960 --> 00:44:59,270 საკმაოდ ცოტა დრო, რომ აწარმოებს ბოლომდე. 1232 00:44:59,270 --> 00:45:01,920 >> და მართლაც, ჩვენ ვხედავთ, და ვგრძნობ, რომ ეს ბოლოს 1233 00:45:01,920 --> 00:45:04,090 თუ მე დახევის up ამ მესამე და საბოლოო დემო. 1234 00:45:04,090 --> 00:45:05,840 ეს არის კიდევ ერთი ვიზუალიზაცია, რომ აპირებს 1235 00:45:05,840 --> 00:45:08,500 რათა ნახოთ bubble sort მარცხენა, შერჩევის დალაგების შუა, 1236 00:45:08,500 --> 00:45:13,410 და რაღაც, როგორც ერთ-ერთი ჩვენი მხრივ ბადებს ადრე შესთავაზა, 1237 00:45:13,410 --> 00:45:15,020 შერწყმა დალაგების უფლება. 1238 00:45:15,020 --> 00:45:16,937 გათიშე და დაიპყროთ სტრატეგია უფლება. 1239 00:45:16,937 --> 00:45:19,520 და ეს არის, ფაქტობრივად, რაც ჩვენ ვაპირებთ შევხედოთ ოთხშაბათს. 1240 00:45:19,520 --> 00:45:21,990 მაგრამ მოდით დროს ეს აწარმოებს პარალელურად. 1241 00:45:21,990 --> 00:45:26,765 ეს არის დაახლოებით იგივე რაოდენობის ელემენტები, ყველა გაშვებული, ამავე დროს. 1242 00:45:26,765 --> 00:45:30,940 1243 00:45:30,940 --> 00:45:34,440 Bubble დალაგების vs შერჩევა დალაგების vs შერწყმა დალაგების. 1244 00:45:34,440 --> 00:45:36,760 >> ახლა, ისინი ყველა გაშვებული თეორიულად, ამავე დროს. 1245 00:45:36,760 --> 00:45:39,830 პროცესორის მიმდინარეობს იგივე სიჩქარით, მაგრამ 1246 00:45:39,830 --> 00:45:44,014 შეგიძლიათ გრძნობენ, რამდენად მოსაწყენია ეს არის ძალიან სწრაფად უნდა გახდეს, 1247 00:45:44,014 --> 00:45:45,930 და რამდენად სწრაფად, როდესაც ჩვენ მიეცეს ცოტა კვირაში 1248 00:45:45,930 --> 00:45:49,330 ნულოვანი ის ალგორითმები შეუძლია ჩვენ დაჩქარდეს რამ მდე. 1249 00:45:49,330 --> 00:45:51,760 >> ახლა მოდით შევადაროთ ეს ერთ-ერთი ბოლო სახით. 1250 00:45:51,760 --> 00:45:55,710 მე ვაპირებ წავიდეთ წინ CS50 ნახვა, სადაც 1251 00:45:55,710 --> 00:45:59,020 ჩვენ გვაქვს ეს საბოლოო ბმული დღეს, სადაც ვინმე ინტერნეტში 1252 00:45:59,020 --> 00:46:03,960 გთხოვთ ერთად ვიდეო, რომელიც იღებს რა სხვადასხვა დახარისხება 1253 00:46:03,960 --> 00:46:07,510 ალგორითმები ჟღერს. 1254 00:46:07,510 --> 00:46:09,577 ეს არის Insertion დალაგების. 1255 00:46:09,577 --> 00:46:12,072 >> [Beeping] 1256 00:46:12,072 --> 00:46:13,070 1257 00:46:13,070 --> 00:46:16,850 >> ამასთან, თქვენ მსჯელობა სიხშირე საფუძველზე სიმაღლე ბარი ბარი. 1258 00:46:16,850 --> 00:46:19,826 ეს არის bubble sort. 1259 00:46:19,826 --> 00:46:21,822 >> [უკუღმართი Beeping] 1260 00:46:21,822 --> 00:46:33,299 1261 00:46:33,299 --> 00:46:45,774 >> ახლოვდება შემდეგი is-- მოდის მომავალი is-- შერჩევის დალაგების, 1262 00:46:45,774 --> 00:46:48,820 სადაც კიდევ ერთხელ, ჩვენ შერჩევით შემდეგი ყველაზე პატარა ელემენტი, 1263 00:46:48,820 --> 00:46:51,820 და ჩვენ ვხედავთ, რომ იზრდება მარცხნიდან მარჯვნივ. 1264 00:46:51,820 --> 00:47:01,120 1265 00:47:01,120 --> 00:47:04,000 >> შერწყმა დალაგების, ჩვენი გამარჯვებული დღემდე დღეს. 1266 00:47:04,000 --> 00:47:09,659 1267 00:47:09,659 --> 00:47:12,450 ყურადღება მიაქციეთ, როგორ ის გამყოფი რამ შევიდა [INAUDIBLE] ნახევარი და მეოთხედი. 1268 00:47:12,450 --> 00:47:17,510 1269 00:47:17,510 --> 00:47:21,660 Gnome დალაგების, რომელიც ჩვენ არ გვაქვს ისაუბრა და ქმნის ვიზუალურად 1270 00:47:21,660 --> 00:47:24,450 და audally ცოტა სხვადასხვა ფორმის და ხმა. 1271 00:47:24,450 --> 00:47:27,060 1272 00:47:27,060 --> 00:47:30,160 უკან და მეოთხე, დასუფთავების რამ up. 1273 00:47:30,160 --> 00:47:32,230 ასევე შეამოწმეთ heapsort ამ ბიჭს ნახვა. 1274 00:47:32,230 --> 00:47:36,100 1275 00:47:36,100 --> 00:47:36,810 >> და ეს არის ის. 1276 00:47:36,810 --> 00:47:38,210 ჩვენ ვნახავთ თქვენ მომავალი დრო. 1277 00:47:38,210 --> 00:47:42,647 1278 00:47:42,647 --> 00:47:48,334 >> [Whooshing და მუსიკა] 1279 00:47:48,334 --> 00:50:24,839