1 00:00:00,000 --> 00:00:00,030 2 00:00:00,030 --> 00:00:00,460 >> DAVID MALAN: Bütün hüququ. 3 00:00:00,460 --> 00:00:01,094 Biz geri. 4 00:00:01,094 --> 00:00:04,260 proqramlaşdırma üzrə bu seqmentində Belə ki, nə Düşünürəm ki, biz hər şeyi bir mix nə istədiyiniz düşündüm. 5 00:00:04,260 --> 00:00:06,340 One, bir az etmək bir şey praktiki, 6 00:00:06,340 --> 00:00:08,690 daha oynaq istifadə olsa proqramlaşdırma environment-- 7 00:00:08,690 --> 00:00:11,620 nümunəvi bir fikir məhz növ 8 00:00:11,620 --> 00:00:14,220 Biz haqqında söhbət etdik lakin bir az daha formal. 9 00:00:14,220 --> 00:00:18,200 Two, bəzi baxmaq daha çox texniki yolları 10 00:00:18,200 --> 00:00:21,520 bir proqramçı həqiqətən həll ki, axtarış problemi kimi problemlər 11 00:00:21,520 --> 00:00:24,530 biz əvvəl baxdı ki, də daha əsaslı 12 00:00:24,530 --> 00:00:26,020 çeşidlənməsi maraqlı problem. 13 00:00:26,020 --> 00:00:28,840 >> Biz yalnız getmək almaq ehtimal ki, telefon kitab sıralanır edilmişdir ki, 14 00:00:28,840 --> 00:00:31,980 lakin tək əslində belə bir bir çox müxtəlif yollarla ağır problem 15 00:00:31,980 --> 00:00:32,479 həll etmək. 16 00:00:32,479 --> 00:00:34,366 Beləliklə, biz bu istifadə edəcəyik problemlərin sinif 17 00:00:34,366 --> 00:00:36,740 şeyi nümayəndəsi ümumiyyətlə həll edilə bilər. 18 00:00:36,740 --> 00:00:38,980 Və sonra biz danışmaq lazımdır bəzi ətraflı haqqında nə 19 00:00:38,980 --> 00:00:42,360 məlumat deyilir structures-- bağlı siyahıları kimi meraklısı yolları 20 00:00:42,360 --> 00:00:46,290 və hash masalar və ağaclar ki bir proqramçı həqiqətən ki 21 00:00:46,290 --> 00:00:48,890 istifadə ümumiyyətlə istifadə və bir tahta boya 22 00:00:48,890 --> 00:00:51,840 bir şəkil nə o həyata keçirilməsi üçün nəzərdə tutulur 23 00:00:51,840 --> 00:00:52,980 proqram bəzi parça. 24 00:00:52,980 --> 00:00:55,130 >> Belə ki, ilk hissəsi hands-on edək. 25 00:00:55,130 --> 00:01:00,090 Belə ki, yalnız bir ilə çirkli əlləri almaq ətraf mühit adlı scratch.mit.edu. 26 00:01:00,090 --> 00:01:02,636 Bu istifadə bir vasitədir Bizim lisenziya sinif. 27 00:01:02,636 --> 00:01:04,510 Bu nəzərdə baxmayaraq yaş 12 və üçün, 28 00:01:04,510 --> 00:01:07,570 biz üçün istifadə olduqca bir az hissəsi 29 00:01:07,570 --> 00:01:10,020 bir gözəl, əyləncə var-ci ildən öyrənmə qrafik yol 30 00:01:10,020 --> 00:01:12,160 proqramlaşdırma haqqında bir az bir şey. 31 00:01:12,160 --> 00:01:17,600 Belə ki, burada sizə ki, URL rəhbərlik çox bu kimi bir səhifə görmək lazımdır, 32 00:01:17,600 --> 00:01:23,330 və irəli getmək və basın sağ üst Not Qeydiyyat 33 00:01:23,330 --> 00:01:28,300 və bir istifadəçi adı və seçmək parol və nəticədə özünüz almaq 34 00:01:28,300 --> 00:01:29,970 bir account-- scratch.mit.edu. 35 00:01:29,970 --> 00:01:32,165 36 00:01:32,165 --> 00:01:34,665 Mən bir kimi istifadə istədiyiniz fikir imkan ilk bu göstərir. 37 00:01:34,665 --> 00:01:39,120 Sual fasilə zamanı gəldi nə code həqiqətən kimi görünür. 38 00:01:39,120 --> 00:01:41,315 Biz söhbət C fasilə zamanı, 39 00:01:41,315 --> 00:01:45,060 in particular-- xüsusilə köhnə dildə aşağı səviyyədə. 40 00:01:45,060 --> 00:01:47,750 Mən yalnız bir sürətli idi Google C kodunu tapmaq üçün axtarış 41 00:01:47,750 --> 00:01:51,574 ikili axtarış alqoritmi üçün ki, biz əvvəllər telefon kitab axtarış üçün istifadə. 42 00:01:51,574 --> 00:01:54,240 Bu xüsusi misal, əlbəttə, telefon kitab axtarış deyil. 43 00:01:54,240 --> 00:01:57,840 Bu, sadəcə bir dəstə axtarış kompüter yaddaşında nömrələri. 44 00:01:57,840 --> 00:02:01,000 Amma yalnız vizual almaq istəyirsinizsə nə faktiki proqramlaşdırma hissi 45 00:02:01,000 --> 00:02:05,370 , Görünür kimi dil görünür bu kimi bir az bir şey. 46 00:02:05,370 --> 00:02:09,759 Belə ki, təxminən 20-plus var kod 30 və ya belə xətləri, 47 00:02:09,759 --> 00:02:12,640 lakin söhbət biz fasilə üzərində edirdik 48 00:02:12,640 --> 00:02:16,000 necə bu həqiqətən idi adet sıfır və olanları daxil morphed olur 49 00:02:16,000 --> 00:02:19,200 və yalnız geri bilməz, əgər emal və adet sıfır və olanları getmək 50 00:02:19,200 --> 00:02:20,210 kod geri. 51 00:02:20,210 --> 00:02:22,620 >> Təəssüf ki, proses belə transformasiya edir 52 00:02:22,620 --> 00:02:24,890 Bu çox asan olduğunu həyata daha bildirib. 53 00:02:24,890 --> 00:02:29,400 Mən irəli getdi və faktiki olaraq çıxdı ki proqram, ikili axtarış, 54 00:02:29,400 --> 00:02:32,700 bir yolu ilə adet sıfır və olanları nəzərə proqram compiler adlı I 55 00:02:32,700 --> 00:02:34,400 mənim Mac burada var baş verir. 56 00:02:34,400 --> 00:02:37,850 Və siz ekran baxmaq əgər Burada xüsusi diqqət 57 00:02:37,850 --> 00:02:43,520 Bu orta altı sütun üzərində yalnız Yalnız adet sıfır və olanları görəcəksiniz. 58 00:02:43,520 --> 00:02:48,290 Və o adet sıfır və olanları ki, məhz axtarış proqramı daxildir. 59 00:02:48,290 --> 00:02:53,720 >> Və beş bit hər yığın, burada adet sıfır və olanları hər byte, 60 00:02:53,720 --> 00:02:57,310 bəzi təlimat təmsil adətən kompüter daxilində. 61 00:02:57,310 --> 00:03:00,730 Və əslində, siz eşitdim əgər marketing şüarı "Intel daxili" - ki, 62 00:03:00,730 --> 00:03:04,610 əlbəttə, yalnız bir var deməkdir kompüter daxilində Intel CPU və ya beyin. 63 00:03:04,610 --> 00:03:08,000 Və bir CPU olmaq nə deməkdir Bir təlimat set var ki, 64 00:03:08,000 --> 00:03:08,840 belə danışmaq. 65 00:03:08,840 --> 00:03:11,620 >> çox dünyada hər CPU, Onlara bu gün Intel tərəfindən, 66 00:03:11,620 --> 00:03:13,690 məhdud anlayır təlimat sayı. 67 00:03:13,690 --> 00:03:18,690 Və bu təlimat belə aşağı səviyyədə kimi, birlikdə bu iki ədəd əlavə 68 00:03:18,690 --> 00:03:22,560 birlikdə bu iki ədəd çoxaltmaq, Burada məlumatların bu parça hərəkət 69 00:03:22,560 --> 00:03:27,340 Burada yaddaş, bu saxlamaq buradan məlumat yaddaşında burada 70 00:03:27,340 --> 00:03:32,200 və belə forth-- belə çox aşağı səviyyədə, demək olar ki, elektron məlumat. 71 00:03:32,200 --> 00:03:34,780 Lakin həmin riyazi ilə əməliyyatları coupled 72 00:03:34,780 --> 00:03:37,410 biz əvvəllər müzakirə nə ilə, məlumatların nümayəndəliyi 73 00:03:37,410 --> 00:03:40,450 can adet sıfır və olanları kimi hər şey qurmaq 74 00:03:40,450 --> 00:03:44,180 kompüter olub, bu gün edə bilərsiniz ki, Bu, mətn, qrafik, musiqi var 75 00:03:44,180 --> 00:03:45,580 və ya başqa. 76 00:03:45,580 --> 00:03:49,450 >> Belə ki, bu almaq üçün çox asandır tez alaq otları itirdi. 77 00:03:49,450 --> 00:03:52,150 Və bir çox var sintaktik problemlər 78 00:03:52,150 --> 00:03:56,630 vasitəsi siz sadə etmək, Proqramın hatası heç stupidest 79 00:03:56,630 --> 00:03:57,860 heç işləyəcək. 80 00:03:57,860 --> 00:04:00,366 Və əvəzinə istifadə C kimi dil bu səhər, 81 00:04:00,366 --> 00:04:02,240 Mən bu olardı düşündüm daha çox əyləncə həqiqətən etmək 82 00:04:02,240 --> 00:04:04,840 daha əyani bir şey olan uşaqlar üçün nəzərdə tutulmuşdur isə 83 00:04:04,840 --> 00:04:08,079 mükəmməl təzahürüdür əslində faktiki proqramlaşdırma 84 00:04:08,079 --> 00:04:10,370 language-- yalnız olur əvəzinə mətn şəkillər istifadə 85 00:04:10,370 --> 00:04:11,710 həmin ideyaları təmsil edəcək. 86 00:04:11,710 --> 00:04:15,470 >> Siz həqiqətən bir dəfə So scratch.mit.edu hesab, 87 00:04:15,470 --> 00:04:21,070 düyməsini yaradın basın üst saytın ayrıldı. 88 00:04:21,070 --> 00:04:24,620 Və sizin kimi bir mühit görməlisiniz Mən ekranda görmək haqqında Ben bir 89 00:04:24,620 --> 00:04:26,310 burada. 90 00:04:26,310 --> 00:04:29,350 Və biz yalnız bir az sərf edəcəyik vaxt bit burada oynayır. 91 00:04:29,350 --> 00:04:34,080 biz bütün bir həll edə bilər, əgər in nəzər salaq aşağıdakı şəkildə problemlər birlikdə. 92 00:04:34,080 --> 00:04:39,420 >> Beləliklə, nə siz bu ərzində görürsünüz environment-- və həqiqətən yalnız imkan 93 00:04:39,420 --> 00:04:40,050 Mənə fasilə. 94 00:04:40,050 --> 00:04:42,680 Hər kəs burada deyil? 95 00:04:42,680 --> 00:04:45,070 Burda yox? 96 00:04:45,070 --> 00:04:45,800 TAMAM. 97 00:04:45,800 --> 00:04:49,030 Belə ki, mənə bir neçə qeyd edək Bu mühitin xüsusiyyətləri. 98 00:04:49,030 --> 00:04:55,024 >> Ekranın sol üst Belə ki, biz Not mərhələ var, belə danışmaq. 99 00:04:55,024 --> 00:04:57,440 Scratch yalnız adı Bu proqramlaşdırma dili; 100 00:04:57,440 --> 00:05:00,356 bu da pişik adı var ki, Siz narıncı var ismarıcları bax. 101 00:05:00,356 --> 00:05:02,160 O, səhnədə belə çox mən təsvir kimi 102 00:05:02,160 --> 00:05:05,770 Bir kimi əvvəllər tısbağa düzbucaqlı ağ board mühit. 103 00:05:05,770 --> 00:05:09,800 Bu pişik dünya tamamilə məhdudlaşır orada düzbucaqlı qədər üst. 104 00:05:09,800 --> 00:05:12,210 >> Eyni zamanda, sağ Burada tərəfdən, bu 105 00:05:12,210 --> 00:05:15,610 Yalnız bir scripts sahəsi, boş şifer Siz əgər. 106 00:05:15,610 --> 00:05:18,590 Bu yazmaq olacaq harada yalnız bir anda bizim proqramları. 107 00:05:18,590 --> 00:05:22,935 Və bloklar biz edilir Bu puzzle program-- yazmaq üçün istifadə 108 00:05:22,935 --> 00:05:25,310 ədəd, siz will-- əgər ortada burada o, 109 00:05:25,310 --> 00:05:27,500 və onlar kateqoriyalara edirik funksionallığı ilə. 110 00:05:27,500 --> 00:05:31,000 Belə ki, məsələn, mən irəli getmək üçün gedirəm bu ən azı bir nümayiş etdirir. 111 00:05:31,000 --> 00:05:33,690 Mən irəli getmək və basın gedirəm üst up Control kateqoriya. 112 00:05:33,690 --> 00:05:35,720 >> Belə ki, bu üst up kateqoriyalar var. 113 00:05:35,720 --> 00:05:39,410 Mən Control kateqoriya basın gedirəm. 114 00:05:39,410 --> 00:05:44,020 Əksinə, mən Hadisələr basın gedirəm kateqoriya, ilk bir qədər top. 115 00:05:44,020 --> 00:05:47,790 Və hətta birlikdə izləmək istəyirsinizsə Bunu kimi, olduqca buyrun. 116 00:05:47,790 --> 00:05:52,180 Mən basın və bu sürükleyin gedirəm Birincisi, "yaşıl bayraq tıklayan." 117 00:05:52,180 --> 00:05:58,410 Və sonra mən yalnız onu düşmək üçün gedirəm təxminən mənim boş şist üst. 118 00:05:58,410 --> 00:06:01,450 >> Və Not haqqında gözəl nə var Bu puzzle parça zaman 119 00:06:01,450 --> 00:06:04,560 digər puzzle ilə interlocked ədəd sözün etmək niyyətindədir 120 00:06:04,560 --> 00:06:06,460 o puzzle ədəd etmək nə. 121 00:06:06,460 --> 00:06:09,710 Belə ki, məsələn, Scratch doğru İndi onun dünya ortasında. 122 00:06:09,710 --> 00:06:14,660 Mən irəli getmək və seçmək üçün gedirəm indi deyək, Motion kateqoriya, 123 00:06:14,660 --> 00:06:18,000 Siz nə etmək istəyirsinizsə Motion kateqoriya same--. 124 00:06:18,000 --> 00:06:20,430 İndi bir bütün var fark Burada puzzle ədəd dəstə 125 00:06:20,430 --> 00:06:23,370 yenə cür etmək, ki, onlar nə. 126 00:06:23,370 --> 00:06:28,110 Mən irəli getmək və sürükleyin və gedirəm Burada üzərində hərəkət blok buraxın. 127 00:06:28,110 --> 00:06:31,860 >> Və tezliklə almaq kimi qeyd "Yaşıl bayraq altına yaxın 128 00:06:31,860 --> 00:06:34,580 tıklayan "düyməsini bildiriş Necə ağ xətt görünür, 129 00:06:34,580 --> 00:06:36,950 demək olar ki, baxmayaraq kimi maqnit, orada getmək istəyir. 130 00:06:36,950 --> 00:06:43,070 Just gedək və bu snap olacaq birlikdə və şekiller uyğun olacaq. 131 00:06:43,070 --> 00:06:46,620 İndi siz bəlkə demək olar ki, biz bu hara getdiyini danışarlar. 132 00:06:46,620 --> 00:06:51,570 >> Siz Scratch mərhələdə baxsaq burada və artıq üst baxmaq, 133 00:06:51,570 --> 00:06:55,142 Bir qırmızı işıq görəcəksiniz, bir işarəsi və yaşıl bayraq dayandırmaq. 134 00:06:55,142 --> 00:06:57,100 Mən irəli getmək üçün gedirəm və screen-- baxın 135 00:06:57,100 --> 00:06:58,460 yalnız bir an üçün, ola bilər, əgər. 136 00:06:58,460 --> 00:07:01,960 Mən basın gedirəm İndi bayrağı yaşıl, 137 00:07:01,960 --> 00:07:07,850 və o, 10 addımlar görünür nə köçürülüb və ya ekranda 10 piksel, 10 nöqtələr. 138 00:07:07,850 --> 00:07:13,390 >> Və belə ki, maraqlı deyil, lakin mənə təklif edək 139 00:07:13,390 --> 00:07:17,440 , Hətta bu tədris olmadan Öz intuition-- let öz istifadə 140 00:07:17,440 --> 00:07:22,560 Mənə necə anlamaq ki, təklif sağ mərhələdə off Scratch gəzmək edir. 141 00:07:22,560 --> 00:07:28,700 Onu sağ üçün yol var ekran, sağ bütün yol. 142 00:07:28,700 --> 00:07:32,200 Sizə bir an verək və ya belə ki, güləşmək. 143 00:07:32,200 --> 00:07:37,681 Siz bir nəzər istəyirəm bilər blokları digər kateqoriyalara edir. 144 00:07:37,681 --> 00:07:38,180 Yaxşı. 145 00:07:38,180 --> 00:07:41,290 Belə ki, yalnız biz zaman, recap üçün yaşıl, burada Ölkə bayrağı tıklayan 146 00:07:41,290 --> 00:07:44,850 10 addımlar hərəkət yalnız təlimat, hər dəfə mən 147 00:07:44,850 --> 00:07:46,720 yaşıl bayrağı basın, nələr olur? 148 00:07:46,720 --> 00:07:50,070 Yaxşı ki, mənim proqram çalışan. 149 00:07:50,070 --> 00:07:52,450 Mən bunu edə bilər bəlkə əl 10 dəfə 150 00:07:52,450 --> 00:07:55,130 lakin bu bir az hiss edir bit hackish, belə ki, danışmaq 151 00:07:55,130 --> 00:07:57,480 vasitəsi Mən, həqiqətən, deyiləm problemin həlli. 152 00:07:57,480 --> 00:08:00,530 Mən yenə çalışıram və təkrar və yenidən 153 00:08:00,530 --> 00:08:03,180 qədər mən sort təsadüfən direktiv nail olmaq 154 00:08:03,180 --> 00:08:05,560 Mən əvvəllər nail olmaq üçün yola çıxdı. 155 00:08:05,560 --> 00:08:08,200 >> Amma biz bilirik bizim pseudocode əvvəllər var ki, 156 00:08:08,200 --> 00:08:11,870 loop proqramlaşdırma bu anlayışı, təkrar bir şey bunu. 157 00:08:11,870 --> 00:08:14,888 Və mən gördüm ki, sizin bir dəstə nə puzzle parça çatmışdır? 158 00:08:14,888 --> 00:08:17,870 159 00:08:17,870 --> 00:08:18,730 qədər təkrarlayın. 160 00:08:18,730 --> 00:08:21,400 Beləliklə, biz bir şey edə kimi qədər deyirəm. 161 00:08:21,400 --> 00:08:23,760 Və məhz qədər nə demək idi? 162 00:08:23,760 --> 00:08:27,720 163 00:08:27,720 --> 00:08:28,540 >> TAMAM. 164 00:08:28,540 --> 00:08:31,974 Və mənə bir gedək yalnız bir an üçün bir qədər sadə. 165 00:08:31,974 --> 00:08:33,140 Mənə irəli getmək və bunu edək. 166 00:08:33,140 --> 00:08:35,559 Siz ola bilər kimi, Qeyd edək ki, Nəzarət altında aşkar 167 00:08:35,559 --> 00:08:38,409 Bu təkrar blok, var olan bu kimi baxmaq deyil ki, böyük deyil. 168 00:08:38,409 --> 00:08:41,039 deyil çox otaq var bu iki sarı xətləri arasında. 169 00:08:41,039 --> 00:08:43,539 Amma bəzi ola bilər Siz sürükleyin və açılan əgər, qeyd, 170 00:08:43,539 --> 00:08:45,150 Bu forma doldurmaq artır necə hiss. 171 00:08:45,150 --> 00:08:46,274 >> Və daha çox sığdırdı. 172 00:08:46,274 --> 00:08:48,670 Bu, yalnız əgər artan saxlamaq lazımdır Siz sürükleyin və üzərində hover. 173 00:08:48,670 --> 00:08:51,110 Mən nə bilmirəm burada ən yaxşı, belə ki, imkan 174 00:08:51,110 --> 00:08:54,760 Mənə ən azı beş dəfə təkrar Məsələn, və sonra səhnəyə geri 175 00:08:54,760 --> 00:08:56,720 və yaşıl bayrağı basın. 176 00:08:56,720 --> 00:08:59,110 İndi kifayət qədər yoxdur görürsünüz. 177 00:08:59,110 --> 00:09:02,400 >> İndi bəzi təklif Victoria yalnız 10 dəfə təkrar etdi. 178 00:09:02,400 --> 00:09:05,140 Və ümumiyyətlə yoxdur bütün yol onu almaq, 179 00:09:05,140 --> 00:09:10,510 lakin orada ki, bir daha möhkəm olması özbaşına həyata figuring çox yol 180 00:09:10,510 --> 00:09:12,640 neçə hərəkət etmək üçün necə? 181 00:09:12,640 --> 00:09:17,680 Nə yaxşı blok ola bilər təkrar 10 dəfə olacaq? 182 00:09:17,680 --> 00:09:20,380 >> Bəli, belə ki, niyə əbədi bir şey deyil? 183 00:09:20,380 --> 00:09:24,390 İndi mənə bu puzzle parça hərəkət edək orada daxilində və bu xilas. 184 00:09:24,390 --> 00:09:28,300 İndi burada Scratch olursa qeyd başlayır, o kənarında gedir. 185 00:09:28,300 --> 00:09:30,700 Və təşəkkürlə MİT, olan yalnız, danışıq edir 186 00:09:30,700 --> 00:09:33,190 əmin o ki, heç vaxt edir tamamilə itir. 187 00:09:33,190 --> 00:09:35,360 Siz həmişə onun quyruq qapmaq bilər. 188 00:09:35,360 --> 00:09:37,680 >> Və yalnız daxilən, Nə üçün o hərəkət davam edir? 189 00:09:37,680 --> 00:09:38,892 Burada nə gedir? 190 00:09:38,892 --> 00:09:41,440 191 00:09:41,440 --> 00:09:43,824 O, dayandı görünür, lakin Mən və drag ala sonra əgər 192 00:09:43,824 --> 00:09:45,240 o orada getmək istəyən saxlayır. 193 00:09:45,240 --> 00:09:46,123 Niyə ki? 194 00:09:46,123 --> 00:09:51,610 195 00:09:51,610 --> 00:09:54,360 Həqiqətən, kompüter sözün Siz demək nə gedir. 196 00:09:54,360 --> 00:09:58,380 Siz onu bildirib ki, əgər Belə ki, əvvəllər bunu əbədi şey sonra 10 addım hərəkət, 197 00:09:58,380 --> 00:10:01,860 gedir və davam olacaq Mən qırmızı stop işarəsi hit qədər 198 00:10:01,860 --> 00:10:04,620 və ümumiyyətlə proqramını dayandırmaq. 199 00:10:04,620 --> 00:10:06,610 >> Siz yox idi, hətta əgər Bunu, necə ola bilər 200 00:10:06,610 --> 00:10:09,510 sürətli Scratch hərəkət etmək ekran arasında? 201 00:10:09,510 --> 00:10:12,060 202 00:10:12,060 --> 00:10:13,280 Daha addımlar, sağ? 203 00:10:13,280 --> 00:10:15,710 Belə ki, əvəzinə 10 bunu Bir anda, niyə biz deyil 204 00:10:15,710 --> 00:10:20,100 irəli getmək və to-- dəyişdirmək 50 nə propose-- olardı? 205 00:10:20,100 --> 00:10:24,410 Belə ki, indi yaşıl basın gedirəm bayraq və həqiqətən, o, həqiqətən sürətli gedir. 206 00:10:24,410 --> 00:10:27,180 >> Bu, əlbəttə, yalnız animasiya təzahürüdür. 207 00:10:27,180 --> 00:10:28,060 animasiya nədir? 208 00:10:28,060 --> 00:10:33,090 Bu yalnız sizə insan göstərən həqiqətən hələ images bütün dəstə, 209 00:10:33,090 --> 00:10:34,160 həqiqətən, həqiqətən sürətli. 210 00:10:34,160 --> 00:10:36,500 Və əgər biz yalnız izah edirik ona daha çox addımlar hərəkət etmək, 211 00:10:36,500 --> 00:10:39,750 biz yalnız təsiri ola qarşılaşdıqda o ekranda dəyişiklik 212 00:10:39,750 --> 00:10:42,900 zaman bütün daha sürətlə başına vahid. 213 00:10:42,900 --> 00:10:46,454 >> Mən təklif İndi növbəti çağırış Ona kənarında off sıçrayış var idi. 214 00:10:46,454 --> 00:10:49,120 Və nə puzzle bilmədən gözəl, çünki ədəd exist-- 215 00:10:49,120 --> 00:10:53,030 Siz almaq yoxsa challenge-- mərhələsi nə 216 00:10:53,030 --> 00:10:54,280 Siz daxilən nə istəyirsiniz? 217 00:10:54,280 --> 00:10:58,030 Biz onu geri sıçrama olardı və irəli, sol və sağ arasında? 218 00:10:58,030 --> 00:11:02,630 219 00:11:02,630 --> 00:11:03,810 >> Bəli. 220 00:11:03,810 --> 00:11:05,680 Beləliklə, biz bir növ lazımdır vəziyyəti və biz 221 00:11:05,680 --> 00:11:09,710 belə, conditionals üçün görünür Control kateqoriya altında danışmaq. 222 00:11:09,710 --> 00:11:14,110 Bu blokları hansı biz yəqin ki, istəyirsiniz? 223 00:11:14,110 --> 00:11:15,200 Bəli, bəlkə ", onda". 224 00:11:15,200 --> 00:11:18,780 Belə ki, sarı blokları arasında fark Biz bu "əgər" var, burada var 225 00:11:18,780 --> 00:11:23,920 və ya bu "əgər başqa" bloku edəcək ki Bizə bunu bir qərar qəbul etmək üçün imkan verir 226 00:11:23,920 --> 00:11:25,000 və ya bunu. 227 00:11:25,000 --> 00:11:27,380 Və hətta yuva onları Çox şeyə. 228 00:11:27,380 --> 00:11:34,910 Yoxsa hələ burada getdi olsanız, Algılama kateqoriya davam 229 00:11:34,910 --> 00:11:39,612 and-- Burada əgər nin görək. 230 00:11:39,612 --> 00:11:43,050 231 00:11:43,050 --> 00:11:52,050 >> Belə ki, nə blok burada faydalı ola bilər O mərhələ off əgər aşkar etmək üçün? 232 00:11:52,050 --> 00:11:56,740 Bəli, bu blokları ki, bəzi qeyd parametrized bilər, belə danışmaq. 233 00:11:56,740 --> 00:12:00,706 Onlar sort deyil, xüsusi ola bilər HTML fərqli dünən atributları ilə, 234 00:12:00,706 --> 00:12:03,330 burada o atributları cür bir tag davranış özelleştirebilirsiniz. 235 00:12:03,330 --> 00:12:08,880 Eynilə burada, bu toxunan qamarlamaq bilər blok və dəyişiklik və sual, 236 00:12:08,880 --> 00:12:11,500 Siz siçan toxunan Kursor kimi pointer 237 00:12:11,500 --> 00:12:13,250 və ya kənar toxunan olunur? 238 00:12:13,250 --> 00:12:15,210 >> Belə ki, mənə getmək və bunu bildirin. 239 00:12:15,210 --> 00:12:18,130 Mən bir an kiçiltmək gedirəm. 240 00:12:18,130 --> 00:12:21,320 oxşar puzzle parça grab edək burada, bu puzzle parça bu, 241 00:12:21,320 --> 00:12:24,570 Mən dolaşıq gedirəm yalnız bir an üçün onları. 242 00:12:24,570 --> 00:12:27,620 Mən bu hərəkət gedirəm toxunan kənarında bu dəyişiklik, 243 00:12:27,620 --> 00:12:38,590 Bunu Mən hərəkət gedirəm. 244 00:12:38,590 --> 00:12:40,490 Belə ki, burada bəzi maddələr var. 245 00:12:40,490 --> 00:12:42,570 Mən istəyirəm ki, hər şey var edirəm. 246 00:12:42,570 --> 00:12:47,710 >> Kimsə necə təklif etmək istəyirsiniz I Bu bəlkə alt üst qoşula bilər 247 00:12:47,710 --> 00:12:52,020 olan problemi həll etmək üçün Scratch hərəkət üçün sağ hüququ 248 00:12:52,020 --> 00:12:57,020 Hər sol sağ vaxt yalnız divar off dönen? 249 00:12:57,020 --> 00:12:58,050 Mən nə istəyirəm? 250 00:12:58,050 --> 00:13:01,097 Hansı blok Mən qoşulmaq lazımdır "Yaşıl bayraq ilk tıklayan?" 251 00:13:01,097 --> 00:13:04,060 252 00:13:04,060 --> 00:13:06,200 >> OK, belə ki, ilə başlamaq edək "əbədi". 253 00:13:06,200 --> 00:13:07,170 Nə gələn daxili gedir? 254 00:13:07,170 --> 00:13:10,290 Başqa kimsə. 255 00:13:10,290 --> 00:13:11,850 OK, addımlar hərəkət. 256 00:13:11,850 --> 00:13:12,350 Yaxşı. 257 00:13:12,350 --> 00:13:14,470 Sonra nə? 258 00:13:14,470 --> 00:13:15,120 Beləliklə, əgər. 259 00:13:15,120 --> 00:13:17,720 Və görünür, baxmayaraq ki, qeyd sıx birlikdə sandwiched, 260 00:13:17,720 --> 00:13:19,500 yalnız doldurmaq artacaq. 261 00:13:19,500 --> 00:13:21,500 Bu, sadəcə mən bunu istədiyiniz jump edəcək. 262 00:13:21,500 --> 00:13:25,920 >> Mən arasında nə qoymaq yoxdur Əgər sonra? 263 00:13:25,920 --> 00:13:27,180 Yəqin ki, "əgər kənar toxunan". 264 00:13:27,180 --> 00:13:31,800 Və bildiriş yenidən, bu çox böyük Bunun üçün, ancaq doldurmaq artacaq. 265 00:13:31,800 --> 00:13:35,002 Və sonra 15 dərəcə çevirmək? 266 00:13:35,002 --> 00:13:35,710 Neçə dərəcə? 267 00:13:35,710 --> 00:13:38,800 268 00:13:38,800 --> 00:13:41,196 Bəli, belə 180 fırlatmaq edəcək ətrafında mənə bütün yol. 269 00:13:41,196 --> 00:13:42,570 Mən bu hüququ var, əgər nin görək. 270 00:13:42,570 --> 00:13:43,930 Mənə kiçiltmək edək. 271 00:13:43,930 --> 00:13:45,130 >> Mənə Scratch qədər sürükleyin edək. 272 00:13:45,130 --> 00:13:50,030 O təhrif bir az var İndi, lakin gözəl var. 273 00:13:50,030 --> 00:13:52,231 Necə asanlıqla onu yenidən qura bilərsiniz? 274 00:13:52,231 --> 00:13:59,879 275 00:13:59,879 --> 00:14:01,045 Mən bir az fırıldaqçı gedirəm. 276 00:14:01,045 --> 00:14:04,074 277 00:14:04,074 --> 00:14:05,990 Mən başqa əlavə alıram məhəllə, yalnız aydın olacaq. 278 00:14:05,990 --> 00:14:08,424 Mən ona 90 dərəcə qeyd etmək istəyirəm ismarıcları sağ, 279 00:14:08,424 --> 00:14:10,840 mən yalnız onu demək gedirəm program bunu. 280 00:14:10,840 --> 00:14:11,632 Və burada biz gedin. 281 00:14:11,632 --> 00:14:14,740 282 00:14:14,740 --> 00:14:15,740 Biz bunu etdik görünür. 283 00:14:15,740 --> 00:14:19,980 Çünki, bir az qəribə o altüst gəzinti oldu. 284 00:14:19,980 --> 00:14:21,250 Bir səhv zəng edək. 285 00:14:21,250 --> 00:14:22,120 Bu səhv var. 286 00:14:22,120 --> 00:14:27,320 A səhv bir proqram, bir səhv Mən insan etdi məntiqi səhv. 287 00:14:27,320 --> 00:14:28,985 Nə üçün o altüst gedir? 288 00:14:28,985 --> 00:14:33,560 289 00:14:33,560 --> 00:14:35,250 MIT qıymaq və ya etdim mi? 290 00:14:35,250 --> 00:14:38,840 291 00:14:38,840 --> 00:14:42,550 >> Bəli, mən demək, bu MİT-in deyil günah. Onlar mənə bir puzzle parça verdi 292 00:14:42,550 --> 00:14:44,970 ki, dərəcə, bəzi sayı çevirmək deyir. 293 00:14:44,970 --> 00:14:47,672 Və Victoria təklifi, Mən 180 dərəcə dönüş alıram, 294 00:14:47,672 --> 00:14:48,880 hansı doğru intuisiya edir. 295 00:14:48,880 --> 00:14:53,700 Amma sanki 180 dərəcə dönüş 180 dərəcə dönüş deməkdir, 296 00:14:53,700 --> 00:14:55,860 ki, həqiqətən deyil Mən istəyirəm nə, yəqin. 297 00:14:55,860 --> 00:14:58,026 ən azı o var, çünki Bu iki ölçülü dünya, 298 00:14:58,026 --> 00:15:00,740 belə dönüş həqiqətən gedir altüst onu çevirmek. 299 00:15:00,740 --> 00:15:04,030 >> Mən yəqin ki, nə blok istifadə etmək istədiyiniz burada nə görmək əvəzinə, əsasən? 300 00:15:04,030 --> 00:15:11,890 301 00:15:11,890 --> 00:15:14,790 Biz bu düzeltmek bilər? 302 00:15:14,790 --> 00:15:18,380 Bəli, belə ki, biz qeyd edə bilər əks istiqamətdə. 303 00:15:18,380 --> 00:15:22,300 Və həqiqətən, hətta ki, kifayət qədər olacaq deyil, 304 00:15:22,300 --> 00:15:26,410 biz yalnız ağır kodu çünki sol və ya sağ işarə. 305 00:15:26,410 --> 00:15:27,920 >> Biz nə edə bilər nə bilirik? 306 00:15:27,920 --> 00:15:30,160 biz var kimi görünür Burada rahatlığı blok. 307 00:15:30,160 --> 00:15:32,987 Mən zoom varsa bax bir şey biz burada istəyirsiniz? 308 00:15:32,987 --> 00:15:36,120 309 00:15:36,120 --> 00:15:40,020 MİT bir var kimi Belə ki, görünür abstraksiya burada inşa. 310 00:15:40,020 --> 00:15:45,440 Bu blok ekvivalent görünür digər blokları cəm olan? 311 00:15:45,440 --> 00:15:49,510 >> Bu blok ekvivalent görünür bloklarının bu bütün trio üçün 312 00:15:49,510 --> 00:15:50,880 ki, biz burada var. 313 00:15:50,880 --> 00:15:54,670 O çıxır Mən sadələşdirmək bilər mənim ki, bütün xilas proqram 314 00:15:54,670 --> 00:15:58,270 və yalnız burada bu qoymaq. 315 00:15:58,270 --> 00:16:01,620 Və indi o, hələ bir az arabası ki, indi gözəl var. 316 00:16:01,620 --> 00:16:03,370 Biz ki, ola tərk edəcəyik. 317 00:16:03,370 --> 00:16:06,000 Amma mənim proqram hətta sadə və bu da 318 00:16:06,000 --> 00:16:09,060 nümayəndəsi olacaq proqramlaşdırma bir qol 319 00:16:09,060 --> 00:16:13,430 ideal kimi kodu etməkdir sadə, mümkün qədər yığcam kimi, 320 00:16:13,430 --> 00:16:15,650 hələ də olarkən mümkün qədər oxunaqlı. 321 00:16:15,650 --> 00:16:20,310 Siz belə qısa etmək istəmirəm çətin ki, başa düşmək. 322 00:16:20,310 --> 00:16:22,826 >> Amma əvəz etdik hiss biri ilə üç blokları, 323 00:16:22,826 --> 00:16:24,200 ki, arguably yaxşı bir şey deyil. 324 00:16:24,200 --> 00:16:27,280 Mən anlayışı üz Abstrak etdik Siz olsanız yoxlanılması 325 00:16:27,280 --> 00:16:29,120 Yalnız bir bloku ilə kənarında. 326 00:16:29,120 --> 00:16:31,520 İndi biz əslində, bu ilə fun ola bilər. 327 00:16:31,520 --> 00:16:35,790 Bu çox əlavə deyil intellektual dəyəri lakin oynaq dəyəri. 328 00:16:35,790 --> 00:16:39,730 Mən irəli getmək üçün gedirəm və bu səs grab. 329 00:16:39,730 --> 00:16:42,900 330 00:16:42,900 --> 00:16:46,420 Mənə davam edək və mənə bildirin bir an proqramını dayandırmaq. 331 00:16:46,420 --> 00:16:52,070 Mən aşağıdakı qeyd gedirəm, Mənim mikrofon girişi imkan verir. 332 00:16:52,070 --> 00:16:53,181 >> Burada getmək. 333 00:16:53,181 --> 00:16:53,680 Ouch. 334 00:16:53,680 --> 00:16:58,710 335 00:16:58,710 --> 00:17:01,140 Yenə bu cəhd edək. 336 00:17:01,140 --> 00:17:02,279 Burada getmək. 337 00:17:02,279 --> 00:17:03,570 OK, Mən yanlış bir şey qeyd edildi. 338 00:17:03,570 --> 00:17:04,580 Burada getmək. 339 00:17:04,580 --> 00:17:05,080 Ouch. 340 00:17:05,080 --> 00:17:07,910 341 00:17:07,910 --> 00:17:08,800 Ouch. 342 00:17:08,800 --> 00:17:09,300 Yaxşı. 343 00:17:09,300 --> 00:17:10,791 İndi ki, xilas etmək lazımdır. 344 00:17:10,791 --> 00:17:11,290 Yaxşı. 345 00:17:11,290 --> 00:17:13,950 >> Belə ki, indi mən bir yalnız qeyd "uf". 346 00:17:13,950 --> 00:17:18,040 İndi Mən getmək üçün gedirəm irəli və bu "uf." zəng 347 00:17:18,040 --> 00:17:20,270 Mən geri getmək üçün gedirəm Mənim scripts və indi 348 00:17:20,270 --> 00:17:25,460 bildiriş deyirlər bu blok var səs "miyavlamak" oynamaq və ya səs oyun "uf". 349 00:17:25,460 --> 00:17:28,920 Bu sürükleyin gedir və burada alıram Mən komik effekt üçün bu qoymaq lazımdır? 350 00:17:28,920 --> 00:17:31,740 351 00:17:31,740 --> 00:17:37,860 Bəli, belə ki, indi bu cür var arabası, çünki indi bu block-- 352 00:17:37,860 --> 00:17:42,050 qeyd necə "kənarında əgər, sıçrama "müstakil növüdür. 353 00:17:42,050 --> 00:17:43,704 Mən bu düzeltmek lazımdır. 354 00:17:43,704 --> 00:17:44,870 Mənə irəli getmək və bunu edək. 355 00:17:44,870 --> 00:17:48,630 oxşar xilas edək və geri orijinal, daha qəsdən 356 00:17:48,630 --> 00:17:49,870 funksionallıq. 357 00:17:49,870 --> 00:18:01,080 "Kənar toxunan, onda" Mən istəyirəm Victoria təklif etdiyi kimi, çevirmək, 358 00:18:01,080 --> 00:18:02,480 180 dərəcə. 359 00:18:02,480 --> 00:18:05,497 Mən oynamaq istəyirəm orada "uf" səs? 360 00:18:05,497 --> 00:18:11,800 361 00:18:11,800 --> 00:18:15,580 >> Bəli, kənarda var, qeyd ki, sarı blok. 362 00:18:15,580 --> 00:18:17,680 bu Belə ki, çox olardı bug, ancaq fark etdik. 363 00:18:17,680 --> 00:18:21,290 Mən burada bu qədər sürükleyin gedirəm, və bildiriş indi daxili "əgər". 364 00:18:21,290 --> 00:18:24,250 "Əgər" Belə ki, bu cür kimi qol kimi Blot of 365 00:18:24,250 --> 00:18:26,260 yalnız olacaq Bunun içərisində nə yoxdur. 366 00:18:26,260 --> 00:18:30,216 Belə ki, indi həyata zoom əgər annoying-- riski 367 00:18:30,216 --> 00:18:32,860 368 00:18:32,860 --> 00:18:36,470 >> COMPUTER: uf, uf, uf. 369 00:18:36,470 --> 00:18:39,910 >> DAVID MALAN: Bu Yalnız əbədi davam edəcək. 370 00:18:39,910 --> 00:18:44,160 İndi şeyi sürətləndirmək burada, mənə irəli getmək və açmaq bildirin, 371 00:18:44,160 --> 00:18:50,460 məni bəzi gedək deyək sinif öz məhsullarının. 372 00:18:50,460 --> 00:18:53,000 373 00:18:53,000 --> 00:19:00,220 Və bu deyək, mənə açmaq bildirin bir bizim tədris yoldaşları tərəfindən edilən 374 00:19:00,220 --> 00:19:01,500 bir neçə il əvvəl. 375 00:19:01,500 --> 00:19:04,732 Belə ki, bəzi xatırlayıram bilər yesteryear bu oyun 376 00:19:04,732 --> 00:19:05,940 və bu, həqiqətən gözəl var. 377 00:19:05,940 --> 00:19:08,190 biz etdik baxmayaraq İndi proqramların sadə, 378 00:19:08,190 --> 00:19:09,980 nin nə hesab edək həqiqətən kimi görünür. 379 00:19:09,980 --> 00:19:10,650 Mənə oyun hit edək. 380 00:19:10,650 --> 00:19:14,210 381 00:19:14,210 --> 00:19:18,980 >> Belə ki, bu oyun, biz bir var qurbağa və arrow istifadə keys-- 382 00:19:18,980 --> 00:19:23,340 o Xatırlamaq daha böyük addımlar atır Bu qurbağa nəzarət var. 383 00:19:23,340 --> 00:19:29,630 Məqsəd məşğul daxilində almaq üçün maşın daxil çalışan olmadan yol. 384 00:19:29,630 --> 00:19:34,735 Və mən burada getmək əgər see-- edək I bir günlük ilə hərəkət etmək üçün gözləmək lazımdır. 385 00:19:34,735 --> 00:19:38,130 386 00:19:38,130 --> 00:19:39,274 Bu səhv kimi hiss edir. 387 00:19:39,274 --> 00:19:42,240 388 00:19:42,240 --> 00:19:43,495 Bu səhv növüdür. 389 00:19:43,495 --> 00:19:45,980 390 00:19:45,980 --> 00:19:46,480 Yaxşı. 391 00:19:46,480 --> 00:19:51,550 Mən burada bu Ben orada, sonra saxlamaq 392 00:19:51,550 --> 00:19:54,100 bütün almaq qədər gedir zanbaq ped üçün frogs. 393 00:19:54,100 --> 00:19:55,920 İndi bu ola bilər daha mürəkkəb, 394 00:19:55,920 --> 00:19:57,840 Amma qırmaq edək bu aşağı əqli 395 00:19:57,840 --> 00:20:00,040 və şifahi onun tərkib blokları daxil. 396 00:20:00,040 --> 00:20:03,910 Belə ki, yəqin ki, bir puzzle var Biz hələ görməmişik parça 397 00:20:03,910 --> 00:20:07,440 lakin tuş vuruşlarını cavab var, şeyi mən klaviatura edib. 398 00:20:07,440 --> 00:20:11,660 >> Belə ki, yəqin ki, bir növ var düyməsini yuxarı bərabərdir əgər deyir məhəllə, 399 00:20:11,660 --> 00:20:15,965 sonra Scratch-- ilə bir şey Bəlkə 10 addım bu şəkildə hərəkət. 400 00:20:15,965 --> 00:20:20,240 aşağı əsas bərk halda, 10 addımlar hərəkət Bu yolla, ya sol düyməsini 10 addım hərəkət 401 00:20:20,240 --> 00:20:21,710 Bu yolla, 10 ki, addımlar. 402 00:20:21,710 --> 00:20:23,644 Mən aydın bir qurbağa daxil pişik çıxdı etdik. 403 00:20:23,644 --> 00:20:26,060 Belə ki, yalnız burada var Scratch zənglər biz onu kostyum kimi 404 00:20:26,060 --> 00:20:28,440 yalnız qurbağa bir şəkil idxal. 405 00:20:28,440 --> 00:20:29,570 >> Amma baş başqa nə? 406 00:20:29,570 --> 00:20:32,794 Nə kodu digər xətləri, nə digər puzzle ədəd 407 00:20:32,794 --> 00:20:35,460 Blake etdi, bizim tədris fellow, Görünür, bu proqram istifadə? 408 00:20:35,460 --> 00:20:38,320 409 00:20:38,320 --> 00:20:42,730 Hər şeyi edilməsi move-- nə proqramlaşdırma tikintisi? 410 00:20:42,730 --> 00:20:44,950 >> Motion, belə ki, sure-- əmin üçün, blok hərəkət. 411 00:20:44,950 --> 00:20:49,330 Və hərəkət blok var , Çox güman ki, daxilində? 412 00:20:49,330 --> 00:20:52,850 Bəli, loop bir növ, bəlkə bir əbədi bəlkə təkrar, blok block-- 413 00:20:52,850 --> 00:20:54,070 blok qədər deyirəm. 414 00:20:54,070 --> 00:20:57,330 Və nə logs edilməsi və zanbaq yastiqciqlar və başqa hər şey hərəkət 415 00:20:57,330 --> 00:20:57,990 geri və irəli. 416 00:20:57,990 --> 00:21:00,270 Bu, sadəcə endlessly baş. 417 00:21:00,270 --> 00:21:03,180 >> Niyə avtomobil bəzi daha sürətli hərəkət? 418 00:21:03,180 --> 00:21:06,607 həmin proqramların haqqında müxtəlif nədir? 419 00:21:06,607 --> 00:21:09,690 Bəli, yəqin ki, onlardan bəziləri edirlər daha bir dəfə addımlar və onların bəziləri 420 00:21:09,690 --> 00:21:10,690 bir dəfə daha az addımlar. 421 00:21:10,690 --> 00:21:14,670 Və vizual effekt yavaş qarşı sürətli edir. 422 00:21:14,670 --> 00:21:16,030 >> Siz baş nə düşünürsünüz? 423 00:21:16,030 --> 00:21:19,700 Mən qurbağa var bütün yol küçə və çay boyunca 424 00:21:19,700 --> 00:21:23,560 zanbaq pad, bir şey üzərində diqqətəlayiq oldu. 425 00:21:23,560 --> 00:21:26,540 Nə tezliklə mən ki, kimi oldu? 426 00:21:26,540 --> 00:21:27,210 Bu dayandırdı. 427 00:21:27,210 --> 00:21:29,680 Bu qurbağa dayandı, Mən ikinci qurbağa var. 428 00:21:29,680 --> 00:21:33,155 Belə ki, nə tikinti olmalıdır orada istifadə nə xüsusiyyət? 429 00:21:33,155 --> 00:21:36,020 430 00:21:36,020 --> 00:21:38,660 >> Bəli, belə bir növ var də orada vəziyyəti "əgər". 431 00:21:38,660 --> 00:21:41,909 Biz bu görmədim yazaraq Və çevrilir lakin ki, digər blokları var 432 00:21:41,909 --> 00:21:45,300 Siz toxunan əgər, demək olar ekranda bir şey, 433 00:21:45,300 --> 00:21:47,720 Siz "sonra". lily pad toxunan edirsinizsə 434 00:21:47,720 --> 00:21:50,810 Və o zaman biz var ikinci qurbağa görünür etmək. 435 00:21:50,810 --> 00:21:54,969 Belə ki, bu oyun əlbəttə olsa çox hətta ilk baxışda olsa da,-ci il tarixli 436 00:21:54,969 --> 00:21:58,010 var qədər Us və Blake gedir iki dəqiqə bu qızışdırmaq deyil, 437 00:21:58,010 --> 00:22:00,390 yəqin ki, ona bir neçə etdi saat Bu oyun yaratmaq üçün 438 00:22:00,390 --> 00:22:03,850 onun yaddaş və ya video əsasında bu yesteryear versiyası. 439 00:22:03,850 --> 00:22:07,940 Lakin bu kiçik şeyi bütün təcrid ekranda gedir 440 00:22:07,940 --> 00:22:11,550 bu çox sadə aşağı qaynatmaq constructs-- hərəkəti və ya hesabatları 441 00:22:11,550 --> 00:22:15,519 biz müzakirə etdik kimi, loops və şərait və bu barədə var. 442 00:22:15,519 --> 00:22:17,060 bir neçə digər meraklısı xüsusiyyətləri var. 443 00:22:17,060 --> 00:22:19,130 Bəziləri sırf var estetik və ya akustik, 444 00:22:19,130 --> 00:22:20,964 səslər kimi mən yalnız ilə oynamışdır. 445 00:22:20,964 --> 00:22:23,380 Lakin çox hissəsi üçün, siz bu dil, Not var, 446 00:22:23,380 --> 00:22:25,350 fundamental bütün bloklar ki, siz 447 00:22:25,350 --> 00:22:29,280 C, Java, JavaScript var, PHP, Ruby, Python, 448 00:22:29,280 --> 00:22:32,960 və digər dillərdə hər hansı bir sayı. 449 00:22:32,960 --> 00:22:36,720 Not haqqında hər hansı bir sualınız? 450 00:22:36,720 --> 00:22:37,220 Yaxşı. 451 00:22:37,220 --> 00:22:40,303 Beləliklə, biz Not dərin dalış deyil, Bu həftə sonu buyrun baxmayaraq, 452 00:22:40,303 --> 00:22:42,860 uşaq var, xüsusilə də əgər və ya övladları və bacı və belə 453 00:22:42,860 --> 00:22:44,220 Not onları təqdim etmək. 454 00:22:44,220 --> 00:22:47,960 Bu, həqiqətən bir gözəl oynaq var ətraf mühit, onun müəllifləri demək kimi, 455 00:22:47,960 --> 00:22:49,120 çox yüksək tavanlar. 456 00:22:49,120 --> 00:22:51,670 biz ilə başladı baxmayaraq çox aşağı səviyyədə ətraflı, 457 00:22:51,670 --> 00:22:54,890 Siz, həqiqətən, bir qədər edə bilərsiniz ilə və bu bəlkə 458 00:22:54,890 --> 00:22:57,360 məhz nümayişi. 459 00:22:57,360 --> 00:23:02,920 >> Amma indi daha çox keçid imkan inkişaf etmiş problemləri, Siz, 460 00:23:02,920 --> 00:23:05,870 "Axtarış" kimi tanınan və ümumiyyətlə ", çeşidlənməsi". 461 00:23:05,870 --> 00:23:09,500 Biz bu telefon kitab əvvəllər burada idi yalnız discussion-- üçün başqa bir 462 00:23:09,500 --> 00:23:13,460 biz axtarış edə idi ki, daha səmərəli, çünki 463 00:23:13,460 --> 00:23:15,270 əhəmiyyətli ehtimal. 464 00:23:15,270 --> 00:23:17,655 Və yalnız aydın olmaq üçün nə ehtimal I edilməsi idi 465 00:23:17,655 --> 00:23:19,280 Bu telefon kitab vasitəsilə axtarış zaman? 466 00:23:19,280 --> 00:23:23,342 467 00:23:23,342 --> 00:23:25,300 Mike Smith olduğunu telefon kitab, I baxmayaraq 468 00:23:25,300 --> 00:23:27,410 idarə edə bilər onsuz ssenari 469 00:23:27,410 --> 00:23:30,720 Mən vaxtından əvvəl orada dayandırılıb əgər. 470 00:23:30,720 --> 00:23:31,806 kitab əlifba edir. 471 00:23:31,806 --> 00:23:33,930 Və bir çox səxavətli var ehtimal ki, çünki 472 00:23:33,930 --> 00:23:36,580 I növ edirəm someone-- deməkdir bir küncündə kəsmə, 473 00:23:36,580 --> 00:23:40,580 Mən kimsə çünki daha sürətli am başqa, mənim üçün ağır iş bir çox idi. 474 00:23:40,580 --> 00:23:43,120 >> Amma nə telefon kitab çeşidlənməmiş idi? 475 00:23:43,120 --> 00:23:47,050 Bəlkə Verizon tənbəl var, yalnız atdı hər kəsin adları və nömrələri var 476 00:23:47,050 --> 00:23:50,120 bəlkə qaydada onlar telefon xidməti üçün imzalanmış. 477 00:23:50,120 --> 00:23:54,570 Və nə qədər vaxt mənə görür Mike Smith kimi kimsə tapmaq üçün? 478 00:23:54,570 --> 00:23:58,160 1000 səhifə telefon neçə book-- pages mən vasitəsilə baxmaq lazımdır? 479 00:23:58,160 --> 00:23:58,905 >> Onların hamısı. 480 00:23:58,905 --> 00:24:00,030 Siz uğurlar növ istəyirik. 481 00:24:00,030 --> 00:24:03,420 Siz sözün hər baxmaq lazımdır səhifə telefon kitab yalnız əgər 482 00:24:03,420 --> 00:24:04,450 təsadüfi sıralanır. 483 00:24:04,450 --> 00:24:06,910 Siz xoşbəxt almaq və Mike tapa bilərsiniz ilk səhifə, o 484 00:24:06,910 --> 00:24:08,826 ilk müştəri oldu telefon xidməti sifariş. 485 00:24:08,826 --> 00:24:10,760 Lakin o, son ola bilər. 486 00:24:10,760 --> 00:24:12,500 >> Belə ki, təsadüfi üçün yaxşı deyil. 487 00:24:12,500 --> 00:24:16,750 Beləliklə, biz düzmək lazımdır Güman telefon kitab və ya ümumi sort data 488 00:24:16,750 --> 00:24:18,520 biz verilmiş etdik. 489 00:24:18,520 --> 00:24:19,440 Bunu necə etmək olar? 490 00:24:19,440 --> 00:24:21,360 >> Yaxşı, mənə yalnız edək Burada sadə misal. 491 00:24:21,360 --> 00:24:24,290 Mənə irəli getmək və silkələmək edək board bir neçə ədəd. 492 00:24:24,290 --> 00:24:35,480 Var biz nömrələri düşünək nin, dörd, iki, bir, və üç deyək. 493 00:24:35,480 --> 00:24:38,390 Və Ben, bizim üçün bu nömrələri düzmək. 494 00:24:38,390 --> 00:24:39,017 >> Yaxşı, oldu. 495 00:24:39,017 --> 00:24:39,850 Necə ki, bunu etdiniz? 496 00:24:39,850 --> 00:24:42,731 497 00:24:42,731 --> 00:24:43,230 Yaxşı. 498 00:24:43,230 --> 00:24:44,710 Belə ki, kiçik ilə başlayın dəyəri və yüksək, 499 00:24:44,710 --> 00:24:46,084 ki, həqiqətən yaxşı intuisiya var. 500 00:24:46,084 --> 00:24:48,080 Və biz həyata insanlar həqiqətən olduqca var 501 00:24:48,080 --> 00:24:49,913 həllində yaxşı bu kimi ən azı 502 00:24:49,913 --> 00:24:51,810 data nisbətən kiçik olduqda. 503 00:24:51,810 --> 00:24:54,860 Kimi tezliklə yüzlərlə başlamaq kimi nömrələri, nömrələri minlərlə 504 00:24:54,860 --> 00:24:58,440 ədəd milyonlarla Ben yəqin ki, olduqca sürətli bunu edə bilər, 505 00:24:58,440 --> 00:25:00,620 olduğunu fərz etsək ədəd boşluqlar. 506 00:25:00,620 --> 00:25:03,450 bir milyon saymaq Pretty asan Əks halda, yalnız vaxt. 507 00:25:03,450 --> 00:25:07,150 >> Belə ki, alqoritm səslənir Ben indi yalnız istifadə kimi 508 00:25:07,150 --> 00:25:08,930 kiçik sayı axtarış idi. 509 00:25:08,930 --> 00:25:12,900 Belə ki, biz insanlar edə bilər, baxmayaraq ki, vizual informasiya bir çox, 510 00:25:12,900 --> 00:25:14,830 kompüter əslində bir az daha məhduddur. 511 00:25:14,830 --> 00:25:17,560 kompüter yalnız bir-bir byte baxmaq 512 00:25:17,560 --> 00:25:20,770 bir sýrada və ya bəlkə dörd bytes bir sýrada bu gün bəlkə 8 bayt 513 00:25:20,770 --> 00:25:24,450 lakin çox az sayda bir zamanda bayt. 514 00:25:24,450 --> 00:25:28,480 >> Belə ki, biz, həqiqətən, var ki, verilmiş Dörd ayrı dəyərlər burada 515 00:25:28,480 --> 00:25:32,440 və olan kimi Ben hesab edə bilər O, kompüter belə olsaydı on blinders 516 00:25:32,440 --> 00:25:36,450 O, digər bir şey görə bilməz ki bir sýrada bir saydan 517 00:25:36,450 --> 00:25:39,720 belə ki, biz ümumiyyətlə kimi, güman ki, English, biz sağ sol oxumaq lazımdır. 518 00:25:39,720 --> 00:25:42,870 Belə ki, ilk number Ben probably baxdı çox tez sonra dörd idi və 519 00:25:42,870 --> 00:25:44,770 ki, olduqca böyük var həyata saysız me axtarır saxlamaq imkan verir. 520 00:25:44,770 --> 00:25:45,357 >> iki var. 521 00:25:45,357 --> 00:25:45,940 Bir dəqiqə gözlə. 522 00:25:45,940 --> 00:25:47,070 İki dörd kiçikdir. 523 00:25:47,070 --> 00:25:47,986 Mən xatırlayıram gedirəm. 524 00:25:47,986 --> 00:25:49,070 Two indi kiçik deyil. 525 00:25:49,070 --> 00:25:50,417 İndi one-- ki, hətta daha yaxşıdır. 526 00:25:50,417 --> 00:25:51,250 Bu hətta kiçik var. 527 00:25:51,250 --> 00:25:54,000 Mən iki unutmaq üçün gedirəm və yalnız indi bir xatırlayıram. 528 00:25:54,000 --> 00:25:56,550 >> O axtarır dayandırmaq bilər? 529 00:25:56,550 --> 00:25:58,360 Bəli, o, əsasən bilər Bu informasiya, 530 00:25:58,360 --> 00:26:00,477 lakin o, daha yaxşı axtarış istədiyiniz siyahısı istirahət. 531 00:26:00,477 --> 00:26:02,060 siyahısında nə sıfır əgər idi çünki? 532 00:26:02,060 --> 00:26:03,643 Nə bir mənfi siyahısına olsaydı? 533 00:26:03,643 --> 00:26:07,720 O, yalnız onun cavab bilir ki o exhaustively əgər doğru 534 00:26:07,720 --> 00:26:08,729 bütün siyahısını yoxlanılır. 535 00:26:08,729 --> 00:26:10,020 Beləliklə, biz bu qalan oldu. 536 00:26:10,020 --> 00:26:11,394 ki Three-- vaxt itkisi idi. 537 00:26:11,394 --> 00:26:13,540 uğursuz var, amma mən bunu doğru hələ. 538 00:26:13,540 --> 00:26:17,857 Və indi o ehtimalla kiçik sayı seçilmiş 539 00:26:17,857 --> 00:26:20,440 və yalnız əvvəlində qoymaq siyahısı, mən burada edəcəyik kimi. 540 00:26:20,440 --> 00:26:23,480 İndi, baxmayaraq ki, növbəti nə etdi təxminən bu barədə düşünmürdüm 541 00:26:23,480 --> 00:26:25,962 bu dərəcədə? 542 00:26:25,962 --> 00:26:27,670 prosesi təkrar, loop belə bir növ. 543 00:26:27,670 --> 00:26:28,920 bir tanış fikir var. 544 00:26:28,920 --> 00:26:30,860 Belə ki, burada dörd edir. 545 00:26:30,860 --> 00:26:32,110 Bu hal-hazırda ən kiçik var. 546 00:26:32,110 --> 00:26:33,220 Bu namizəd var. 547 00:26:33,220 --> 00:26:33,900 Not artıq. 548 00:26:33,900 --> 00:26:34,770 İndi iki gördüm. 549 00:26:34,770 --> 00:26:36,630 Bu növbəti kiçik element var. 550 00:26:36,630 --> 00:26:40,800 ki, deyil kiçik Three-- İndi Ben iki həyata qırpmaq bilər. 551 00:26:40,800 --> 00:26:44,510 >> İndi biz prosesi təkrar və əlbəttə üç növbəti çıxardı olur. 552 00:26:44,510 --> 00:26:45,420 prosesi təkrarlayın. 553 00:26:45,420 --> 00:26:46,990 Four çıxardı olur. 554 00:26:46,990 --> 00:26:50,140 İndi biz nömrələri bitti, belə siyahısı sıralanır olmalıdır. 555 00:26:50,140 --> 00:26:51,960 >> Şübhəsiz ki, bu, formal alqoritm edir. 556 00:26:51,960 --> 00:26:56,610 A kompüter alim olardı "Seçim sort" Bu zəng 557 00:26:56,610 --> 00:27:00,880 fikir sort bir olan yenidən iteratively-- siyahısı 558 00:27:00,880 --> 00:27:03,807 və təkrar seçilməsi kiçik sayı. 559 00:27:03,807 --> 00:27:06,140 Bu barədə gözəl nə var yalnız belə darn asan deyil. 560 00:27:06,140 --> 00:27:07,470 Bu sadə. 561 00:27:07,470 --> 00:27:11,100 Və eyni təkrar edə bilərsiniz əməliyyat təkrar. 562 00:27:11,100 --> 00:27:12,150 Bu sadə. 563 00:27:12,150 --> 00:27:17,170 >> Bu halda sürətli idi, lakin Bu, həqiqətən nə qədər lazımdır? 564 00:27:17,170 --> 00:27:19,880 Nin görünür edək və bir az daha yorucu hiss edirəm. 565 00:27:19,880 --> 00:27:24,150 Belə bir, iki, üç, dörd, beş-altı, yeddi, səkkiz, doqquz, 10, 11, 12, 13, 14, 566 00:27:24,150 --> 00:27:26,160 15 16-- ixtiyari nömrəsi. 567 00:27:26,160 --> 00:27:28,780 Mən daha çox bu istədi Yalnız dörd daha vaxt. 568 00:27:28,780 --> 00:27:30,780 Mən bir bütün var, əgər ədəd dəstə onu now-- 569 00:27:30,780 --> 00:27:32,420 belə etməz Onlar edək are-- nə 570 00:27:32,420 --> 00:27:34,380 nə haqqında düşünmək alqoritm həqiqətən kimi. 571 00:27:34,380 --> 00:27:35,857 >> orada nömrələri var düşünək. 572 00:27:35,857 --> 00:27:38,190 Yenə Fərq etməz nə Onlar, lakin onlar təsadüfi istəyirik. 573 00:27:38,190 --> 00:27:39,679 Mən Ben alqoritm tətbiq edirəm. 574 00:27:39,679 --> 00:27:41,220 Mən kiçik sayı seçmək lazımdır. 575 00:27:41,220 --> 00:27:41,761 Mən nə edirəm? 576 00:27:41,761 --> 00:27:44,240 Mən fiziki gedirəm onu hərəkət bu vaxt. 577 00:27:44,240 --> 00:27:46,099 Axtarıram axtarır, axtarır, axtarır, axtarır. 578 00:27:46,099 --> 00:27:48,140 Yalnız mən almaq zaman siyahısı son bilər 579 00:27:48,140 --> 00:27:51,230 Mən kiçik həyata sayı iki bu idi. 580 00:27:51,230 --> 00:27:52,720 Bir siyahıda deyil. 581 00:27:52,720 --> 00:27:54,400 Mən iki yazmaq. 582 00:27:54,400 --> 00:27:55,590 >> Mən növbəti nə etməliyəm? 583 00:27:55,590 --> 00:27:58,600 axtarır, axtarır, axtarır, axtarır. 584 00:27:58,600 --> 00:28:02,250 İndi, çünki sayı yeddi tapıldı bu nömrələr boşluqlar var 585 00:28:02,250 --> 00:28:03,300 ancaq ixtiyari. 586 00:28:03,300 --> 00:28:03,800 Yaxşı. 587 00:28:03,800 --> 00:28:06,030 Belə ki, indi yeddi yazmaq olar. 588 00:28:06,030 --> 00:28:08,860 Axtarıram axtarır, axtarır. 589 00:28:08,860 --> 00:28:11,030 >> İndi ki, hərfinin alıram Əlbəttə, Ben ki, deyil 590 00:28:11,030 --> 00:28:14,780 əlavə RAM var, əlavə yaddaş, çünki, əlbəttə, 591 00:28:14,780 --> 00:28:16,080 Mən eyni sayda baxıram. 592 00:28:16,080 --> 00:28:18,246 Şübhəsiz ki, mən yadda ola bilər o nömrələr bütün, 593 00:28:18,246 --> 00:28:19,930 ki, tamamilə doğrudur. 594 00:28:19,930 --> 00:28:22,610 Amma Ben bütün xatırlayır əgər nömrələri o görünür ki, 595 00:28:22,610 --> 00:28:24,430 o, həqiqətən çıxarmadı fundamental tərəqqi 596 00:28:24,430 --> 00:28:26,170 o, artıq var, çünki axtarış imkanı 597 00:28:26,170 --> 00:28:27,540 board ədəd vasitəsilə. 598 00:28:27,540 --> 00:28:29,373 bütün xatırlayan nömrələri, kömək etmir 599 00:28:29,373 --> 00:28:32,490 o bir kompüter kimi hələ çünki yalnız dedik etdik, bir sıra baxmaq 600 00:28:32,490 --> 00:28:33,080 anında. 601 00:28:33,080 --> 00:28:35,760 Belə ki, fırıldaqçı heç cür var Siz var leverage bilər. 602 00:28:35,760 --> 00:28:39,170 >> əslində, kimi Mən siyahısı axtarış saxlamaq, 603 00:28:39,170 --> 00:28:44,200 Mən sözün yalnız davam etmək lazımdır Geri və irəli vasitəsilə həyata Yolma 604 00:28:44,200 --> 00:28:45,710 Növbəti kiçik sayı. 605 00:28:45,710 --> 00:28:48,810 Və cür nəticə çıxarmaq olar Mənim silly hərəkəti, 606 00:28:48,810 --> 00:28:50,860 Bu yalnız çox olur çox tez yorucu, 607 00:28:50,860 --> 00:28:54,850 Mən geri gedir görünür və irəli, geri və irəli bir qədər. 608 00:28:54,850 --> 00:29:03,220 İndi ədalətli olmaq, mən getmək yoxdur olduqca, yaxşı, ədalətli olmaq see-- edək 609 00:29:03,220 --> 00:29:06,310 Mən gəzmək yoxdur kimi bir çox addımlar hər zaman. 610 00:29:06,310 --> 00:29:09,200 Çünki əlbəttə, mən siyahıdan nömrələri seçin 611 00:29:09,200 --> 00:29:11,860 Qalan siyahısı qısa olur. 612 00:29:11,860 --> 00:29:14,240 >> Və belə ki, haqqında düşünməyə imkan neçə addımlar Mən, həqiqətən, Ben 613 00:29:14,240 --> 00:29:16,010 Hər zaman vasitəsilə dolaşmışlar. 614 00:29:16,010 --> 00:29:18,950 ilk vəziyyət Biz 16 ədəd idi 615 00:29:18,950 --> 00:29:22,210 və belə ki, yalnız imkan maximally-- bir discussion-- üçün bunu 616 00:29:22,210 --> 00:29:25,640 Mən 16 vasitəsilə baxmaq idi ədəd kiçik tapa bilərsiniz. 617 00:29:25,640 --> 00:29:28,420 Amma bir dəfə mən həyata yoluq kiçik sayı, necə 618 00:29:28,420 --> 00:29:30,590 uzun əlbəttə qalan siyahısını idi? 619 00:29:30,590 --> 00:29:31,420 Just 15. 620 00:29:31,420 --> 00:29:34,670 Belə ki, neçə ədəd Ben və ya mən var idi ətrafında ikinci dəfə baxmaq üçün necə? 621 00:29:34,670 --> 00:29:36,832 15, yalnız getmək və kiçik tapa bilərsiniz. 622 00:29:36,832 --> 00:29:39,540 Amma indi, əlbəttə, siyahısı, də əvvəl daha kiçik. 623 00:29:39,540 --> 00:29:42,540 Belə ki, necə çox addımlar etdim növbəti dəfə almaq lazımdır? 624 00:29:42,540 --> 00:29:49,970 14 və daha sonra 13 və sonra 12 plus dot, Mən yalnız bir ilə tərk edirəm qədər dot, nöqtə. 625 00:29:49,970 --> 00:29:53,146 Belə ki, indi bir kompüter alim olardı bütün bərabər ki, nə yaxşı, xahiş? 626 00:29:53,146 --> 00:29:55,770 Bu, həqiqətən, bəzi konkret bərabərdir sayı ki, biz, əlbəttə, ola bilər 627 00:29:55,770 --> 00:30:00,490 riyazi, lakin biz danışmaq istəyirəm alqoritmlər səmərəliliyi haqqında 628 00:30:00,490 --> 00:30:04,940 daha formulaically bir az, siyahısı nə qədər müstəqil. 629 00:30:04,940 --> 00:30:06,240 >> Və belə ki, nə? 630 00:30:06,240 --> 00:30:09,860 Bu 16, lakin kimi mən əvvəl dediyim, yalnız problem ölçüsü zəng edək 631 00:30:09,860 --> 00:30:10,970 n bir sayı n. 632 00:30:10,970 --> 00:30:13,220 Bəlkə bəlkə bu, 16 var üç, bəlkə bir milyon var. 633 00:30:13,220 --> 00:30:13,761 Bilmirəm. 634 00:30:13,761 --> 00:30:14,390 Mən qayğı yoxdur. 635 00:30:14,390 --> 00:30:16,520 Mən, həqiqətən, istəyirəm bir formula Mən 636 00:30:16,520 --> 00:30:19,420 Bu alqoritm müqayisə üçün istifadə digər alqoritmlər qarşı 637 00:30:19,420 --> 00:30:22,350 kimsə iddia edə bilər ki, yaxşı və ya pis. 638 00:30:22,350 --> 00:30:25,430 >> Belə çıxır, yalnız və yalnız mən Bu sinif məktəb bu bilirik, 639 00:30:25,430 --> 00:30:34,790 Bu, həqiqətən, eyni həyata çalışır ki, n-dən n kimi bir şey plus iki biridir. 640 00:30:34,790 --> 00:30:40,020 Bu, bir bərabər olur Əlbəttə ki, plus n iki kvadrat n. 641 00:30:40,020 --> 00:30:43,250 Belə ki, əgər mən bir düstur istədi neçə addımlar 642 00:30:43,250 --> 00:30:46,330 bütün axtarır cəlb olunub təkrar o nömrələri 643 00:30:46,330 --> 00:30:52,681 və təkrar, mən deyərdim Bu n plus n iki kvadrat edir. 644 00:30:52,681 --> 00:30:53,430 Amma nə bilirik? 645 00:30:53,430 --> 00:30:54,500 Bu messy görünür. 646 00:30:54,500 --> 00:30:56,470 Mən, həqiqətən, istəyirəm şeyi ümumi mənada. 647 00:30:56,470 --> 00:30:58,810 Və geri bilər orta məktəb ki, orada 648 00:30:58,810 --> 00:31:00,660 ən yüksək sifariş müddəti anlayışdır. 649 00:31:00,660 --> 00:31:05,300 Bu şərtlər hansı, n , N, və ya yarım kvadrat, 650 00:31:05,300 --> 00:31:07,550 zamanla ən təsir göstərir? 651 00:31:07,550 --> 00:31:11,920 böyük n, əldə olan ən bu məsələlərin? 652 00:31:11,920 --> 00:31:15,560 >> Başqa sözlə, mən plug əgər Bir milyon, n kvadrat 653 00:31:15,560 --> 00:31:17,900 çox güman ki, olacaq hakim amil, 654 00:31:17,900 --> 00:31:21,670 çünki bir milyon dəfə özü çox böyükdür 655 00:31:21,670 --> 00:31:23,682 çox plus bir milyon əlavə. 656 00:31:23,682 --> 00:31:24,390 Belə ki, nə? 657 00:31:24,390 --> 00:31:27,305 Bu bir darn böyük sayı bir sıra kvadrat əgər. 658 00:31:27,305 --> 00:31:28,430 Bu, həqiqətən etməz. 659 00:31:28,430 --> 00:31:30,596 Biz yalnız cross olacaq ki, həyata və bu barədə unudurlar. 660 00:31:30,596 --> 00:31:34,250 Və belə bir kompüter alim deyərdim Bu alqoritm səmərəliliyi 661 00:31:34,250 --> 00:31:37,850 n qaydada deyil squared-- Mən, həqiqətən, bir uyğunlaşdırılması deməkdir. 662 00:31:37,850 --> 00:31:40,810 Bu sort təxminən n kvadrat edir. 663 00:31:40,810 --> 00:31:44,130 Zamanla, böyük və daha böyük n bu, olur 664 00:31:44,130 --> 00:31:47,610 nə üçün yaxşı qiymətdir səmərəlilik və ya səmərəliliyinin olmaması 665 00:31:47,610 --> 00:31:49,400 Bu alqoritm əslində. 666 00:31:49,400 --> 00:31:52,040 Mən əldə ki, əlbəttə, həqiqətən riyaziyyat bunu edir. 667 00:31:52,040 --> 00:31:54,040 Amma indi mən yalnız waving alıram Mənim əlləri, çünki yalnız 668 00:31:54,040 --> 00:31:55,790 Bu alqoritm bir ümumi mənada istəyirəm. 669 00:31:55,790 --> 00:31:58,850 >> Belə ki, eyni məntiq istifadə edərək, eyni zamanda, Başqa bir alqoritm nəzər salaq 670 00:31:58,850 --> 00:32:01,162 biz artıq at-- xətti axtarış baxdı. 671 00:32:01,162 --> 00:32:02,870 Mən axtarış telefon book-- üçün 672 00:32:02,870 --> 00:32:05,980 axtarış, çeşidlənməsi deyil telefon book-- vasitəsilə 673 00:32:05,980 --> 00:32:09,197 biz olduğunu deyərək saxlanılır 1000 addımlar, və ya 500 addımlar. 674 00:32:09,197 --> 00:32:10,280 Amma ki, ümumiləşdirmək edək. 675 00:32:10,280 --> 00:32:12,860 N pages varsa telefon kitab, nə 676 00:32:12,860 --> 00:32:17,250 çalışan zaman və ya xətti axtarış səmərəliliyi? 677 00:32:17,250 --> 00:32:19,750 Bu əmri var neçə addımlar tapmaq üçün 678 00:32:19,750 --> 00:32:24,210 Mike Smith, xətti axtarış istifadə ilk alqoritm, və ya hətta ikinci? 679 00:32:24,210 --> 00:32:27,240 680 00:32:27,240 --> 00:32:31,710 >> Ən pis halda, Mike In Kitabın sonunda. 681 00:32:31,710 --> 00:32:35,590 telefon kitab 1000 pages Belə ki, biz ən pis halda, son dəfə bildirib 682 00:32:35,590 --> 00:32:38,380 Bu təxminən necə ola bilər çox pages Mike tapmaq üçün? 683 00:32:38,380 --> 00:32:38,990 1000 kimi. 684 00:32:38,990 --> 00:32:39,830 Bu yuxarı bound var. 685 00:32:39,830 --> 00:32:41,790 Bu pis mümkün vəziyyət var. 686 00:32:41,790 --> 00:32:44,410 Ancaq yenə də, biz üz hərəkət edirik İndi 1000 kimi nömrələri. 687 00:32:44,410 --> 00:32:45,730 Bu, sadəcə n var. 688 00:32:45,730 --> 00:32:47,470 >> Belə ki, məntiqi nəticə nədir? 689 00:32:47,470 --> 00:32:50,210 telefon Mike tapmaq n pages kitab 690 00:32:50,210 --> 00:32:55,280 çox pis halda, bilər, neçə n sifarişi addımlar? 691 00:32:55,280 --> 00:32:58,110 Həqiqətən kompüter alim deyərdim 692 00:32:58,110 --> 00:33:02,340 çalışan zaman, və ya performans və ya səmərəlilik 693 00:33:02,340 --> 00:33:07,470 alqoritm kimi və ya təsirsizlik, xətti axtarış n sifarişi edir. 694 00:33:07,470 --> 00:33:10,010 Və eyni müraciət edə bilər bir şey keçən məntiqi 695 00:33:10,010 --> 00:33:13,170 Mən yalnız ikinci kimi alqoritm biz telefon kitab idi 696 00:33:13,170 --> 00:33:16,040 biz bir zamanda iki pages getdi. 697 00:33:16,040 --> 00:33:20,120 >> Belə ki, 1000-səhifə telefon kitab bilər 500 səhifə növbə bizi, plus bir 698 00:33:20,120 --> 00:33:21,910 biz bir az geri ikiqat əgər. 699 00:33:21,910 --> 00:33:26,590 Belə ki, bir telefon kitab n pages, lakin biz bir zamanda iki pages edirik 700 00:33:26,590 --> 00:33:28,900 ki, təxminən nə var? 701 00:33:28,900 --> 00:33:33,190 iki N, belə ki, iki n kimi. 702 00:33:33,190 --> 00:33:38,490 Amma iddia etdi two-- üzərində an əvvəl n 703 00:33:38,490 --> 00:33:41,060 yalnız n eyni növü var. 704 00:33:41,060 --> 00:33:44,050 Bu, yalnız bir sabit amil var kompüter elm demək olardı. 705 00:33:44,050 --> 00:33:45,970 yalnız diqqət edək dəyişənlər, həqiqətən, 706 00:33:45,970 --> 00:33:47,780 tənlik ən böyük dəyişənlər. 707 00:33:47,780 --> 00:33:52,530 >> bir həyata olub xətti axtarış, Bir anda səhifə və ya bir zamanda iki pages, 708 00:33:52,530 --> 00:33:54,810 sort əsaslı eyni. 709 00:33:54,810 --> 00:33:56,880 Bu n qaydada hələ də var. 710 00:33:56,880 --> 00:34:01,930 Amma əvvəllər mənim şəkil ilə iddia üçüncü alqoritm idi ki, 711 00:34:01,930 --> 00:34:02,480 xətti. 712 00:34:02,480 --> 00:34:03,605 Bu düz xətt deyil. 713 00:34:03,605 --> 00:34:08,659 Bu əyri xətt idi, cəbri formula var nə idi? 714 00:34:08,659 --> 00:34:11,812 n-- Giriş belə n baza iki daxil edin. 715 00:34:11,812 --> 00:34:14,520 Və biz də getmək yoxdur logarithms çox ətraflı bu gün 716 00:34:14,520 --> 00:34:17,394 lakin ən kompüter elm deyil ki hətta baza nə sizə. 717 00:34:17,394 --> 00:34:20,639 Bu, çünki yalnız daimi amillər, belə ki, danışmaq 718 00:34:20,639 --> 00:34:22,659 yalnız cüzi rəqəmli fərqlər. 719 00:34:22,659 --> 00:34:31,179 Və bu çox ümumi ola bilər xüsusilə formal kompüter üçün yol 720 00:34:31,179 --> 00:34:33,949 bir board elm və ya ağ board proqramçılar 721 00:34:33,949 --> 00:34:36,889 həqiqətən mübahisə edən onlar istifadə ki alqoritm 722 00:34:36,889 --> 00:34:39,500 və ya nə səmərəlilik onların alqoritm edir. 723 00:34:39,500 --> 00:34:42,960 >> Bu mütləq bir şey deyil Hər hansı bir böyük ətraflı müzakirə 724 00:34:42,960 --> 00:34:47,889 lakin yaxşı bir proqramçı kimsə kim möhkəm, formal fon var. 725 00:34:47,889 --> 00:34:50,120 O, danışmaq edə yol bu cür siz 726 00:34:50,120 --> 00:34:53,350 və həqiqətən etmək kimi keyfiyyətli dəlilləri 727 00:34:53,350 --> 00:34:56,870 niyə bir alqoritm və ya proqram bir parça 728 00:34:56,870 --> 00:35:00,165 başqa bir şəkildə üstün deyil. 729 00:35:00,165 --> 00:35:02,540 əlbəttə bilər, çünki Yalnız bir şəxsin proqram run 730 00:35:02,540 --> 00:35:04,980 və saniyə sayını bəzi nömrələri düzmək üçün edir, 731 00:35:04,980 --> 00:35:06,710 və bəzi çalıştırabilirsiniz digər şəxsin proqram 732 00:35:06,710 --> 00:35:08,418 və sayını saniyə lazım. 733 00:35:08,418 --> 00:35:12,840 Amma bu daha ümumi bir yoldur ki Siz alqoritmlər analiz üçün istifadə edə bilərsiniz, 734 00:35:12,840 --> 00:35:15,520 yalnız, siz əgər kağız və ya sadəcə şifahi. 735 00:35:15,520 --> 00:35:18,430 Olmadan belə olmadan, çalışan hətta nümunə giriş çalışır 736 00:35:18,430 --> 00:35:20,180 Yalnız onun vasitəsilə səbəb ola bilər. 737 00:35:20,180 --> 00:35:24,670 Və belə bir geliştirici və ya işə ilə ona olan və ya onun sort sənə mübahisə 738 00:35:24,670 --> 00:35:28,460 niyə öz alqoritm, onların gizli milyardlarla axtarış üçün sousu 739 00:35:28,460 --> 00:35:30,580 üçün web pages sizin Şirkət bu, daha yaxşıdır 740 00:35:30,580 --> 00:35:33,302 dəlilləri növ onlar ideal etmək lazımdır. 741 00:35:33,302 --> 00:35:35,010 Və ya ən azı bunlar şeyi növ 742 00:35:35,010 --> 00:35:40,211 ki, müzakirə gəlib ki, çox formal müzakirə azı. 743 00:35:40,211 --> 00:35:40,710 Yaxşı. 744 00:35:40,710 --> 00:35:44,400 Belə ki, Ben bir şey təklif seçim sort çağırıb. 745 00:35:44,400 --> 00:35:48,200 Amma var ki, təklif gedirəm də bunu digər yolları. 746 00:35:48,200 --> 00:35:50,400 Mən, həqiqətən, kimi deyil nə Ben alqoritm haqqında 747 00:35:50,400 --> 00:35:54,400 o gəzinti saxlanılır, və ya ki, Mənə geri və irəli, gəzmək edərək 748 00:35:54,400 --> 00:35:56,930 və geri və irəli və geri və irəli. 749 00:35:56,930 --> 00:36:04,130 əvəzinə, mən bunu nə idi Burada bu nömrələri kimi bir şey 750 00:36:04,130 --> 00:36:08,200 və mən yalnız hər ilə məşğul idi sayı növbəsində mən onu verilmiş alıram kimi? 751 00:36:08,200 --> 00:36:10,780 >> Başqa sözlə, burada nömrələri mənim siyahısı. 752 00:36:10,780 --> 00:36:12,944 Four, bir, üç, iki. 753 00:36:12,944 --> 00:36:14,360 Mən aşağıdakı gedirəm. 754 00:36:14,360 --> 00:36:17,230 Mən nömrələri daxil etmək üçün gedirəm onlar mənsub olduğu 755 00:36:17,230 --> 00:36:18,980 bir zamanda onlara bir seçerek daha. 756 00:36:18,980 --> 00:36:20,820 Başqa sözlə, burada sayı dörd var. 757 00:36:20,820 --> 00:36:22,430 >> Burada mənim orijinal siyahısı. 758 00:36:22,430 --> 00:36:25,290 Mən saxlamaq üçün gedirəm burada mahiyyətcə yeni bir siyahısını edir. 759 00:36:25,290 --> 00:36:26,710 Belə ki, bu köhnə siyahısı. 760 00:36:26,710 --> 00:36:28,560 Bu yeni siyahısı. 761 00:36:28,560 --> 00:36:30,220 Mən sayı dörd ilk oldu. 762 00:36:30,220 --> 00:36:34,500 Mənim yeni siyahısı ilkin boş belə ki, Trivially belədir 763 00:36:34,500 --> 00:36:36,410 dörd indi siyahısını çeşidlənərək edir. 764 00:36:36,410 --> 00:36:39,560 Mən yalnız mən verilmiş alıram sayı alaraq alıram və mən yeni siyahısında qoyulması alıram. 765 00:36:39,560 --> 00:36:41,460 >> Bu yeni siyahı çeşidlənir? 766 00:36:41,460 --> 00:36:41,990 Bəli. 767 00:36:41,990 --> 00:36:45,090 yalnız bir var, çünki axmaq var element, lakin tamamilə sıralanır. 768 00:36:45,090 --> 00:36:46,390 yersiz bir şey yoxdur. 769 00:36:46,390 --> 00:36:49,290 Bu daha maraqlı, bu alqoritm, Mən növbəti addım hərəkət. 770 00:36:49,290 --> 00:36:50,550 >> İndi bir var. 771 00:36:50,550 --> 00:36:55,430 Belə ki, bir, əlbəttə, at məxsusdur başlayan və ya bu yeni siyahısı sonu? 772 00:36:55,430 --> 00:36:56,360 Başlanğıc. 773 00:36:56,360 --> 00:36:58,530 Mən indi bəzi iş var. 774 00:36:58,530 --> 00:37:01,410 Mən qəbul etdik Mənim marker ilə azadlıqlarının 775 00:37:01,410 --> 00:37:03,120 şeyi çəkərək Mən onlara istədiyiniz, 776 00:37:03,120 --> 00:37:05,320 lakin həqiqətən deyil kompüter dəqiq. 777 00:37:05,320 --> 00:37:08,530 Bildiyimiz kimi kompüter, var RAM, və ya Random Access Memory, 778 00:37:08,530 --> 00:37:12,411 və bir byte və başqa byte və başqa byte. 779 00:37:12,411 --> 00:37:14,910 Və bir gigabyte varsa RAM, bir milyard bayt var, 780 00:37:14,910 --> 00:37:16,680 lakin onlar bir yerdə fiziki istəyirik. 781 00:37:16,680 --> 00:37:19,540 Siz yalnız ətrafında stuff hərəkət edə bilməz board onu çəkərək 782 00:37:19,540 --> 00:37:20,750 istədiyiniz yerdə. 783 00:37:20,750 --> 00:37:24,090 Yeni siyahı var So yaddaş dörd locations, 784 00:37:24,090 --> 00:37:27,480 təəssüf ki, dörd Artıq səhv yerdə. 785 00:37:27,480 --> 00:37:30,410 >> Belə ki sayı daxil bir Mən burada çəkə bilməz. 786 00:37:30,410 --> 00:37:31,901 Bu yaddaş yeri yoxdur. 787 00:37:31,901 --> 00:37:35,150 Bu xəyanət olardı, və mən olmuşdur bir neçə dəqiqə pictorially xəyanət 788 00:37:35,150 --> 00:37:35,800 burada. 789 00:37:35,800 --> 00:37:40,950 Belə ki, həqiqətən, Mən burada bir qoymaq istəyirsinizsə, Mən müvəqqəti dörd surəti var 790 00:37:40,950 --> 00:37:43,030 və sonra bir qoymaq. 791 00:37:43,030 --> 00:37:45,500 >> Ki, ki, doğru deyil, gözəl ki, texniki mümkündür 792 00:37:45,500 --> 00:37:48,410 lakin əlavə iş bilirik. 793 00:37:48,410 --> 00:37:50,460 Mən yalnız yerdə sayı qoymadı. 794 00:37:50,460 --> 00:37:53,026 Mən ilk bir hərəkət idi sayı, sonra yerdə qoyun 795 00:37:53,026 --> 00:37:54,650 mən cür iş mənim məbləği iki dəfə. 796 00:37:54,650 --> 00:37:55,660 Belə ki, nəzərə ki, saxlamaq. 797 00:37:55,660 --> 00:37:57,120 >> Amma indi bu element ilə bitirdim. 798 00:37:57,120 --> 00:37:59,056 İndi sıra üç qamarlamaq istəyirəm. 799 00:37:59,056 --> 00:38:00,430 Harada, əlbəttə, bu, aid deyil? 800 00:38:00,430 --> 00:38:01,480 Arasında. 801 00:38:01,480 --> 00:38:03,650 Mən artıq fırıldaqçı bilməz və yalnız orada qoyun 802 00:38:03,650 --> 00:38:06,770 Yenə, bu yaddaş çünki fiziki yerlərdə var. 803 00:38:06,770 --> 00:38:10,900 Mən dörd surəti var və burada üç qoymaq. 804 00:38:10,900 --> 00:38:11,550 Bir böyük. 805 00:38:11,550 --> 00:38:14,610 Bu, yalnız bir əlavə addım again-- çox ucuz hiss edir. 806 00:38:14,610 --> 00:38:16,445 >> Amma indi iki keçin. 807 00:38:16,445 --> 00:38:17,820 iki, əlbəttə, burada məxsusdur. 808 00:38:17,820 --> 00:38:20,990 İndi necə başlamaq iş qalamaq bilər. 809 00:38:20,990 --> 00:38:23,520 İndi mən nə etmək lazımdır? 810 00:38:23,520 --> 00:38:28,570 Bəli, mən dörd hərəkət var, Mən, üç surəti var 811 00:38:28,570 --> 00:38:31,200 və indi iki əlavə edə bilərsiniz. 812 00:38:31,200 --> 00:38:34,460 Bu ilə tutmaq alqoritm, Maraqlıdır ki, 813 00:38:34,460 --> 00:38:41,050 ki, biz bir daha çox var Güman edilir Bu səkkiz yeddi deyək işi, 814 00:38:41,050 --> 00:38:45,150 altı, beş, dörd, üç, iki, bir. 815 00:38:45,150 --> 00:38:49,450 Bu çox kontekstlərdə edir, ən pis halda ssenari, 816 00:38:49,450 --> 00:38:51,570 darn şey çünki sanki geri edir. 817 00:38:51,570 --> 00:38:53,670 >> Bu, həqiqətən deyil , Ben alqoritm təsir 818 00:38:53,670 --> 00:38:55,940 çünki Ben seçilməsi sort o saxlamaq olacaq 819 00:38:55,940 --> 00:38:58,359 geri və irəli siyahısı keçir. 820 00:38:58,359 --> 00:39:01,150 O, həmişə axtarır, çünki bütün qalan siyahısını, 821 00:39:01,150 --> 00:39:02,858 etməz elementləri olduğu. 822 00:39:02,858 --> 00:39:05,630 Amma mənim taxmadan ilə bu halda approach-- bu cəhd edək. 823 00:39:05,630 --> 00:39:08,616 >> Belə bir, iki, üç, dörd, beş, altı, yeddi, səkkiz. 824 00:39:08,616 --> 00:39:11,630 Bir iki üç dörd, beş, altı, yeddi, səkkiz. 825 00:39:11,630 --> 00:39:14,320 Mən səkkiz almaq üçün gedirəm və harada qoymaq bilərəm? 826 00:39:14,320 --> 00:39:17,260 Bəli, mənim siyahının başında, Bu yeni siyahı sıralanır çünki. 827 00:39:17,260 --> 00:39:18,760 Mən onu keçmək. 828 00:39:18,760 --> 00:39:20,551 >> Harada yeddi qoymaq bilərəm? 829 00:39:20,551 --> 00:39:21,050 bu darn. 830 00:39:21,050 --> 00:39:23,174 Bu, orada getmək lazımdır, belə ki, Mən bəzi çıxarmaq var. 831 00:39:23,174 --> 00:39:26,820 832 00:39:26,820 --> 00:39:28,480 İndi yeddi burada gedir. 833 00:39:28,480 --> 00:39:29,860 İndi altı keçin. 834 00:39:29,860 --> 00:39:30,980 İndi hətta daha çox iş var. 835 00:39:30,980 --> 00:39:32,570 >> Səkkiz burada getmək üçün var. 836 00:39:32,570 --> 00:39:33,920 Seven burada getmək üçün var. 837 00:39:33,920 --> 00:39:35,450 İndi altı burada edə bilərsiniz. 838 00:39:35,450 --> 00:39:37,950 İndi beş grab. 839 00:39:37,950 --> 00:39:40,560 İndi səkkiz getmək üçün var Burada yeddi burada getmək üçün var, 840 00:39:40,560 --> 00:39:43,650 altı burada getmək üçün var, və İndi beş və təkrar. 841 00:39:43,650 --> 00:39:46,610 Mən olduqca çox deyiləm daim hərəkət. 842 00:39:46,610 --> 00:39:52,950 >> Belə ki, sonunda, bu alqoritm alacağıq durub həqiqətən sort zəng 843 00:39:52,950 --> 00:39:55,020 çox çox iş var. 844 00:39:55,020 --> 00:39:56,970 Bu, sadəcə fərqli Ben daha işinin cür. 845 00:39:56,970 --> 00:40:00,090 Ben iş mənə davam idi geri və irəli bütün vaxt, 846 00:40:00,090 --> 00:40:03,510 kiçik növbəti seçilməsi element təkrar. 847 00:40:03,510 --> 00:40:06,660 Belə ki, iş bu çox əyani cür idi. 848 00:40:06,660 --> 00:40:10,600 >> hələ də bu digər alqoritm, correct-- bu iş olacaq done-- 849 00:40:10,600 --> 00:40:12,800 yalnız iş məbləği dəyişir. 850 00:40:12,800 --> 00:40:15,420 Əvvəlcə siz etdiyiniz kimi görünür Yalnız istəyirik, çünki, qənaət 851 00:40:15,420 --> 00:40:19,190 Hər bir element ilə məşğul ön qədər bütün gəzinti olmadan 852 00:40:19,190 --> 00:40:20,930 Ben kimi siyahısını yol idi. 853 00:40:20,930 --> 00:40:25,300 Amma problem xüsusilə bu da var bütün geri var crazy hallarda, 854 00:40:25,300 --> 00:40:27,830 Siz cür yalnız istəyirik ağır iş təxirə salınması 855 00:40:27,830 --> 00:40:30,360 Siz səhvlər düzeltmek üçün qədər. 856 00:40:30,360 --> 00:40:33,919 >> Və əgər bu təsəvvür edə bilərsiniz səkkiz və yeddi və altı və beş 857 00:40:33,919 --> 00:40:36,710 və sonra dörd və üç və iki siyahısı vasitəsilə yol hərəkət, 858 00:40:36,710 --> 00:40:39,060 biz yalnız değiştirdik iş növü biz bunu edirik. 859 00:40:39,060 --> 00:40:42,340 Bunun əvəzinə onu bunu Mənim iteration başlayan, 860 00:40:42,340 --> 00:40:45,250 Mən yalnız onu edirəm hər iteration sonunda. 861 00:40:45,250 --> 00:40:50,550 Belə ki, bu alqoritm çıxır ki, çox, ümumiyyətlə deyilən durub sort, 862 00:40:50,550 --> 00:40:52,190 kvadrat n qaydada edir. 863 00:40:52,190 --> 00:40:56,480 Bu daha yaxşı həqiqətən var yaxşı bütün. 864 00:40:56,480 --> 00:41:00,810 >> Lakin, üçüncü yanaşma var Mən hesab bizi təşviq edəcək 865 00:41:00,810 --> 00:41:02,970 olan bu. 866 00:41:02,970 --> 00:41:07,850 Belə sadəlik üçün, mənim siyahısı güman yenə dörd bir, üç, 867 00:41:07,850 --> 00:41:11,080 yalnız dörd ədəd two--. 868 00:41:11,080 --> 00:41:13,300 Ben yaxşı intuisiya idi yaxşı insan intuisiya 869 00:41:13,300 --> 00:41:16,340 əvvəl olan biz bütün sabit eventually-- durub sort siyahısı. 870 00:41:16,340 --> 00:41:18,020 Bizi boyunca coaxed. 871 00:41:18,020 --> 00:41:22,530 Amma hesab edək bu siyahı düzeltmek üçün sadə yolu. 872 00:41:22,530 --> 00:41:24,110 >> Bu siyahı sıralanır deyil. 873 00:41:24,110 --> 00:41:26,130 Niyə? 874 00:41:26,130 --> 00:41:31,920 İngilis dili, izah bu, həqiqətən sıralanır deyil. 875 00:41:31,920 --> 00:41:33,400 Bu sıralanır deyil nə deməkdir? 876 00:41:33,400 --> 00:41:34,220 >> TƏLƏBƏ: Bu ardıcıl deyil. 877 00:41:34,220 --> 00:41:34,990 >> DAVID MALAN: ardıcıl deyil. 878 00:41:34,990 --> 00:41:35,822 mənə bir nümunə çəkin. 879 00:41:35,822 --> 00:41:37,180 >> TƏLƏBƏ: onları qoyun. 880 00:41:37,180 --> 00:41:37,440 >> DAVID MALAN: OK. 881 00:41:37,440 --> 00:41:38,790 Mənə bir daha xüsusi nümunə çəkin. 882 00:41:38,790 --> 00:41:39,832 >> TƏLƏBƏ: sifariş Artan. 883 00:41:39,832 --> 00:41:41,206 DAVID MALAN: sifariş artan deyil. 884 00:41:41,206 --> 00:41:42,100 daha dəqiq olun. 885 00:41:42,100 --> 00:41:45,190 Mən artan demək nə bilmirəm. 886 00:41:45,190 --> 00:41:47,150 Səhv nədir? 887 00:41:47,150 --> 00:41:49,930 >> TƏLƏBƏ: kiçik ədəd ilk kosmik deyil. 888 00:41:49,930 --> 00:41:51,140 >> DAVID MALAN: kiçik sayı üzrə ilk kosmik. 889 00:41:51,140 --> 00:41:52,120 Daha konkret olun. 890 00:41:52,120 --> 00:41:55,000 Mən tutmaq üçün başlayan alıram. 891 00:41:55,000 --> 00:41:59,470 Biz sayılması, lakin edirik burada qaydada həyata nə var? 892 00:41:59,470 --> 00:42:00,707 >> TƏLƏBƏ: ədədi ardıcıllığı. 893 00:42:00,707 --> 00:42:02,040 DAVID MALAN: ədədi ardıcıllığı. 894 00:42:02,040 --> 00:42:04,248 saxlanılması Hər kəsin cür bu, çox yüksək səviyyədə burada. 895 00:42:04,248 --> 00:42:07,450 Just sözün nə mənə beş yaşlı gücü kimi yanlış. 896 00:42:07,450 --> 00:42:08,310 >> TƏLƏBƏ: Plus biridir. 897 00:42:08,310 --> 00:42:08,750 >> DAVID MALAN: Nə olub? 898 00:42:08,750 --> 00:42:09,610 >> TƏLƏBƏ: Plus biridir. 899 00:42:09,610 --> 00:42:11,235 >> DAVID MALAN: Siz plus bir deməkdir? 900 00:42:11,235 --> 00:42:12,754 901 00:42:12,754 --> 00:42:14,170 Mənə başqa bir beş yaşlı verin. 902 00:42:14,170 --> 00:42:16,840 903 00:42:16,840 --> 00:42:18,330 yanlış, mom nədir? 904 00:42:18,330 --> 00:42:19,940 səhv dad nədir? 905 00:42:19,940 --> 00:42:22,808 Bu sıralanır deyil nə deməkdir? 906 00:42:22,808 --> 00:42:24,370 >> TƏLƏBƏ: Bu doğru yer deyil. 907 00:42:24,370 --> 00:42:25,580 >> DAVID MALAN: Nə Biz doğru yerdə? 908 00:42:25,580 --> 00:42:26,174 >> TƏLƏBƏ: Four. 909 00:42:26,174 --> 00:42:27,090 DAVID MALAN: OK, yaxşı. 910 00:42:27,090 --> 00:42:29,110 Bu olmalıdır Belə ki, dörd deyil. 911 00:42:29,110 --> 00:42:30,590 Xüsusilə, bu doğru deyil? 912 00:42:30,590 --> 00:42:33,000 Dörd bir ilk Mən iki ədəd. 913 00:42:33,000 --> 00:42:34,930 bu doğru deyilmi? 914 00:42:34,930 --> 00:42:36,427 Xeyr, onlar üçün bitti, sağ? 915 00:42:36,427 --> 00:42:38,135 Əslində, indi düşünürəm çox kompüter haqqında. 916 00:42:38,135 --> 00:42:40,824 Bu, yalnız bəlkə bir baxmaq olar once-- bəlkə iki şey 917 00:42:40,824 --> 00:42:43,240 və həqiqətən yalnız bir şey Bir anda, lakin ola bilər, ən azı 918 00:42:43,240 --> 00:42:45,790 bir şey sonra baxmaq sağ yanındakı növbəti şey. 919 00:42:45,790 --> 00:42:47,380 >> Belə ki, bu qaydada var? 920 00:42:47,380 --> 00:42:48,032 Əlbəttə yox. 921 00:42:48,032 --> 00:42:48,740 Belə ki, nə? 922 00:42:48,740 --> 00:42:51,020 Niyə biz körpə etmirlər Bu problem təyinat addımlar 923 00:42:51,020 --> 00:42:53,410 əvəzinə bu xülya bunu Ben kimi alqoritmlər 924 00:42:53,410 --> 00:42:56,440 o cür ilə təyinat oldu siyahısını loop 925 00:42:56,440 --> 00:42:59,670 Əksinə, mən nə bunu biz getmək kimi yalnız cür sabit? 926 00:42:59,670 --> 00:43:03,650 Yalnız sözün qırmaq edək order-- ardıcıl anlayışı, 927 00:43:03,650 --> 00:43:06,990 Siz want-- nə zəng Bu pairwise müqayisə daxil. 928 00:43:06,990 --> 00:43:07,590 >> Dörd bir. 929 00:43:07,590 --> 00:43:09,970 Bu düzgün qaydada deyilmi? 930 00:43:09,970 --> 00:43:11,310 Belə ki, düzeltmek bildirin. 931 00:43:11,310 --> 00:43:14,700 Bir və dörd və sonra biz yalnız surəti lazımdır. 932 00:43:14,700 --> 00:43:15,560 Bütün sağ, yaxşı. 933 00:43:15,560 --> 00:43:17,022 Mən bir və dörd əsas. 934 00:43:17,022 --> 00:43:18,320 Üç və iki? 935 00:43:18,320 --> 00:43:18,820 Yox. 936 00:43:18,820 --> 00:43:21,690 Mənim sözlərim mənim barmaqlarını uyğun edək. 937 00:43:21,690 --> 00:43:23,695 Dörd və üç? 938 00:43:23,695 --> 00:43:27,930 >> Bu qaydada deyil, belə ki, mən gedirəm bir, üç, dörd, iki etmək. 939 00:43:27,930 --> 00:43:28,680 Yaxşı, oldu. 940 00:43:28,680 --> 00:43:32,310 İndi dörd və iki? 941 00:43:32,310 --> 00:43:33,370 Biz də bu düzeltmek lazımdır. 942 00:43:33,370 --> 00:43:36,700 Belə ki, bir, üç, iki, dörd. 943 00:43:36,700 --> 00:43:39,820 Belə ki, çeşidlənir? 944 00:43:39,820 --> 00:43:43,170 Xeyr, lakin bu sıralanır daha yaxındır? 945 00:43:43,170 --> 00:43:48,930 >> bu sabit, çünki var səhv, biz bu səhvi sabit 946 00:43:48,930 --> 00:43:50,370 və biz bu səhvi müəyyən. 947 00:43:50,370 --> 00:43:52,420 Beləliklə, biz arguably üç səhvlər Sabit. 948 00:43:52,420 --> 00:43:58,100 Hələ həqiqətən sorted baxmaq deyil, Bu sorted obyektiv yaxındır 949 00:43:58,100 --> 00:44:00,080 biz o səhvləri bəzi sabit, çünki. 950 00:44:00,080 --> 00:44:02,047 >> İndi mən növbəti nə etməliyəm? 951 00:44:02,047 --> 00:44:03,630 I növ siyahısı sona gəlindi. 952 00:44:03,630 --> 00:44:05,680 Mən sabit görünürdü bütün səhvlər, lakin heç bir. 953 00:44:05,680 --> 00:44:08,510 bu halda, bəzi nömrələri Çünki yaxın up bubbled ola bilər 954 00:44:08,510 --> 00:44:10,410 digər nömrələri ki, qaydada həyata hələ də. 955 00:44:10,410 --> 00:44:12,951 Belə ki, daha bunu edək və mən lazımdır yalnız yerdə bu dəfə bunu. 956 00:44:12,951 --> 00:44:14,170 Bir və üç? 957 00:44:14,170 --> 00:44:14,720 Bu yaxşıdır. 958 00:44:14,720 --> 00:44:16,070 Üç və iki? 959 00:44:16,070 --> 00:44:17,560 Əlbəttə yox, belə ki, dəyişdirmək imkan verir. 960 00:44:17,560 --> 00:44:19,160 Belə ki, iki, üç. 961 00:44:19,160 --> 00:44:21,340 Üç və dörd? 962 00:44:21,340 --> 00:44:24,370 İndi yalnız olsun Burada xüsusilə xırdaçı. 963 00:44:24,370 --> 00:44:26,350 Bu çeşidlənir? 964 00:44:26,350 --> 00:44:29,280 Siz insanlar sıralanır bilirik. 965 00:44:29,280 --> 00:44:30,400 >> Mən yenidən cəhd etməlidir. 966 00:44:30,400 --> 00:44:31,900 Belə ki, Olivia mən bir daha cəhd təklif edir. 967 00:44:31,900 --> 00:44:32,530 Niyə? 968 00:44:32,530 --> 00:44:35,810 Kompüter yoxdur, çünki insan gözü lüks 969 00:44:35,810 --> 00:44:38,080 yalnız back-- OK salan, mən bitirdim. 970 00:44:38,080 --> 00:44:41,610 Necə kompüter müəyyən edir siyahısı indi çeşidlənir ki? 971 00:44:41,610 --> 00:44:44,590 Mexaniki. 972 00:44:44,590 --> 00:44:47,650 >> Mən vasitəsilə getmək lazımdır bir daha, yalnız və yalnız əgər mən 973 00:44:47,650 --> 00:44:51,190 Mən hər hansı bir səhv tapmaq / bilərsiniz yoxdur sonra yep, kompüter bağlamaq, 974 00:44:51,190 --> 00:44:51,980 biz getmək iyi. 975 00:44:51,980 --> 00:44:54,850 Belə ki, bir və iki, iki və üç, üç və dörd. 976 00:44:54,850 --> 00:44:58,030 İndi qəti bu demək olar Mən heç bir dəyişiklik etdi, çünki, çeşidlənir. 977 00:44:58,030 --> 00:45:01,940 İndi bir səhv və yalnız ki, axmaq I əgər, kompüter, 978 00:45:01,940 --> 00:45:05,640 yenə həmin suallar müxtəlif cavablar gözləyirik. 979 00:45:05,640 --> 00:45:07,110 baş verə bilməz. 980 00:45:07,110 --> 00:45:08,600 >> Və indi siyahısı çeşidlənir. 981 00:45:08,600 --> 00:45:12,630 Təəssüf ki, vaxt çalışan Bu alqoritm də kvadrat n. 982 00:45:12,630 --> 00:45:13,130 Niyə? 983 00:45:13,130 --> 00:45:19,520 Siz n nömrələri, və var ən pis halda siz n nömrələri hərəkət var 984 00:45:19,520 --> 00:45:23,637 n dəfə davam etmək lazımdır, çünki geri yoxlamaq üçün və potensial fix 985 00:45:23,637 --> 00:45:24,220 bu nömrələri. 986 00:45:24,220 --> 00:45:26,280 Və biz bir çox edə bilərsiniz çox formal təhlili. 987 00:45:26,280 --> 00:45:29,530 >> Belə ki, bu biz qəbul etdik demək deyil üç müxtəlif yanaşmalar, bir 988 00:45:29,530 --> 00:45:32,210 Onların dərhal intuitiv Ben yarasa off 989 00:45:32,210 --> 00:45:35,170 Mənim təklif daxil etmək bu bir sort 990 00:45:35,170 --> 00:45:38,540 cür qaçırmaq olduğu ilkin ağaclar üçün meşə. 991 00:45:38,540 --> 00:45:41,760 Amma sonra, bir addım geri əgər voiture, biz çeşidlənməsi anlayışı müəyyən etdik. 992 00:45:41,760 --> 00:45:43,824 Belə ki, bu, demək cəsarət edir aşağı səviyyədə bəlkə 993 00:45:43,824 --> 00:45:45,740 həmin digər bir çox alqoritmlər, lakin edək 994 00:45:45,740 --> 00:45:48,550 biz görüntüləmək bilməz görmek bu yolu bu. 995 00:45:48,550 --> 00:45:51,450 >> Belə ki, bu, bəzi gözəl proqram ki, kimsə 996 00:45:51,450 --> 00:45:56,110 rəngarəng bar istifadə yazdı bizim üçün aşağıdakı etmək üçün gedir. 997 00:45:56,110 --> 00:45:57,736 Bu bar hər bir sayını göstərir. 998 00:45:57,736 --> 00:46:00,026 böyük, bar Taller sayı, kiçik bar, 999 00:46:00,026 --> 00:46:00,990 sayı kiçik. 1000 00:46:00,990 --> 00:46:05,880 Belə ki, ideal bir gözəl piramida istəyirəm kiçik başlayır və böyük olur, 1001 00:46:05,880 --> 00:46:08,330 və ki, demək olardı bu bar sıralanır. 1002 00:46:08,330 --> 00:46:11,200 Mən irəli getmək və seçmək üçün gedirəm Məsələn, Ben alqoritm 1003 00:46:11,200 --> 00:46:13,990 first-- seçim sort. 1004 00:46:13,990 --> 00:46:16,220 >> Və bunu nə görürsünüz. 1005 00:46:16,220 --> 00:46:18,670 onlar seçdiyiniz yol Bu alqoritm görüntüləmək 1006 00:46:18,670 --> 00:46:22,090 Mən kimi, yəni Mənim siyahısı ilə gəzinti, 1007 00:46:22,090 --> 00:46:24,710 Bu proqram gəzinti nömrələrin siyahısına vasitəsilə 1008 00:46:24,710 --> 00:46:28,160 çəhrayı hər işıqlandırılması Bu baxaraq nömrəsini. 1009 00:46:28,160 --> 00:46:32,360 Və indi baş haqqında nə? 1010 00:46:32,360 --> 00:46:35,154 >> kiçik sayı ki, I və ya Ben birdən tapıldı 1011 00:46:35,154 --> 00:46:36,820 siyahının başında köçürülüb olur. 1012 00:46:36,820 --> 00:46:40,037 Onlar köçürmək etdi ihbar var idi nömrəsi, 1013 00:46:40,037 --> 00:46:41,120 ki, mükəmməl gözəl var. 1014 00:46:41,120 --> 00:46:42,600 Mən ətraflı səviyyədə daxil etməyib. 1015 00:46:42,600 --> 00:46:44,308 Amma biz qoymaq lazımdır haradasa ki sayı, 1016 00:46:44,308 --> 00:46:47,775 belə ki, biz yalnız köçürülüb yaradılmışdır açıq spot. 1017 00:46:47,775 --> 00:46:49,900 Mən bu sürətli gedirəm up, başqa çünki 1018 00:46:49,900 --> 00:46:51,871 tez çox yorucu olur. 1019 00:46:51,871 --> 00:46:55,800 1020 00:46:55,800 --> 00:46:58,600 Animation var speed-- getmək. 1021 00:46:58,600 --> 00:47:01,850 Belə ki, indi eyni prinsip Mən müraciət edilib, lakin siz 1022 00:47:01,850 --> 00:47:06,540 əgər, alqoritm hiss başlaya bilərsiniz olacaq, və ya bir az daha aydın görürük. 1023 00:47:06,540 --> 00:47:13,190 Bu alqoritm təsiri var növbəti kiçik element seçilməsi, 1024 00:47:13,190 --> 00:47:16,422 belə ki, başlamaq olacaq Bu sol ramp baxın. 1025 00:47:16,422 --> 00:47:19,130 Və hər iteration, mən təklif, bir az çalışır. 1026 00:47:19,130 --> 00:47:21,921 Bu, bütün yol getmək yoxdur geri siyahısı sol sonuna, 1027 00:47:21,921 --> 00:47:23,900 artıq çünki sıralanır o bilir. 1028 00:47:23,900 --> 00:47:28,129 bu kimi belə bu cür hiss hər bir addım olsa, sürətləndirilməsi 1029 00:47:28,129 --> 00:47:29,420 eyni məbləği alaraq. 1030 00:47:29,420 --> 00:47:31,600 Qalan yalnız az addımlar var. 1031 00:47:31,600 --> 00:47:35,240 İndi cür hiss edə bilər alqoritm, bu sonu təmizlənməsi 1032 00:47:35,240 --> 00:47:37,040 və həqiqətən indi sıralanır. 1033 00:47:37,040 --> 00:47:41,620 >> Belə ki, durub sort bütün edilir. 1034 00:47:41,620 --> 00:47:43,600 Mən array yenidən randomize üçün lazımdır. 1035 00:47:43,600 --> 00:47:45,940 Və qeyd Mən yalnız bilərsiniz onu randomizing saxlamaq 1036 00:47:45,940 --> 00:47:50,630 və biz bir uyğunlaşdırılması almaq lazımdır Eyni yanaşma, durub sırala. 1037 00:47:50,630 --> 00:47:55,050 Mənə burada aşağı yavaş edək. 1038 00:47:55,050 --> 00:47:56,915 ki artıq başlamaq edək. 1039 00:47:56,915 --> 00:47:57,414 Stop. 1040 00:47:57,414 --> 00:48:00,662 1041 00:48:00,662 --> 00:48:02,410 >> dörd keçmək edək. 1042 00:48:02,410 --> 00:48:03,200 biz var gedin. 1043 00:48:03,200 --> 00:48:04,190 onlar array randomize. 1044 00:48:04,190 --> 00:48:05,555 Və burada biz durub sort git. 1045 00:48:05,555 --> 00:48:10,260 1046 00:48:10,260 --> 00:48:12,800 Oynamaq. 1047 00:48:12,800 --> 00:48:17,280 hər ilə məşğul oldu Qeyd edək ki, dərhal görür element, 1048 00:48:17,280 --> 00:48:20,282 lakin bu məxsusdur əgər yanlış yer bildiriş 1049 00:48:20,282 --> 00:48:21,740 baş var iş bütün. 1050 00:48:21,740 --> 00:48:24,700 Biz daha çox dəyişkən saxlamaq lazımdır və daha çox elementləri otaq etmək 1051 00:48:24,700 --> 00:48:27,340 bir biz yerdə qoymaq istəyirik. 1052 00:48:27,340 --> 00:48:30,740 >> Beləliklə, biz diqqət edirik siyahısı yalnız sol sonu. 1053 00:48:30,740 --> 00:48:34,460 Biz hətta at-- baxdı yoxdur edək çəhrayı bir şey qeyd yoxdur 1054 00:48:34,460 --> 00:48:35,610 sağ. 1055 00:48:35,610 --> 00:48:38,180 Biz yalnız ilə məşğul olduğunuz problemlərini, getmək kimi 1056 00:48:38,180 --> 00:48:40,430 lakin biz bir çox yaratmaq edirik hələ özümüz üçün çalışır. 1057 00:48:40,430 --> 00:48:44,410 Və biz bu sürətləndirmək əgər indi başa getmək üçün, 1058 00:48:44,410 --> 00:48:46,210 həqiqətən bu fərqli bir hiss var. 1059 00:48:46,210 --> 00:48:50,150 Bu, yalnız sol sonunda diqqət, lakin needed-- kimi bir az daha çox iş edir 1060 00:48:50,150 --> 00:48:53,230 sığal şeyi cür üzərində, hər şeyi təyinat 1061 00:48:53,230 --> 00:48:58,350 lakin nəticədə məşğul bir zamanda hər element bir 1062 00:48:58,350 --> 00:49:07,740 biz the-- almaq qədər, biz Bütün bu başa gedir necə, 1063 00:49:07,740 --> 00:49:09,700 belə ki, bir az underwhelming bəlkə var. 1064 00:49:09,700 --> 00:49:12,830 >> Amma end-- siyahısı spoiler-- sıralanır olacaq. 1065 00:49:12,830 --> 00:49:15,300 Belə ki, son bir bir baxaq. 1066 00:49:15,300 --> 00:49:16,840 Biz yalnız indi keçmək bilməz. 1067 00:49:16,840 --> 00:49:18,000 Biz demək olar ki, orada istəyirik. 1068 00:49:18,000 --> 00:49:19,980 Iki bir getmək, getmək üçün. 1069 00:49:19,980 --> 00:49:22,680 Və voiture. 1070 00:49:22,680 --> 00:49:23,450 Əla. 1071 00:49:23,450 --> 00:49:27,220 >> Belə ki, indi bir son bir imkan, yenidən randomizing bubble növ ilə. 1072 00:49:27,220 --> 00:49:31,690 Mən onu yavaş, xüsusilə də əgər, burada qeyd aşağı, bu yolu swooping saxlamaq yoxdur. 1073 00:49:31,690 --> 00:49:36,830 Amma bu yalnız pairwise edir bildiriş yerli həllər comparisons-- sort. 1074 00:49:36,830 --> 00:49:39,050 Amma tezliklə biz almaq kimi çəhrayı siyahısı sonunda, 1075 00:49:39,050 --> 00:49:40,690 nə yenidən baş var olacaq? 1076 00:49:40,690 --> 00:49:44,539 1077 00:49:44,539 --> 00:49:46,830 Bəli, bu var olacaq , Başlamaq çünki yalnız 1078 00:49:46,830 --> 00:49:49,870 sabit pairwise səhvlər. 1079 00:49:49,870 --> 00:49:53,120 Və hələ başqaları aşkar ola bilər. 1080 00:49:53,120 --> 00:49:58,950 Bu sürətləndirmək əgər, siz lazımdır , Adı nəzərdə tutur qədər, ki, görəcəksiniz 1081 00:49:58,950 --> 00:50:01,870 , Elementləri kiçik və ya daha çox böyük elementlərinin başlayır 1082 00:50:01,870 --> 00:50:03,740 bubble üst qədər, siz olacaq. 1083 00:50:03,740 --> 00:50:07,380 Və kiçik elementləri aşağı sol bubble başlayır. 1084 00:50:07,380 --> 00:50:10,780 And olsun ki, bu cür var həmçinin vizual effekt. 1085 00:50:10,780 --> 00:50:17,150 Və bu başa sona çatacaq çox çox oxşar şəkildə. 1086 00:50:17,150 --> 00:50:19,160 >> Biz əbədi yoxdur bu bir. 1087 00:50:19,160 --> 00:50:21,010 Mənə çox, indi bu açaq. 1088 00:50:21,010 --> 00:50:24,040 bir neçə digər çeşidlənməsi alqoritmləri var Dünyada bir neçə olan 1089 00:50:24,040 --> 00:50:25,580 Burada əsir. 1090 00:50:25,580 --> 00:50:29,960 Və xüsusilə öyrənənlər üçün kim deyil mütləq vizual və ya riyazi, 1091 00:50:29,960 --> 00:50:31,930 biz əvvəl olduğu kimi, biz də audially bunu 1092 00:50:31,930 --> 00:50:34,210 biz bu səs şərik əgər. 1093 00:50:34,210 --> 00:50:36,990 Və yalnız əyləncə üçün, burada bir bir neçə müxtəlif alqoritmləri, 1094 00:50:36,990 --> 00:50:40,950 sen xüsusilə onlardan bir adlanır qeyd etmək gedir "birləşməsi sort". 1095 00:50:40,950 --> 00:50:43,250 >> Bu, həqiqətən bir əsaslı var yaxşı alqoritm, 1096 00:50:43,250 --> 00:50:45,860 Bir növ birləşməsi ki, belə görmək istəyirik olanları 1097 00:50:45,860 --> 00:50:49,170 kvadrat n sifariş deyil. 1098 00:50:49,170 --> 00:50:57,280 Bu n dəfə daxil əmri var həqiqətən kiçik və beləliklə n, 1099 00:50:57,280 --> 00:50:58,940 o digər üç daha sürətli. 1100 00:50:58,940 --> 00:51:00,670 Və digər bir neçə var görəcəyik silly olanları. 1101 00:51:00,670 --> 00:51:01,933 >> Belə ki, burada biz bir səs ilə gedin. 1102 00:51:01,933 --> 00:51:06,620 1103 00:51:06,620 --> 00:51:10,490 Bu yenə, durub növ yalnız elementləri ilə məşğul oldu 1104 00:51:10,490 --> 00:51:13,420 Onlar gəlmək kimi. 1105 00:51:13,420 --> 00:51:17,180 Bu bubble sort, belə ki, bu onlara bir anda cüt nəzərə alaraq. 1106 00:51:17,180 --> 00:51:22,030 1107 00:51:22,030 --> 00:51:24,490 Və yenə ən böyük elementləri üst qədər burda olunur. 1108 00:51:24,490 --> 00:51:38,098 1109 00:51:38,098 --> 00:51:41,710 >> Növbəti seçim sort. 1110 00:51:41,710 --> 00:51:45,420 Bu Ben alqoritm edir daha o iteratively seçilməsi oldu 1111 00:51:45,420 --> 00:51:46,843 Növbəti kiçik element. 1112 00:51:46,843 --> 00:51:49,801 1113 00:51:49,801 --> 00:51:53,900 Və yenə, indi həqiqətən eşitmək bilər Bu ancaq bu günə qədər sürətləndirilməsi edir 1114 00:51:53,900 --> 00:51:58,230 Bu daha az bunu kimi hər iteration üzərində işləyirik. 1115 00:51:58,230 --> 00:52:04,170 Bu daha sürətli bir, sort birləşməsi, nömrələri qruplar çeşidlənməsi olan 1116 00:52:04,170 --> 00:52:05,971 birlikdə və sonra onları birləşdirən. 1117 00:52:05,971 --> 00:52:07,720 Belə ki, sol look-- yarım artıq çeşidlənir. 1118 00:52:07,720 --> 00:52:14,165 >> İndi sağ yarım çeşidlənməsi və var indi bir onları birləşdirmək olacaq. 1119 00:52:14,165 --> 00:52:19,160 Bu deyilən bir şey deyil "Gnome sort". 1120 00:52:19,160 --> 00:52:23,460 Və cür görə bilərsiniz Bu geri və irəli gedir 1121 00:52:23,460 --> 00:52:27,950 bir az burada iş təyinat və yeni iş var gəlir əvvəl. 1122 00:52:27,950 --> 00:52:32,900 1123 00:52:32,900 --> 00:52:33,692 Və bu. 1124 00:52:33,692 --> 00:52:36,400 başqa sort var həqiqətən, yalnız akademik məqsədlər üçün, 1125 00:52:36,400 --> 00:52:40,980 edir "axmaq sort" adlı Sizin data, təsadüfi növ 1126 00:52:40,980 --> 00:52:43,350 sıralanır əgər və sonra yoxlayır. 1127 00:52:43,350 --> 00:52:47,880 bu deyil, əgər, yenidən növ onu sıralanır əgər təsadüfi yoxlayır, 1128 00:52:47,880 --> 00:52:49,440 və təkrar əgər. 1129 00:52:49,440 --> 00:52:52,660 Və nəzəri, probabilistically bu başa çatacaq 1130 00:52:52,660 --> 00:52:54,140 lakin vaxt kifayət qədər bir az sonra. 1131 00:52:54,140 --> 00:52:56,930 Bu ən deyil alqoritmlər səmərəli. 1132 00:52:56,930 --> 00:53:02,550 o So hər hansı bir sualınız xüsusi alqoritmlər və ya bir şey 1133 00:53:02,550 --> 00:53:04,720 də orada aid? 1134 00:53:04,720 --> 00:53:09,430 >> Yaxşı, indi nə bütün ayrı tease bildirin bu xətlər mən rəsm etdik ki var 1135 00:53:09,430 --> 00:53:15,090 və nə mən kompüter hərfinin alıram başlıq altında edə bilərsiniz. 1136 00:53:15,090 --> 00:53:18,650 Mən bu nömrələr bütün iddia edirəm Mən almaq lazımdır drawing-- saxlamaq 1137 00:53:18,650 --> 00:53:21,330 yaddaşında yerdə saxlanılır. 1138 00:53:21,330 --> 00:53:24,130 Biz də, indi bu oğlan xilas edəcəyik. 1139 00:53:24,130 --> 00:53:30,110 >> bir yaddaş Belə ki, bir parça belə RAM DIMM deyil kompüter üçün 1140 00:53:30,110 --> 00:53:35,480 Dünən, ikili axtarış nə bu kimi görünür module-- inline yaddaş. 1141 00:53:35,480 --> 00:53:39,370 Bu kiçik qara fiş hər adətən bayt bəzi sayı. 1142 00:53:39,370 --> 00:53:44,380 Və sonra qızıl sancaqlar kimi kompüter qoşun teller, 1143 00:53:44,380 --> 00:53:47,521 və yaşıl silikon board yalnız nə bütün birlikdə hər şey saxlayır. 1144 00:53:47,521 --> 00:53:48,770 Belə ki, bu, həqiqətən nə deməkdir? 1145 00:53:48,770 --> 00:53:53,180 I növ bu şəkil çəkmək varsa, nin sadəlik üçün fərz edək 1146 00:53:53,180 --> 00:53:55,280 Bu DIMM, ikili ki inline yaddaş modulu, 1147 00:53:55,280 --> 00:54:00,530 RAM bir gigabyte, biri gigabyte edir neçə bytes cəmi yaddaş? 1148 00:54:00,530 --> 00:54:02,100 One gigabyte neçə bayt edir? 1149 00:54:02,100 --> 00:54:04,860 1150 00:54:04,860 --> 00:54:06,030 Daha çox. 1151 00:54:06,030 --> 00:54:09,960 1124, kilo 1000. 1152 00:54:09,960 --> 00:54:11,730 Mega mln. 1153 00:54:11,730 --> 00:54:14,570 Giga bir mlrd. 1154 00:54:14,570 --> 00:54:15,070 >> Mən yalançı Am? 1155 00:54:15,070 --> 00:54:16,670 biz hətta etiket oxumaq olarmı? 1156 00:54:16,670 --> 00:54:19,920 Bu, həqiqətən, 128 qiqabayt, belə ki, daha çox. 1157 00:54:19,920 --> 00:54:22,130 Amma biz bu iddia lazımdır Yalnız bir gigabyte edir. 1158 00:54:22,130 --> 00:54:25,640 o deməkdir ki, Belə ki, bir milyard var Mənə mövcud yaddaş bytes 1159 00:54:25,640 --> 00:54:29,770 və ya 8 milyard bit, lakin biz gedirik İndi bayt baxımından danışmaq, 1160 00:54:29,770 --> 00:54:30,750 irəliləyir. 1161 00:54:30,750 --> 00:54:36,330 >> Belə ki, nə o deməkdir ki, bu deyil bir byte, bu başqa byte deyil, 1162 00:54:36,330 --> 00:54:38,680 bu başqa byte deyil, və biz, həqiqətən istəyirdi 1163 00:54:38,680 --> 00:54:43,280 biz olardı xüsusi olmaq bir milyard az meydanların cəlb edir. 1164 00:54:43,280 --> 00:54:44,320 Amma nə deməkdir? 1165 00:54:44,320 --> 00:54:46,420 Yaxşı, mənə yalnız zoom imkan Bu şəkil haqqında. 1166 00:54:46,420 --> 00:54:50,900 Mən bir şey var ki, əgər görünür indi kimi, dörd bayt var. 1167 00:54:50,900 --> 00:54:53,710 >> Və mən burada dörd ədəd qoymaq bilər. 1168 00:54:53,710 --> 00:54:54,990 Bir iki üç dörd. 1169 00:54:54,990 --> 00:55:00,170 Və ya dörd məktublar və ya simvolları qoymaq bilər. 1170 00:55:00,170 --> 00:55:02,620 "Hey!" orada getmək bilər, məktubları hər çünki, 1171 00:55:02,620 --> 00:55:04,370 Biz əvvəllər müzakirə təmsil oluna bilər 1172 00:55:04,370 --> 00:55:06,650 səkkiz bit və ya ASCII və ya bir byte ilə. 1173 00:55:06,650 --> 00:55:09,370 Belə ki, başqa sözlə, siz daxili 8 milyard şeyi qoymaq 1174 00:55:09,370 --> 00:55:11,137 yaddaş bu bir stick. 1175 00:55:11,137 --> 00:55:14,345 İndi geri şeyi qoymaq üçün nə deməkdir oxşar yaddaş geri geri? 1176 00:55:14,345 --> 00:55:17,330 Bu nə bir proqramçı bir "sıra". adlandırardım 1177 00:55:17,330 --> 00:55:21,250 bir kompüter proqramı, siz düşünmürəm əsas hardware haqqında, özlüyündə. 1178 00:55:21,250 --> 00:55:24,427 olan kimi Siz yalnız özünüz düşünün bir milyard bytes ümumi giriş, 1179 00:55:24,427 --> 00:55:26,010 və bir şey ilə istədiyiniz bilər. 1180 00:55:26,010 --> 00:55:27,880 Amma rahatlığı üçün ümumiyyətlə faydalı 1181 00:55:27,880 --> 00:55:31,202 Yaddaş sağ saxlamaq üçün bu kimi bir-birinə yanında. 1182 00:55:31,202 --> 00:55:33,660 Mən bu barədə zoom əgər biz əlbəttə fikrində deyilik, çünki 1183 00:55:33,660 --> 00:55:39,310 bir milyard az squares-- çəkmək Bu board təmsil güman edək 1184 00:55:39,310 --> 00:55:40,610 İndi yaddaş ki, stick. 1185 00:55:40,610 --> 00:55:43,800 Mən yalnız kimi bir çox çəkmək lazımdır mənim marker burada mənə verilməsi başa çatır. 1186 00:55:43,800 --> 00:55:46,420 1187 00:55:46,420 --> 00:55:52,300 Belə ki, indi biz bir stick var board yaddaş 1188 00:55:52,300 --> 00:55:56,400 ki, var bir, iki, üç, dörd, beş, altı, bir, iki, üç, dörd, beş, altı, 1189 00:55:56,400 --> 00:56:01,130 belə 42 bayt seven-- ekran cəmi yaddaş. 1190 00:56:01,130 --> 00:56:01,630 Çox sağ ol. 1191 00:56:01,630 --> 00:56:02,838 Bəli, mənim hesab sağ idi. 1192 00:56:02,838 --> 00:56:05,120 Burada yaddaş So 42 bytes. 1193 00:56:05,120 --> 00:56:06,660 Belə ki, bu, həqiqətən, nə deməkdir? 1194 00:56:06,660 --> 00:56:09,830 Yaxşı, bir kompüter proqramçı ki, həqiqətən, ümumiyyətlə 1195 00:56:09,830 --> 00:56:12,450 addressable bu yaddaş edirəm. 1196 00:56:12,450 --> 00:56:16,630 Başqa sözlə, bu hər bir yaddaş locations, hardware, 1197 00:56:16,630 --> 00:56:18,030 unikal ünvanı var. 1198 00:56:18,030 --> 00:56:22,020 >> Bu One BRATTLE kimi mürəkkəb deyil Square, Cambridge, Mass., 02138. 1199 00:56:22,020 --> 00:56:23,830 Bunun əvəzinə, yalnız bir sıra. 1200 00:56:23,830 --> 00:56:27,930 Bu byte sayı sıfır, bu deyil bir bu iki, bu üç, 1201 00:56:27,930 --> 00:56:30,327 bu 41. 1202 00:56:30,327 --> 00:56:30,910 Bir dəqiqə gözlə. 1203 00:56:30,910 --> 00:56:32,510 Mən bir an əvvəl 42 bildirib düşündüm. 1204 00:56:32,510 --> 00:56:35,050 1205 00:56:35,050 --> 00:56:37,772 Mən sıfır hesablanması başlamaq belə ki, həqiqətən, doğru deyil. 1206 00:56:37,772 --> 00:56:40,980 İndi biz həqiqətən çəkmək yoxdur bir grid kimi və bir grid kimi çəkmək əgər 1207 00:56:40,980 --> 00:56:43,520 Mən hər şeyi həqiqətən hesab edirəm ki, bir az yanlış almaq. 1208 00:56:43,520 --> 00:56:46,650 Nə proqramçı ki, öz nəzərə, 1209 00:56:46,650 --> 00:56:50,310 ümumiyyətlə, bu hesab yaddaş yalnız bir tape kimi kimi, 1210 00:56:50,310 --> 00:56:53,340 maskeleme tape bir parça kimi yalnız və əbədi gedir 1211 00:56:53,340 --> 00:56:54,980 və ya yaddaş tökülmək qədər. 1212 00:56:54,980 --> 00:56:59,200 Belə ki, bir daha ortaq bir yol çəkmək üçün və yalnız yaddaş haqqında düşünmək 1213 00:56:59,200 --> 00:57:03,710 bu byte sıfır, biri olduğunu olacaq iki, üç, və sonra, dot dot dot. 1214 00:57:03,710 --> 00:57:07,650 Və hətta, 42 belə bytes ümumi var fiziki bu, həqiqətən güc olsa 1215 00:57:07,650 --> 00:57:09,480 bu kimi daha çox bir şey ola bilər. 1216 00:57:09,480 --> 00:57:12,850 >> İndi hesab əgər Belə ki, yaddaş bu, yalnız bir tape kimi, 1217 00:57:12,850 --> 00:57:17,640 Bu nə bir proqramçı yenidən yaddaş bir sıra adlandırardım. 1218 00:57:17,640 --> 00:57:20,660 Və həqiqətən saxlamaq istədiyiniz zaman kompüter yaddaşında bir şey, 1219 00:57:20,660 --> 00:57:23,290 ümumiyyətlə mağaza şeyi geri-to-geri-to-geri. 1220 00:57:23,290 --> 00:57:25,010 Beləliklə, biz nömrələri haqqında söhbət etdik. 1221 00:57:25,010 --> 00:57:30,880 Mən istəyirdim zaman problemləri həll etmək üçün kimi dörd bir, üç, iki, 1222 00:57:30,880 --> 00:57:33,820 hətta mən yalnız rəsm baxmayaraq yalnız nömrələri dörd bir, üç, 1223 00:57:33,820 --> 00:57:39,490 board iki, kompüter olardı həqiqətən yaddaş bu quraşdırma. 1224 00:57:39,490 --> 00:57:43,347 >> Və yanında nə olardı kompüter yaddaşında iki? 1225 00:57:43,347 --> 00:57:44,680 Yaxşı ki, heç bir cavab var. 1226 00:57:44,680 --> 00:57:45,770 Biz, həqiqətən, bilmirəm. 1227 00:57:45,770 --> 00:57:48,200 Və belə uzun kompüter lazım deyil, 1228 00:57:48,200 --> 00:57:51,440 növbəti nə qayğı yoxdur ədəd üçün qayğı haqqında edir. 1229 00:57:51,440 --> 00:57:55,130 Mən əvvəllər bir kompüter bildirib ki, zaman yalnız bir zaman bir ünvanda baxmaq olar, 1230 00:57:55,130 --> 00:57:56,170 Bu niyə növüdür. 1231 00:57:56,170 --> 00:57:59,490 >> Bir rekord fərqli oyunçu və oxu baş 1232 00:57:59,490 --> 00:58:03,030 yalnız müəyyən baxmaq edə fiziki köhnə məktəb rekord groove 1233 00:58:03,030 --> 00:58:06,500 Bir anda, eyni Kompüter thanks bilər 1234 00:58:06,500 --> 00:58:09,810 Onun CPU və onun üçün Intel təlimat set, 1235 00:58:09,810 --> 00:58:12,480 onların təlimat arasında yaddaş oxumaq 1236 00:58:12,480 --> 00:58:15,590 və ya, yaddaş saxlamaq kompüter yalnız baxmaq olar 1237 00:58:15,590 --> 00:58:19,210 bir sýrada bir yerdə bəzən onların bir birləşməsi, 1238 00:58:19,210 --> 00:58:21,770 lakin bir zamanda həqiqətən yalnız bir yer. 1239 00:58:21,770 --> 00:58:24,770 Belə ki, biz bunu edilmişdir bu müxtəlif alqoritmlər, 1240 00:58:24,770 --> 00:58:28,110 Mən yalnız bir yazılı deyiləm vacuum-- dörd bir, üç, iki. 1241 00:58:28,110 --> 00:58:30,849 Həmin nömrələri həqiqətən aid yaddaşında fiziki yerdə. 1242 00:58:30,849 --> 00:58:32,890 Belə ki, kiçik bir az var tranzistorlar və ya bir növ 1243 00:58:32,890 --> 00:58:35,840 altında elektronika hood bu dəyərləri saxlanılması. 1244 00:58:35,840 --> 00:58:40,460 >> Və cəmi neçə bit var İndi cəlb, yalnız aydın olacaq? 1245 00:58:40,460 --> 00:58:45,580 Belə ki, bu dörd bytes, və ya indi 32 bit ümumi var. 1246 00:58:45,580 --> 00:58:49,280 Yəni əslində 32 adet sıfır var və bu dörd şeyi bəstələmək olanları. 1247 00:58:49,280 --> 00:58:52,070 burada daha çox var, lakin yenə biz bu barədə qayğı yoxdur. 1248 00:58:52,070 --> 00:58:55,120 >> Belə ki, indi başqa soruşaq yaddaş istifadə edərək sual, 1249 00:58:55,120 --> 00:58:57,519 sonunda çünki gün zidd deyil. 1250 00:58:57,519 --> 00:59:00,310 Olursa olsun biz edə bilər nə Günün sonunda kompüter, 1251 00:59:00,310 --> 00:59:02,560 hardware hələ başlıq altında eyni. 1252 00:59:02,560 --> 00:59:04,670 Mən burada bir söz saxlamaq olar? 1253 00:59:04,670 --> 00:59:09,710 Yaxşı, bir kompüter bir söz kimi "Hey!" yalnız bu kimi saxlanılır olunacaq. 1254 00:59:09,710 --> 00:59:12,300 Və uzun istəyirdi söz, siz sadəcə bilərsiniz 1255 00:59:12,300 --> 00:59:19,120 ki, yazmaq və bir şey demək burada "salam" və mağaza kimi. 1256 00:59:19,120 --> 00:59:23,930 >> Və belə ki, burada da, bu contiguousness bir üstünlük, əslində 1257 00:59:23,930 --> 00:59:26,530 bir kompüter yalnız çünki sağdan sola oxuyun. 1258 00:59:26,530 --> 00:59:28,680 Amma burada bir sual var. 1259 00:59:28,680 --> 00:59:33,480 bu sözün çərçivədə, h-e-l-l-o, nida point, 1260 00:59:33,480 --> 00:59:38,740 kompüter harada necə söz başlayır və söz başa harada? 1261 00:59:38,740 --> 00:59:41,690 1262 00:59:41,690 --> 00:59:43,800 ədəd kontekstində, necə kompüter yoxdur 1263 00:59:43,800 --> 00:59:48,396 necə ardıcıllıqla uzun nömrələri və ya başlayır? 1264 00:59:48,396 --> 00:59:50,270 Bəli, bu çıxır və biz çox getmək olmaz 1265 00:59:50,270 --> 00:59:54,970 detail-- bu səviyyəyə kompüter yaddaşında ətrafında stuff hərəkət 1266 00:59:54,970 --> 00:59:57,800 sanki bu ünvanlar yolu ilə. 1267 00:59:57,800 --> 01:00:02,080 Siz istəyirsinizsə, bir kompüter So kodu yazılı şeyi saxlamaq üçün 1268 01:00:02,080 --> 01:00:05,800 sözləri kimi, siz nə istəyirik həqiqətən yazaraq bunu 1269 01:00:05,800 --> 01:00:11,320 xatırlayıram ifadələr kompüter yaddaş bu sözlərdir. 1270 01:00:11,320 --> 01:00:14,370 Belə ki, mənə çox bir imkan, çox sadə misal. 1271 01:00:14,370 --> 01:00:18,260 >> Mən irəli getmək üçün gedirəm və bir sadə mətn proqramı açmaq, 1272 01:00:18,260 --> 01:00:20,330 Mən yaratmaq gedirəm bir fayl hello.c çağırıb. 1273 01:00:20,330 --> 01:00:22,849 bu məlumatların çoxu biz böyük ətraflı daxil deyil, 1274 01:00:22,849 --> 01:00:25,140 amma yazmaq üçün gedirəm eyni dildə proqram, 1275 01:00:25,140 --> 01:00:31,140 C. Bu, daha qorxuducu deyil Mən Not daha iddia edirəm 1276 01:00:31,140 --> 01:00:32,490 lakin bu ruhunda çox oxşar. 1277 01:00:32,490 --> 01:00:34,364 Əslində, bu buruq braces-- Siz cür 1278 01:00:34,364 --> 01:00:37,820 Mən yalnız bu nə düşünürəm. 1279 01:00:37,820 --> 01:00:39,240 >> həqiqətən, bunu edək. 1280 01:00:39,240 --> 01:00:45,100 yaşıl bayraq tıklayan zaman, aşağıdakı. 1281 01:00:45,100 --> 01:00:50,210 Mən çap etmək istəyirəm "salam". 1282 01:00:50,210 --> 01:00:51,500 Belə ki, bu, indi pseudocode edir. 1283 01:00:51,500 --> 01:00:53,000 I növ xətləri blurring alıram. 1284 01:00:53,000 --> 01:00:56,750 C, bu dil mən söhbət alıram haqqında bu xətt çap salam 1285 01:00:56,750 --> 01:01:01,940 həqiqətən "printf" ilə olur bəzi parantez və yarı kolon. 1286 01:01:01,940 --> 01:01:03,480 >> Amma eyni fikirdir. 1287 01:01:03,480 --> 01:01:06,730 Bu çox istifadəçi dostu "Yaşıl bayraq tıklandığında" olur 1288 01:01:06,730 --> 01:01:10,182 daha çox gizli "int əsas etibarsız." 1289 01:01:10,182 --> 01:01:12,890 Və bu, həqiqətən, heç bir mapping var, mən ki, yalnız ignore gedirəm. 1290 01:01:12,890 --> 01:01:17,210 Amma buruq aşırma kimi oxşar əyri puzzle ədəd. 1291 01:01:17,210 --> 01:01:18,700 >> Belə ki, siz cür danışarlar. 1292 01:01:18,700 --> 01:01:22,357 Hətta, siz əvvəl proqramlaşdırılmış heç varsa Bu proqram yəqin ki, nə edir? 1293 01:01:22,357 --> 01:01:25,560 1294 01:01:25,560 --> 01:01:28,000 Yəqin ki, salam yazdıran bir ünlem ilə. 1295 01:01:28,000 --> 01:01:29,150 >> Belə ki, cəhd edək. 1296 01:01:29,150 --> 01:01:30,800 Mən bunu saxlamaq üçün gedirəm. 1297 01:01:30,800 --> 01:01:34,000 Bu yenə, çox, deyil köhnə məktəb ətraf mühit. 1298 01:01:34,000 --> 01:01:35,420 Mən sürükleyin bilməz, basın bilməz. 1299 01:01:35,420 --> 01:01:36,910 Mən əmrləri yazın var. 1300 01:01:36,910 --> 01:01:41,320 Mən ki, mənim proqram almaq istəyirsinizsə Mən hello.c kimi bunu bilər. 1301 01:01:41,320 --> 01:01:42,292 Mən qaçdım fayl var. 1302 01:01:42,292 --> 01:01:43,500 Amma bir addım itkin alıram, gözləyin. 1303 01:01:43,500 --> 01:01:46,470 Nə demək zəruri edir C kimi dil üçün addım? 1304 01:01:46,470 --> 01:01:49,470 Mən yalnız mənbə yazdıq indeksi, amma nə lazımdır? 1305 01:01:49,470 --> 01:01:50,670 Bəli, mən bir compiler lazımdır. 1306 01:01:50,670 --> 01:01:57,670 Burada mənim Mac Belə ki, bir GCC adlı proqram, GNU C compiler, 1307 01:01:57,670 --> 01:02:03,990 olan mənə şeylərdir növbəsində imkan verir Mənim mənbə kodu daxil, biz zəng edəcəyik, 1308 01:02:03,990 --> 01:02:04,930 maşın kodu. 1309 01:02:04,930 --> 01:02:10,180 >> Mən görə bilərsiniz, yenə belə, bu 1310 01:02:10,180 --> 01:02:14,090 adet sıfır və olanları mən yalnız mənim mənbə kodu yaradılmış, 1311 01:02:14,090 --> 01:02:15,730 adet sıfır və olanları bütün. 1312 01:02:15,730 --> 01:02:17,770 Mən almaq istəyirsinizsə, mənim proqram olur 1313 01:02:17,770 --> 01:02:23,010 üçün a.out zəng etmək tarixi reasons-- "salam". 1314 01:02:23,010 --> 01:02:24,070 Mən bir daha çalıştırabilirsiniz. 1315 01:02:24,070 --> 01:02:25,690 salam, salam, salam. 1316 01:02:25,690 --> 01:02:27,430 Və bu iş görünür. 1317 01:02:27,430 --> 01:02:31,000 >> Amma bu yerdə deməkdir mənim kompüter yaddaş sözləri 1318 01:02:31,000 --> 01:02:35,279 h-e-l-l-o, nida point. 1319 01:02:35,279 --> 01:02:38,070 Və bu, kənara yalnız bir kimi, çıxır nə bir kompüter adətən ki 1320 01:02:38,070 --> 01:02:40,550 belə ki, bilir ki, nə hər şeyi başlamaq və bu end-- 1321 01:02:40,550 --> 01:02:42,460 Burada xüsusi simvolu qoymaq niyyətindədir. 1322 01:02:42,460 --> 01:02:46,064 Və Konvensiyanın qoymaq üçün bir söz sonunda sayı sıfır 1323 01:02:46,064 --> 01:02:48,230 siz harada bilirik ki, həqiqətən, başa çatır ki, 1324 01:02:48,230 --> 01:02:52,750 daha çox çap saxlamaq yoxdur daha simvol həqiqətən niyyətindəyik. 1325 01:02:52,750 --> 01:02:55,400 >> Amma burada paket, hətta Bu kifayət qədər gizli olsa da, 1326 01:02:55,400 --> 01:02:58,140 nəticədə var ki nisbətən sadə. 1327 01:02:58,140 --> 01:03:04,550 Siz boş bir tape növ verildi Siz məktublar yazmaq biləcəyi məkan. 1328 01:03:04,550 --> 01:03:07,150 Siz sadəcə bir var özbaşına kimi xüsusi simvol, 1329 01:03:07,150 --> 01:03:10,316 sayı sıfır sonunda qoymaq üçün Sizin sözləri kompüter bilir ki, 1330 01:03:10,316 --> 01:03:13,410 oh, mən sonra çap dayandırmaq lazımdır Mən ünlem bax. 1331 01:03:13,410 --> 01:03:16,090 orada növbəti şey, çünki sıfır bir ASCII dəyəri var 1332 01:03:16,090 --> 01:03:19,125 və ya null xarakter kimi Kimsə zəng. 1333 01:03:19,125 --> 01:03:21,500 Amma bir problem cür var Burada və geri dönmek edək 1334 01:03:21,500 --> 01:03:23,320 bir an nömrələri. 1335 01:03:23,320 --> 01:03:28,720 Mən düşünək ki, əslində, , Nömrələri bir sıra var 1336 01:03:28,720 --> 01:03:30,730 və güman Mən yazıram proqram 1337 01:03:30,730 --> 01:03:34,680 bir müəllim üçün grade kitab kimi və müəllimlər sinif. 1338 01:03:34,680 --> 01:03:38,720 Bu proqram ona imkan verir tələbələrin puanları yazın 1339 01:03:38,720 --> 01:03:39,960 sınavlar. 1340 01:03:39,960 --> 01:03:43,750 Və Tələbə olur ki, güman ilk viktorina 100, bəlkə 1341 01:03:43,750 --> 01:03:49,920 sonra növbəti bir 80 kimi 75, sonra dördüncü viktorina 90. 1342 01:03:49,920 --> 01:03:54,150 >> hekayə bu nöqtədə Belə ki, array ölçüsü dörd edir. 1343 01:03:54,150 --> 01:03:58,470 tamamilə daha çox yaddaş da var kompüter, lakin array, belə ki, danışmaq 1344 01:03:58,470 --> 01:04:00,350 ölçüsü dörd edir. 1345 01:04:00,350 --> 01:04:06,060 müəllim istəyir ki, indi düşünək sinif beşinci viktorina təyin etmək. 1346 01:04:06,060 --> 01:04:08,510 Bəli, hər şeyi bir o və ya o nə üçün gedir 1347 01:04:08,510 --> 01:04:10,650 İndi burada bir əlavə dəyər mağaza edir. 1348 01:04:10,650 --> 01:04:15,490 Amma array əgər müəllim var Bu proqram yaradılmış üçün ölçüsü edir 1349 01:04:15,490 --> 01:04:22,440 bir sıra ilə problem biri edir Siz yalnız yaddaş əlavə edə bilməz. 1350 01:04:22,440 --> 01:04:26,470 Çünki nə varsa bir hissəsi proqram orada "hey" sözü var? 1351 01:04:26,470 --> 01:04:29,650 >> Başqa sözlə, mənim yaddaş ola bilər bir proqram bir şey üçün istifadə olunur. 1352 01:04:29,650 --> 01:04:33,250 Və əvvəlcədən mən hey, çap əgər Mən giriş dörd viktorina puanları istəyirəm, 1353 01:04:33,250 --> 01:04:34,784 Onlar burada və burada getmək bilər. 1354 01:04:34,784 --> 01:04:37,700 Və birdən-birə sizin fikrinizi dəyişdirmək əgər sonra və mən beşinci viktorina istəyirsiniz 1355 01:04:37,700 --> 01:04:40,872 hesab, siz bilməzsiniz yalnız Istədiyiniz yerdə qoymaq, 1356 01:04:40,872 --> 01:04:42,580 çünki nə bu halda yaddaş istifadə olunur 1357 01:04:42,580 --> 01:04:45,990 bir şey üçün bir sıra digər proqram else-- və ya proqram bəzi digər xüsusiyyət 1358 01:04:45,990 --> 01:04:46,910 Siz yayınlıyorsanız ki? 1359 01:04:46,910 --> 01:04:50,650 Belə ki, əvvəlcədən düşünmək lazımdır sizin data saxlamaq istəyirəm necə, 1360 01:04:50,650 --> 01:04:54,480 İndi boyalı etdik, çünki Özünüz bir digital küncə. 1361 01:04:54,480 --> 01:04:57,280 >> Belə ki, bir müəllim yerinə bilər bir proqram yazarkən demək 1362 01:04:57,280 --> 01:04:59,360 saxlamaq üçün onun notları, siz nə bilirik? 1363 01:04:59,360 --> 01:05:04,180 Mən tələb gedirəm mənim proqram yazarkən, 1364 01:05:04,180 --> 01:05:12,070 Mən istəyirəm ki, sıfır, bir, iki, üç, dörd, beş, altı, səkkiz notları cəmi. 1365 01:05:12,070 --> 01:05:15,320 Belə bir, iki, üç, dörd, beş, altı, yeddi, səkkiz. 1366 01:05:15,320 --> 01:05:18,612 müəllim artıq-ayıra bilər yaddaş onun proqram yazarkən 1367 01:05:18,612 --> 01:05:19,570 və nə bilirsiniz, demək? 1368 01:05:19,570 --> 01:05:22,236 Mən heç vaxt daha təyin gedirəm bir dövr səkkiz sınavlar daha. 1369 01:05:22,236 --> 01:05:23,130 Bu yalnız crazy var. 1370 01:05:23,130 --> 01:05:24,470 Hesab edirəm ki, ayrılması heç vaxt lazımdır. 1371 01:05:24,470 --> 01:05:28,270 Bu yolla o var ki mağaza tələbə puanları rahatlıq, 1372 01:05:28,270 --> 01:05:33,010 75, 90, və bəlkə bir əlavə kimi tələbə, 105 əlavə kredit almışdır. 1373 01:05:33,010 --> 01:05:36,130 >> Amma əgər müəllim heç vaxt Bu üç boşluq istifadə edir, 1374 01:05:36,130 --> 01:05:38,860 burada bir intuitiv paket var. 1375 01:05:38,860 --> 01:05:41,410 O, yalnız yer israf edilir. 1376 01:05:41,410 --> 01:05:44,790 Belə ki, başqa sözlə, bu var proqramlaşdırma ümumi tradeoff 1377 01:05:44,790 --> 01:05:48,241 ya ayıra bilər harada tam olaraq çox yaddaş istədiyiniz kimi, 1378 01:05:48,241 --> 01:05:51,490 ayaq siz super istəyirik ki, efficient-- siz israfçı olan deyilik 1379 01:05:51,490 --> 01:05:54,640 at bütün və lakin İşin mənfi tərəfi odur nə sizin fikrinizi zaman dəyişdirmək əgər 1380 01:05:54,640 --> 01:05:58,780 Siz saxlamaq istədiyiniz proqramı istifadə edərək daha çox məlumat, ilk nəzərdə tutulmuşdur. 1381 01:05:58,780 --> 01:06:03,030 >> Belə ki, bəlkə həll, sonra deyil elə proqramları yazmaq 1382 01:06:03,030 --> 01:06:05,605 onlar daha çox yaddaş istifadə Onlar, həqiqətən, ehtiyac çox. 1383 01:06:05,605 --> 01:06:07,730 Siz fikrində deyilik Bu yolla ki, problem daxil, 1384 01:06:07,730 --> 01:06:09,730 ancaq israfçı olan edirik. 1385 01:06:09,730 --> 01:06:12,960 Və proqram istifadə daha çox yaddaş, Dünən müzakirə az 1386 01:06:12,960 --> 01:06:15,410 mövcud yaddaş digər proqramları üçün, 1387 01:06:15,410 --> 01:06:18,790 tez sizin kompüter yavaş bilər aşağı, çünki virtual yaddaş. 1388 01:06:18,790 --> 01:06:22,670 Və ideal həll nə ola bilər? 1389 01:06:22,670 --> 01:06:24,610 >> Under-ayrılması pis görünür. 1390 01:06:24,610 --> 01:06:27,030 Over-ayrılması pis görünür. 1391 01:06:27,030 --> 01:06:31,120 Belə ki, nə daha yaxşı bir həll ola bilər? 1392 01:06:31,120 --> 01:06:32,390 Reallocating. 1393 01:06:32,390 --> 01:06:33,590 daha dinamik olun. 1394 01:06:33,590 --> 01:06:37,520 bir seçmək üçün özünüzü məcbur etməyin priori başında, nə istəyirəm. 1395 01:06:37,520 --> 01:06:41,370 Və əlbəttə ki, artıq-ayrılması deyil Siz deyə israfçı olmaq. 1396 01:06:41,370 --> 01:06:45,770 >> Və belə ki, məqsədə nail olmaq üçün, biz Bu data strukturu atmaq lazımdır, 1397 01:06:45,770 --> 01:06:48,100 belə uzaq danışmaq. 1398 01:06:48,100 --> 01:06:51,080 Və nə proqramçı adətən istifadə edəcək 1399 01:06:51,080 --> 01:06:55,940 bir şey adlanır array lakin bir bağlı siyahı. 1400 01:06:55,940 --> 01:07:00,860 Başqa sözlə, o olacaq onların yaddaş düşünməyə başlayır 1401 01:07:00,860 --> 01:07:05,280 bir forma olan növ kimi ki, onlar aşağıdakı şəkildə cəlb edə bilər. 1402 01:07:05,280 --> 01:07:08,520 Mən bir sıra saxlamaq istəyirsinizsə Bu sentyabr belə bir program--, 1403 01:07:08,520 --> 01:07:12,600 Mən tələbələr viktorina təqdim etdik; Mən istəyirəm şagirdlərin ilk viktorina saxlamaq üçün, 1404 01:07:12,600 --> 01:07:16,220 və onlar pseudocode I bir 100 var mənim kompüter xahiş gedirəm, 1405 01:07:16,220 --> 01:07:19,540 Mən var proqramı yolu ilə yaddaş bir yığın üçün yazılı. 1406 01:07:19,540 --> 01:07:22,570 Mən saxlamaq üçün gedirəm bu sayı 100 ki, bu. 1407 01:07:22,570 --> 01:07:24,820 >> Sonra bir neçə həftə sonra Mən ikinci viktorina almaq zaman, 1408 01:07:24,820 --> 01:07:27,890 və bu növü üçün vaxt 90%, mən gedirəm 1409 01:07:27,890 --> 01:07:32,129 kompüter soruşmaq, hey, kompüter, Mən yaddaş bir yığın ola bilər? 1410 01:07:32,129 --> 01:07:34,170 Bu mənə bu vermək olacaq yaddaş boş yığın. 1411 01:07:34,170 --> 01:07:39,370 Mən sayı 90 qoymaq üçün gedirəm lakin mənim proqramı elə ya other-- 1412 01:07:39,370 --> 01:07:42,100 və biz narahat deyil Mən lazım şeylərdir üçün sintaksis 1413 01:07:42,100 --> 01:07:44,430 elə bir araya bunları zəncir. 1414 01:07:44,430 --> 01:07:47,430 Mən birlikdə zəncir onlara lazımdır Burada ox kimi görünür. 1415 01:07:47,430 --> 01:07:50,050 >> gəlir üçüncü viktorina, Mən demək gedirəm, hey, kompüter, 1416 01:07:50,050 --> 01:07:51,680 Mənə yaddaş bir yığın verir. 1417 01:07:51,680 --> 01:07:54,660 Mən yazmaq üçün gedirəm nə olursa olsun, 75 kimi idi 1418 01:07:54,660 --> 01:07:56,920 Mən zənciri bu var birlikdə indi elə. 1419 01:07:56,920 --> 01:08:00,290 Dördüncü viktorina çıxınca, və bəlkə ki, dövr sonuna doğru deyil. 1420 01:08:00,290 --> 01:08:03,140 Və o nöqtədə mənim proqram çox yaddaş istifadə edilə bilər 1421 01:08:03,140 --> 01:08:05,540 bütün yer üzərində, bütün fiziki üzərində. 1422 01:08:05,540 --> 01:08:08,170 Və belə ki, yalnız kicks üçün, mən Bu irəli cəlb 1423 01:08:08,170 --> 01:08:11,260 viktorina Mən bunu nə unutmaq; mən bəlkə düşünmək 80 və ya bir şey 1424 01:08:11,260 --> 01:08:12,500 yol üzərində burada. 1425 01:08:12,500 --> 01:08:15,920 >> Amma çünki pictorially, gözəl var Bu xətt çəkmək üçün gedirəm. 1426 01:08:15,920 --> 01:08:19,063 Başqa sözlə, əslində, kompüter hardware, 1427 01:08:19,063 --> 01:08:20,979 ilk hesab bilər Bu, çünki burada sona 1428 01:08:20,979 --> 01:08:22,529 sağ dövr əvvəlində. 1429 01:08:22,529 --> 01:08:25,810 Növbəti bir burada son bilər zaman bir az keçdi, çünki 1430 01:08:25,810 --> 01:08:27,210 və proqram çalışan saxlayır. 1431 01:08:27,210 --> 01:08:30,060 idi növbəti hesab, 75, burada ola bilər. 1432 01:08:30,060 --> 01:08:33,420 Və son hesab ola bilər, burada artıq 80. 1433 01:08:33,420 --> 01:08:38,729 >> Belə ki, əslində, fiziki, bu ola bilər Sizin kompüter yaddaş kimi görünür. 1434 01:08:38,729 --> 01:08:41,569 Amma bu faydalı ruhi deyil Kompüter proqramçı üçün paradiqma. 1435 01:08:41,569 --> 01:08:44,649 Niyə burada qayğı lazımdır heck sizin data sona olunur? 1436 01:08:44,649 --> 01:08:46,200 Siz yalnız veri istəyirəm. 1437 01:08:46,200 --> 01:08:49,390 >> Bu, bizim müzakirə kimi növ edir kub rəsm əvvəllər. 1438 01:08:49,390 --> 01:08:52,200 Niyə qayğı nə bucaq kub edir 1439 01:08:52,200 --> 01:08:53,740 və necə cəlb etmək çevirmək lazımdır? 1440 01:08:53,740 --> 01:08:54,950 Siz yalnız bir kub istəyirəm. 1441 01:08:54,950 --> 01:08:57,359 Eynilə Burada, yalnız grade kitab istəyirəm. 1442 01:08:57,359 --> 01:08:59,559 Siz yalnız düşünmək istəyirəm nömrə bir siyahısı kimi, bu. 1443 01:08:59,559 --> 01:09:01,350 Bu necə Kim qayğıları hardware tətbiq? 1444 01:09:01,350 --> 01:09:05,180 >> İndi abstraksiya So burada bu şəkil. 1445 01:09:05,180 --> 01:09:07,580 Bu kimi, siyahı bağlı edilir bir proqramçı zəng ki, 1446 01:09:07,580 --> 01:09:10,640 Bir var insofar kimi siyahısı, açıq-aydın nömrələri. 1447 01:09:10,640 --> 01:09:14,990 Amma bu pictorially bağlı oldu Bu oxlar yolu ilə, 1448 01:09:14,990 --> 01:09:18,510 və bütün bu oxlar altında are-- başlıq, siz maraqlı olduğunuz halda, 1449 01:09:18,510 --> 01:09:23,210 fiziki hardware Xatırladaq ki ünvanları, bir, iki, üç, dörd sıfır. 1450 01:09:23,210 --> 01:09:28,465 Bütün bu oxlar bir xəritə kimi və ya istiqamətləri, əgər 90 is-- indi 1451 01:09:28,465 --> 01:09:29,090 Mən saymaq lazımdır. 1452 01:09:29,090 --> 01:09:31,750 >> Zero, bir, iki, üç, dörd, beş, altı, yeddi. 1453 01:09:31,750 --> 01:09:35,640 90 kimi görünür yaddaş ünvan sayı yeddi. 1454 01:09:35,640 --> 01:09:38,460 Bütün bu oxlar edir kağız bir az qırıntıları kimi 1455 01:09:38,460 --> 01:09:42,439 ki, istiqamətləri verilməsi Bu xəritəsi edin deyir proqram 1456 01:09:42,439 --> 01:09:43,880 yeri yeddi almaq üçün. 1457 01:09:43,880 --> 01:09:46,680 Və orada tapa tələbə ikinci viktorina hesab. 1458 01:09:46,680 --> 01:09:52,100 Eyni zamanda, 75-- bu davam edərsə, Bu yeddi, səkkiz, doqquz, 10, 11, 12, 1459 01:09:52,100 --> 01:09:54,240 13, 14, 15. 1460 01:09:54,240 --> 01:09:59,080 >> Bu, digər arrow yalnız təmsil yaddaşda 15 xəritəsi. 1461 01:09:59,080 --> 01:10:02,550 Ancaq yenə də, proqramçı ümumiyyətlə yoxdur detal bu səviyyədə qayğı deyil. 1462 01:10:02,550 --> 01:10:05,530 Və ən hər proqramlaşdırma dil bu gün proqramçı 1463 01:10:05,530 --> 01:10:10,490 hətta yaddaşında bilmirəm bu nömrələri həqiqətən var. 1464 01:10:10,490 --> 01:10:14,830 o var bütün haqqında qayğı onlar elə birlikdə bağlıdır ki, 1465 01:10:14,830 --> 01:10:18,390 oxşar data strukturunda. 1466 01:10:18,390 --> 01:10:21,580 >> Amma bu çıxır çox texniki almaq üçün. 1467 01:10:21,580 --> 01:10:27,430 yalnız, çünki biz bəlkə bilər Burada bu müzakirə imkanı, 1468 01:10:27,430 --> 01:10:33,630 biz yenidən Güman Burada bir sıra bu məsələ. 1469 01:10:33,630 --> 01:10:35,780 biz burada gedən peşman əgər in nəzər salaq. 1470 01:10:35,780 --> 01:10:42,950 Bu 100, 90, 75, və 80. 1471 01:10:42,950 --> 01:10:44,980 >> Mənə qısaca bu iddianı edək. 1472 01:10:44,980 --> 01:10:48,980 Bu array, və yenidən, bir sıra qabarıq xüsusiyyəti 1473 01:10:48,980 --> 01:10:52,400 sizin data bütün geri ki, geri sözün yaddaş-geri 1474 01:10:52,400 --> 01:10:56,830 bir byte və ya bəlkə dörd bytes, üz bayt bəzi sabit sayı. 1475 01:10:56,830 --> 01:11:00,710 bir bağlı siyahı, biz cəlb biləcək bu kimi başlıq altında olan 1476 01:11:00,710 --> 01:11:02,000 ki, stuff olduğu bilir? 1477 01:11:02,000 --> 01:11:03,630 Hətta bu kimi axmağa lazım deyil. 1478 01:11:03,630 --> 01:11:06,050 məlumatların bəzi ola bilər geri qədər sol. 1479 01:11:06,050 --> 01:11:07,530 Siz hətta bilmirəm. 1480 01:11:07,530 --> 01:11:15,430 >> Və belə bir sıra ilə, bir var təsadüfi giriş kimi tanınan xüsusiyyət. 1481 01:11:15,430 --> 01:11:20,570 Və nə təsadüfi giriş vasitəsidir kompüter dərhal jump bilər ki, 1482 01:11:20,570 --> 01:11:22,730 bir sıra hər hansı bir yerə. 1483 01:11:22,730 --> 01:11:23,580 Niyə? 1484 01:11:23,580 --> 01:11:26,000 kompüter bilir, çünki ilk yeri olduğunu 1485 01:11:26,000 --> 01:11:29,540 sıfır, bir, iki, üç. 1486 01:11:29,540 --> 01:11:33,890 >> Və siz getmək istəyirsinizsə növbəti element üçün bu element, 1487 01:11:33,890 --> 01:11:36,099 siz sözün ildə kompüter mind, yalnız bir əlavə. 1488 01:11:36,099 --> 01:11:39,140 üçüncü element getmək istəyirsinizsə, yalnız yalnız növbəti element one-- əlavə 1489 01:11:39,140 --> 01:11:40,290 bir əlavə. 1490 01:11:40,290 --> 01:11:42,980 Lakin bu versiya hekayə, güman 1491 01:11:42,980 --> 01:11:46,080 kompüter hazırda axtarır və ya sayı 100 ilə məşğul. 1492 01:11:46,080 --> 01:11:49,770 Necə növbəti alıram Bu sinif kitab grade? 1493 01:11:49,770 --> 01:11:52,560 >> Yeddi almaq lazımdır ixtiyari deyil addımlar. 1494 01:11:52,560 --> 01:11:58,120 növbəti bir almaq üçün, var 15 almaq üçün başqa səkkiz addımlar. 1495 01:11:58,120 --> 01:12:02,250 Başqa sözlə, bu, deyil ədəd arasında daimi boşluğu, 1496 01:12:02,250 --> 01:12:04,857 və belə ki, yalnız edir kompüter daha time point edir. 1497 01:12:04,857 --> 01:12:06,940 kompüter axtarış var üçün yaddaş vasitəsilə 1498 01:12:06,940 --> 01:12:08,990 Aradığınız nə tapa bilərsiniz. 1499 01:12:08,990 --> 01:12:14,260 >> bir sıra bir olmağa çalışır isə So sürətli data quruluşu çünki 1500 01:12:14,260 --> 01:12:17,610 sözün yalnız sadə hesab edə bilər və bir əlavə siz istədiyiniz almaq, 1501 01:12:17,610 --> 01:12:21,300 bir bağlı siyahı misal üçün, Siz xüsusiyyət qurban. 1502 01:12:21,300 --> 01:12:24,020 Siz yalnız ilk getmək bilməz ikinci, üçüncü üçün dördüncü. 1503 01:12:24,020 --> 01:12:25,240 Siz xəritə əməl etmək lazımdır. 1504 01:12:25,240 --> 01:12:28,160 Daha çox addımlar var o dəyərləri almaq üçün 1505 01:12:28,160 --> 01:12:30,230 bir dəyəri əlavə olacağını düşünürük. 1506 01:12:30,230 --> 01:12:35,910 Beləliklə, biz bir dəyər ödəyir, lakin nə idi edirik Dan burada axtarır ki, xüsusiyyət? 1507 01:12:35,910 --> 01:12:38,110 Nə bağlı siyahı yoxdur yəqin bizə imkan, 1508 01:12:38,110 --> 01:12:40,240 hansı mənşəyi idi bu hekayə? 1509 01:12:40,240 --> 01:12:43,250 1510 01:12:43,250 --> 01:12:43,830 >> Məhz. 1511 01:12:43,830 --> 01:12:46,220 bu dinamik ölçüsü. 1512 01:12:46,220 --> 01:12:48,040 Biz bu siyahıya əlavə edə bilərsiniz. 1513 01:12:48,040 --> 01:12:51,430 Biz hətta belə, siyahısı shrink biz yalnız daha çox yaddaş istifadə etdiyiniz 1514 01:12:51,430 --> 01:12:55,560 biz, həqiqətən, istədiyiniz kimi və s biz artıq-ayrılması heç vaxt istəyirik. 1515 01:12:55,560 --> 01:12:58,470 >> İndi yalnız, həqiqətən sirke picky olmaq bir gizli dəyəri var. 1516 01:12:58,470 --> 01:13:01,980 Belə ki, yalnız məni inandırmağa imkan deyil Bu bir məcburedici tradeoff edir. 1517 01:13:01,980 --> 01:13:04,190 Burada başqa bir gizli dəyəri var. 1518 01:13:04,190 --> 01:13:06,550 fayda, aydın olmaq biz dinamizm almaq edir. 1519 01:13:06,550 --> 01:13:10,359 Mən başqa element istəyirsinizsə, mən yalnız bilərsiniz çəkmək və orada bir sıra qoydu. 1520 01:13:10,359 --> 01:13:12,150 Və sonra mən onu keçid edə bilərsiniz Burada bir şəkil ilə, 1521 01:13:12,150 --> 01:13:14,970 burada isə, yenə var əgər , Bir küncə özümü boyalı 1522 01:13:14,970 --> 01:13:19,410 başqa bir şey artıq istifadə əgər burada yaddaş, mən uğurlar edirəm. 1523 01:13:19,410 --> 01:13:21,700 Mən küncə özüm boyalı etdik. 1524 01:13:21,700 --> 01:13:24,390 >> Amma gizli nə Bu şəkil başa? 1525 01:13:24,390 --> 01:13:27,690 Bu, sadəcə məbləği deyil Bu edir vaxt 1526 01:13:27,690 --> 01:13:29,870 burada buradan getmək üçün daha sonra, yeddi addımlar 1527 01:13:29,870 --> 01:13:32,820 daha çox səkkiz addımlar. 1528 01:13:32,820 --> 01:13:34,830 başqa gizli dəyəri nədir? 1529 01:13:34,830 --> 01:13:35,440 Yalnız vaxt. 1530 01:13:35,440 --> 01:13:44,790 1531 01:13:44,790 --> 01:13:49,940 Əlavə məlumat zəruri bu şəkil əldə etmək üçün. 1532 01:13:49,940 --> 01:13:53,210 >> Bəli, xəritə, o kiçik not kağız, mən kimi təsvir saxlamaq kimi. 1533 01:13:53,210 --> 01:13:55,650 o arrows-- Bu pulsuz deyil. 1534 01:13:55,650 --> 01:13:57,660 Bildiyiniz A kompüter üçün kompüter nə. 1535 01:13:57,660 --> 01:13:58,790 Bu adet sıfır və olanları var. 1536 01:13:58,790 --> 01:14:03,170 Bir arrow və ya təmsil etmək istəyirsinizsə, xəritəyə və ya bir sıra, bəzi yaddaş lazımdır. 1537 01:14:03,170 --> 01:14:05,950 Digər qiymət Belə ki, bir bağlı siyahı ödəmək, 1538 01:14:05,950 --> 01:14:09,070 ümumi kompüter resurs da sahibidir. 1539 01:14:09,070 --> 01:14:11,710 >> Həqiqətən, belə ki, belə çox, əvəzetmələr arasında 1540 01:14:11,710 --> 01:14:15,580 proqram mühəndisliyi dizayn sistemləri vaxt və boşluq var 1541 01:14:15,580 --> 01:14:18,596 Sizin maddələr olan iki, iki ən bahalı maddələr. 1542 01:14:18,596 --> 01:14:21,220 Bu mənə daha çox vaxt başa gəlir Bu xəritə əməl etmək lazımdır, çünki, 1543 01:14:21,220 --> 01:14:25,730 həm də mənə daha çox yer olan oldu Mən ətrafında bu xəritəni saxlamaq lazımdır, çünki. 1544 01:14:25,730 --> 01:14:28,730 Belə ümid kimi biz növ var dünən və bu gün artıq müzakirə 1545 01:14:28,730 --> 01:14:31,720 faydaları ki, xərcləri üstün olacaq. 1546 01:14:31,720 --> 01:14:33,870 >> Amma burada heç bir aydın həll var. 1547 01:14:33,870 --> 01:14:35,870 Bəlkə bir yaxşı deyil a la sürətli və çirkli, 1548 01:14:35,870 --> 01:14:38,660 Kareem əvvəllər təklif problem yaddaş atmaq. 1549 01:14:38,660 --> 01:14:42,520 Just daha çox yaddaş almaq, az düşünmək problemin həlli haqqında ağır, 1550 01:14:42,520 --> 01:14:44,595 və daha asan bir şəkildə həll edir. 1551 01:14:44,595 --> 01:14:46,720 Həqiqətən əvvəllər zaman biz əvəzetmələr haqqında danışdı, 1552 01:14:46,720 --> 01:14:49,190 Bu kosmik deyildi kompüter və vaxt. 1553 01:14:49,190 --> 01:14:51,810 Bu geliştirici vaxt idi başqa kaynaktır. 1554 01:14:51,810 --> 01:14:54,829 >> Belə ki, yenə, bu balans aktı var qərar çalışır o şeyi hansı 1555 01:14:54,829 --> 01:14:55,870 sərf etmək istəyən var? 1556 01:14:55,870 --> 01:14:57,380 ən bahalı hansıdır? 1557 01:14:57,380 --> 01:15:01,040 Hansı daha yaxşı nəticələr verir? 1558 01:15:01,040 --> 01:15:01,540 Bəli? 1559 01:15:01,540 --> 01:15:11,310 1560 01:15:11,310 --> 01:15:12,580 >> Həqiqətən. 1561 01:15:12,580 --> 01:15:15,970 Bu halda, siz əgər maps-- nömrələri təmsil 1562 01:15:15,970 --> 01:15:18,820 Bu çox dillərdə deyilir "Göstəricilərinə" və ya "ünvanları" - 1563 01:15:18,820 --> 01:15:20,390 Bu ikiqat yer var. 1564 01:15:20,390 --> 01:15:24,390 Ki, əgər ikiqat kimi pis ola lazımdır İndi biz yalnız nömrələri saxlanılması edirik. 1565 01:15:24,390 --> 01:15:27,410 biz saxlanılması ki, düşünək bir hospital-- xəstə qeydlər 1566 01:15:27,410 --> 01:15:30,870 Pierson adları, telefon nömrələri, belə ki, sosial təhlükəsizlik nömrələri, həkim 1567 01:15:30,870 --> 01:15:31,540 tarixi. 1568 01:15:31,540 --> 01:15:34,160 Bu qutusu, çox ola bilər , Daha böyük olan halda 1569 01:15:34,160 --> 01:15:38,000 kiçik bir az göstərici, ünvanı növbəti bir böyük deyil element. 1570 01:15:38,000 --> 01:15:40,620 Belə bir saçaq var etməz başa gəlir. 1571 01:15:40,620 --> 01:15:43,210 Lakin bu halda, Bəli, bu bir misli var. 1572 01:15:43,210 --> 01:15:45,290 Yaxşı sualdır. 1573 01:15:45,290 --> 01:15:47,900 >> vaxt a danışaq daha konkret az. 1574 01:15:47,900 --> 01:15:50,380 çalışan zaman nə bu siyahı axtarış? 1575 01:15:50,380 --> 01:15:53,640 Mən axtarış istəyirdi Güman bütün tələbələrin siniflər vasitəsilə 1576 01:15:53,640 --> 01:15:55,980 və n notları var Bu data strukturu. 1577 01:15:55,980 --> 01:15:58,830 Burada da biz borc bilər əvvəllər lüğət. 1578 01:15:58,830 --> 01:16:00,890 Bu xətti data strukturu. 1579 01:16:00,890 --> 01:16:04,570 >> n Big O almaq üçün lazım nə Bu data strukturu sonuna, 1580 01:16:04,570 --> 01:16:08,410 whereas-- biz görməmişik bu bir sıra verir, əvvəl 1581 01:16:08,410 --> 01:16:13,555 nə deməkdir ki, daimi vaxt deyirlər bir addım və ya iki addımlar və ya 10 steps-- 1582 01:16:13,555 --> 01:16:14,180 fərqi yoxdur. 1583 01:16:14,180 --> 01:16:15,440 Bu sabit sayı var. 1584 01:16:15,440 --> 01:16:17,440 Bu ilə heç bir əlaqəsi yoxdur serialın ölçüsü. 1585 01:16:17,440 --> 01:16:20,130 Və səbəbi, yenə təsadüfi imkanı. 1586 01:16:20,130 --> 01:16:23,180 kompüter bilərsiniz yalnız dərhal başqa yerə tullanmaq, 1587 01:16:23,180 --> 01:16:27,770 onlar eyni istəyirik, çünki başqa hər şey məsafə. 1588 01:16:27,770 --> 01:16:29,112 cəlb heç bir düşüncə yoxdur. 1589 01:16:29,112 --> 01:16:31,900 1590 01:16:31,900 --> 01:16:32,400 Yaxşı. 1591 01:16:32,400 --> 01:16:39,230 Mən Belə ki, mənə edək iki final şəkillər boya. 1592 01:16:39,230 --> 01:16:42,830 bir hash masa kimi tanınan çox ümumi bir. 1593 01:16:42,830 --> 01:16:51,120 Belə ki, bu müzakirə motivasiya etmək, Mənə bunu necə düşünmək edək. 1594 01:16:51,120 --> 01:16:52,610 >> Belə ki, necə bu barədə? 1595 01:16:52,610 --> 01:16:55,160 problem Güman Biz indi həll etmək istəyirik 1596 01:16:55,160 --> 01:16:58,360 bir dictionary-- da həyata keçirir İngilis dili sözlər belə bütün dəstə 1597 01:16:58,360 --> 01:16:59,330 və ya hər hansı. 1598 01:16:59,330 --> 01:17:02,724 Və məqsəd cavab verə olmaq şəklində sual bu söz? 1599 01:17:02,724 --> 01:17:04,640 Belə ki, həyata istəyirəm bir yazım checker yalnız 1600 01:17:04,640 --> 01:17:07,220 fiziki lüğət kimi Siz şeyi axtarmaq bilər. 1601 01:17:07,220 --> 01:17:10,490 Mən bir sıra ilə bunu idi düşünək. 1602 01:17:10,490 --> 01:17:12,590 Mən bunu edə bilər. 1603 01:17:12,590 --> 01:17:20,756 >> Və sözləri alma Güman və banan və daşqovun. 1604 01:17:20,756 --> 01:17:23,330 1605 01:17:23,330 --> 01:17:26,465 Mən meyvə hesab edə bilməz D ilə başlamaq, belə ki, biz yalnız istəyirik 1606 01:17:26,465 --> 01:17:27,590 üç meyvə gedir. 1607 01:17:27,590 --> 01:17:31,510 Belə ki, bu bir sıra və biz istəyirik bu sözləri bütün saxlanılması 1608 01:17:31,510 --> 01:17:34,200 bir sıra kimi bu lüğət. 1609 01:17:34,200 --> 01:17:39,350 sual, sonra necə başqa bir Bu məlumat saxlamaq bilər? 1610 01:17:39,350 --> 01:17:43,160 >> Bəli, I növ, çünki burada aldadıcı alıram sözü bu məktubları hər 1611 01:17:43,160 --> 01:17:44,490 həqiqətən fərdi byte edir. 1612 01:17:44,490 --> 01:17:46,740 Mən, həqiqətən, olmaq istəyirdi sirke-picky, Mən, həqiqətən, lazım 1613 01:17:46,740 --> 01:17:49,600 çox bu qədər bölünməsi edilə yaddaş kiçik chunks, 1614 01:17:49,600 --> 01:17:51,289 və biz məhz bunu edə bilər. 1615 01:17:51,289 --> 01:17:53,580 Amma biz daxil olacaq əvvəl eyni problem. 1616 01:17:53,580 --> 01:17:56,674 Nə əgər Merriam Webster və ya Oksford kimi hər onlar sözləri əlavə year-- yoxdur 1617 01:17:56,674 --> 01:17:59,340 dictionary-- biz deyil mütləq özümüzü çəkmək istəyirəm 1618 01:17:59,340 --> 01:18:00,780 bir sıra ilə bir küncə? 1619 01:18:00,780 --> 01:18:05,710 >> Belə ki, əvəzinə, bəlkə asan yanaşma öz node və ya qutusuna alma qoymaq üçün, 1620 01:18:05,710 --> 01:18:11,190 biz demək kimi, banana, və sonra biz burada daşqovun var. 1621 01:18:11,190 --> 01:18:14,990 1622 01:18:14,990 --> 01:18:16,790 bunlar birlikdə biz string. 1623 01:18:16,790 --> 01:18:19,980 Belə ki, bu array və bu bağlı siyahı var. 1624 01:18:19,980 --> 01:18:23,300 Siz olduqca görmək bilməz, bu, yalnız deyir "array" və deyir "siyahısı." 1625 01:18:23,300 --> 01:18:25,780 >> Belə ki, biz eyni əvvəl dəqiq məsələlər 1626 01:18:25,780 --> 01:18:28,600 vasitəsi biz indi Bizim bağlı siyahı dinamizm. 1627 01:18:28,600 --> 01:18:31,090 Amma biz kifayət qədər yavaş lüğət var. 1628 01:18:31,090 --> 01:18:32,870 Mən bir söz baxmaq istəyirəm düşünək. 1629 01:18:32,870 --> 01:18:35,430 Mənə n böyük O bilər addımlar, söz güc, çünki 1630 01:18:35,430 --> 01:18:37,840 sonunda bütün yol ola qovun kimi siyahısı. 1631 01:18:37,840 --> 01:18:40,600 Və bu çıxır ki, proqramlaşdırma, sort 1632 01:18:40,600 --> 01:18:42,700 məlumatların Müqəddəs Grail strukturları, bir şey deyil 1633 01:18:42,700 --> 01:18:46,620 ki, daimi verir bir sıra kimi vaxt 1634 01:18:46,620 --> 01:18:50,870 lakin hələ də dinamizm verir. 1635 01:18:50,870 --> 01:18:52,940 >> Beləliklə, biz həm də dünyanın ən yaxşı ola bilər? 1636 01:18:52,940 --> 01:18:55,570 Şübhəsiz ki, bir şey var hash table adlı 1637 01:18:55,570 --> 01:18:59,320 ki, tam imkan verir olsa təxminən ki. 1638 01:18:59,320 --> 01:19:03,140 A hash masa meraklısı deyil data structure ki, biz 1639 01:19:03,140 --> 01:19:06,340 kimi hesab edə bilər bir serialın birləşməsi 1640 01:19:06,340 --> 01:19:12,390 və bunu çəkmək gedirəm şeylərdir və bağlı siyahıları kimi 1641 01:19:12,390 --> 01:19:17,310 Mən burada bu kimi çəkmək lazımdır ki. 1642 01:19:17,310 --> 01:19:19,760 >> bu şey və yol Aşağıdakı kimi işləri var. 1643 01:19:19,760 --> 01:19:23,310 1644 01:19:23,310 --> 01:19:29,540 Bu Masa hash now-- varsa üçüncü data structure edir 1645 01:19:29,540 --> 01:19:32,590 Mən saxlamaq istədiyiniz Bu sözlər, mən deyil 1646 01:19:32,590 --> 01:19:35,440 Yalnız bütün saxlamaq üçün istəyirəm sözləri geri geri geri geri. 1647 01:19:35,440 --> 01:19:37,430 Mən bəzi leverage istəyirəm İnformasiya parça 1648 01:19:37,430 --> 01:19:40,330 imkan verir sözləri daha sürətli olduğu mənə almaq. 1649 01:19:40,330 --> 01:19:43,666 >> Belə ki, sözləri alma verilir və banan və qovun, 1650 01:19:43,666 --> 01:19:45,040 Mən qəsdən bu sözləri seçdi. 1651 01:19:45,040 --> 01:19:45,340 Niyə? 1652 01:19:45,340 --> 01:19:47,631 Nə əsaslı sort üç haqqında müxtəlif? 1653 01:19:47,631 --> 01:19:49,950 1654 01:19:49,950 --> 01:19:51,484 Aşkar nədir? 1655 01:19:51,484 --> 01:19:52,900 Onlar müxtəlif hərflərlə başlayır. 1656 01:19:52,900 --> 01:19:53,900 >> Belə ki, nə? 1657 01:19:53,900 --> 01:19:57,120 bütün mənim sözlər qoymaq əvəzinə Eyni bucket, belə ki, danışmaq 1658 01:19:57,120 --> 01:20:00,390 kimi böyük bir siyahısı, niyə yoxdur Mən ən azı bir optimallaşdırılması cəhd edin 1659 01:20:00,390 --> 01:20:04,180 və siyahıları 1/26 kimi uzun edir. 1660 01:20:04,180 --> 01:20:07,440 A çekici optimallaşdırma Biz niyə ola bilər 1661 01:20:07,440 --> 01:20:10,650 Istisna olmaqla, mən bir söz daxil Bu data strukturu, 1662 01:20:10,650 --> 01:20:14,300 kompüter yaddaş, niyə daxil Mən burada bütün bir "sözləri qoymaq deyil 1663 01:20:14,300 --> 01:20:17,270 bütün burada b 'sözləri, və bütün 'c' sözləri? 1664 01:20:17,270 --> 01:20:24,610 Belə ki, bu bir alma qoyulması başa Burada burada banana, qovun, 1665 01:20:24,610 --> 01:20:25,730 və sairə. 1666 01:20:25,730 --> 01:20:31,700 >> Mən əlavə varsa Sözü bir nə like--? 1667 01:20:31,700 --> 01:20:36,640 Apple, banan, armud. 1668 01:20:36,640 --> 01:20:39,370 Hər kəs bir meyvə hesab ki, b, və ya c ilə başlayır? 1669 01:20:39,370 --> 01:20:40,570 Blueberry-- mükəmməl. 1670 01:20:40,570 --> 01:20:43,990 Burada başa gedir. 1671 01:20:43,990 --> 01:20:47,530 Və belə ki, biz bir var görünür cüzi yaxşı həll, 1672 01:20:47,530 --> 01:20:50,820 İndi mən istəyirəm, çünki alma üçün axtarış, mən 1673 01:20:50,820 --> 01:20:53,200 first-- Mən dive deyil Mənim data strukturu. 1674 01:20:53,200 --> 01:20:54,850 Mən kompüter yaddaş dalış deyil. 1675 01:20:54,850 --> 01:20:56,530 Mən ilk ilk məktub oldu. 1676 01:20:56,530 --> 01:20:58,610 >> Və bu nə bir kompüter alim demək olardı. 1677 01:20:58,610 --> 01:21:00,760 Siz data strukturu hash. 1678 01:21:00,760 --> 01:21:04,100 Siz daxil, almaq Bu halda alma kimi bir söz. 1679 01:21:04,100 --> 01:21:07,150 Siz baxaraq, onu təhlil bu halda ilk məktub, 1680 01:21:07,150 --> 01:21:08,340 bununla onu hashing. 1681 01:21:08,340 --> 01:21:10,950 Hashing ümumi müddət vasitəsi deyil Siz giriş kimi bir şey almaq 1682 01:21:10,950 --> 01:21:12,116 və bəzi çıxış istehsal edir. 1683 01:21:12,116 --> 01:21:15,090 Və çıxış hal yer 1684 01:21:15,090 --> 01:21:18,150 Siz ilk axtarış etmək istəyirəm yeri, ikinci yer, üçüncü. 1685 01:21:18,150 --> 01:21:22,160 Belə ki, daxil alma, çıxış ilk. 1686 01:21:22,160 --> 01:21:25,054 input banan edir Çıxış ikinci olmalıdır. 1687 01:21:25,054 --> 01:21:27,220 giriş, qovun var Çıxış üçüncü olmalıdır. 1688 01:21:27,220 --> 01:21:30,320 giriş, blueberry edir Çıxış yenidən ikinci olmalıdır. 1689 01:21:30,320 --> 01:21:34,010 Və siz almaq kömək edir nə var Yaddaş vasitəsilə qısa yolları 1690 01:21:34,010 --> 01:21:39,050 sözləri almaq üçün və ya data daha səmərəli. 1691 01:21:39,050 --> 01:21:43,330 >> İndi bu potensial bizim vaxt aşağı azalıb qədər 26 adamdan birinin kimi ilə, 1692 01:21:43,330 --> 01:21:45,850 Siz güman, çünki ki, siz "Z" kimi bir çox "a" sözləri var 1693 01:21:45,850 --> 01:21:48,080 "Q" sözləri kimi sözlər olan həqiqətən realistic-- deyil 1694 01:21:48,080 --> 01:21:50,830 Siz arasında çəp olacaq alphabet-- müəyyən məktubları 1695 01:21:50,830 --> 01:21:53,204 lakin bu, artan olacaq imkan vermir yanaşma 1696 01:21:53,204 --> 01:21:55,930 Siz daha tez sözləri almaq üçün. 1697 01:21:55,930 --> 01:21:59,660 Və əslində, inkişaf etmiş bir proqram, dünyanın Googles, 1698 01:21:59,660 --> 01:22:02,180 vücuda of Facebooks Onlar hash masa istifadə edir 1699 01:22:02,180 --> 01:22:03,740 müxtəlif təyinatlı bir çox. 1700 01:22:03,740 --> 01:22:06,590 Amma onlar belə sadəlövh olmaz yalnız ilk məktub baxmaq 1701 01:22:06,590 --> 01:22:09,700 alma və ya banan və ya armud və ya qovun, 1702 01:22:09,700 --> 01:22:13,420 bu edə bilərsiniz, çünki siyahıları hələ uzun əldə edə bilər. 1703 01:22:13,420 --> 01:22:17,130 >> Və bu hələ sort ola bilər of linear-- belə növ yavaş, 1704 01:22:17,130 --> 01:22:19,980 n böyük O kimi ki, biz əvvəllər müzakirə. 1705 01:22:19,980 --> 01:22:25,290 Belə ki, nə bir real yaxşı hash table edəcək Bu daha böyük array olacaq do--. 1706 01:22:25,290 --> 01:22:28,574 Və bir daha istifadə edəcək mürəkkəb hashing funksiyası, 1707 01:22:28,574 --> 01:22:30,240 ki, yalnız baxmaq deyil "a." 1708 01:22:30,240 --> 01:22:35,480 Bəlkə baxır "a-p-p-l-e" və elə those beş məktublar çevirir 1709 01:22:35,480 --> 01:22:38,400 harada yeri daxil alma saxlanılır olmalıdır. 1710 01:22:38,400 --> 01:22:42,660 Biz yalnız naively məktub 'a' istifadə etdiyiniz tək, bu gözəl və sadə, çünki. 1711 01:22:42,660 --> 01:22:44,600 >> Amma hash table ildə sonunda, siz hesab edə bilər 1712 01:22:44,600 --> 01:22:47,270 of birləşməsi kimi bir sıra, hər hansı 1713 01:22:47,270 --> 01:22:51,700 ki, ideal bir bağlı siyahı var mümkün qədər qısa olmalıdır. 1714 01:22:51,700 --> 01:22:54,364 Bu açıq-aydın həlli deyil. 1715 01:22:54,364 --> 01:22:57,280 gözəl tuning Əslində, çox ki, başlıq zaman altında gedir 1716 01:22:57,280 --> 01:22:59,654 bu cür həyata mürəkkəb data strukturları 1717 01:22:59,654 --> 01:23:01,640 sağ nə serialın uzunluğu? 1718 01:23:01,640 --> 01:23:03,250 sağ hash funksiyası nədir? 1719 01:23:03,250 --> 01:23:04,830 Necə yaddaşında şeyi saxlamaq edirsiniz? 1720 01:23:04,830 --> 01:23:07,249 >> Amma necə tez həyata Müzakirələrin bu cür 1721 01:23:07,249 --> 01:23:10,540 bu cür ki, ya bu günə qədər qızışdı Bu nöqtədə bir baş üzərində olan 1722 01:23:10,540 --> 01:23:11,360 gözəl. 1723 01:23:11,360 --> 01:23:18,820 Amma biz həqiqətən ilə, geri başladı bir şey aşağı səviyyəli və elektron. 1724 01:23:18,820 --> 01:23:20,819 Və bu bir daha bu abstraksiya tema, 1725 01:23:20,819 --> 01:23:23,610 harada almaq üçün başlamaq bir dəfə verilmiş, OK, mən var pseudocode var 1726 01:23:23,610 --> 01:23:26,680 fiziki yaddaş, OK, hər, var fiziki yeri, bir ünvan var 1727 01:23:26,680 --> 01:23:29,910 OK, var, mən təmsil edə bilər arrows-- həmin ünvanları 1728 01:23:29,910 --> 01:23:34,650 çox tez var başlaya bilərsiniz daha mürəkkəb söhbət ki, 1729 01:23:34,650 --> 01:23:38,360 Sonda bizə imkan görünür axtarış kimi problemləri həll etmək üçün 1730 01:23:38,360 --> 01:23:41,620 və daha səmərəli çeşidlənməsi. 1731 01:23:41,620 --> 01:23:44,190 Və too-- arxayın Mən bu hesab edirəm, çünki 1732 01:23:44,190 --> 01:23:48,700 biz bəzi getdi sonra dərin deyil biz sizin proper-- bu CS mövzular 1733 01:23:48,700 --> 01:23:51,880 Bu bir gün yarım həyata Siz adətən artıq edə bilər nə qeyd 1734 01:23:51,880 --> 01:23:55,520 bir dövr səkkiz həftə əlbəttə. 1735 01:23:55,520 --> 01:23:59,670 >> Bu hər hansı suallar? 1736 01:23:59,670 --> 01:24:01,100 Yox? 1737 01:24:01,100 --> 01:24:01,940 Yaxşı. 1738 01:24:01,940 --> 01:24:05,610 Yaxşı, niyə biz orada fasilə deyil, bir neçə dəqiqə erkən nahar başlamaq, 1739 01:24:05,610 --> 01:24:07,052 yalnız bir saat da davam? 1740 01:24:07,052 --> 01:24:08,760 Mən uzanmaq lazımdır sual ilə bir az. 1741 01:24:08,760 --> 01:24:11,343 Sonra getmək üçün gedirəm OK, əgər bir neçə zəngləri almaq. 1742 01:24:11,343 --> 01:24:15,000 Mən bu vaxt bir musiqi yandırmaq lazımdır lakin nahar köşedeki olmalıdır. 1743 01:24:15,000 --> 01:24:17,862