1 00:00:00,000 --> 00:00:10,982 2 00:00:10,982 --> 00:00:11,940 DAVID MALAN: Bütün hüququ. 3 00:00:11,940 --> 00:00:16,470 Belə ki, bu CS50 və bu indi həftə üç start. 4 00:00:16,470 --> 00:00:19,960 >> Indiyə qədər, biz belə qədər C proqramları yazılı edilmişdir 5 00:00:19,960 --> 00:00:23,210 ki, bir az baxmaq Burada bu kimi bir şey. 6 00:00:23,210 --> 00:00:25,470 Beləliklə, biz bir neçə of var kəskin üst daxildir. 7 00:00:25,470 --> 00:00:28,490 Biz etibarsız, int əsas var, və sonra sonra bir şey ortada etmək, 8 00:00:28,490 --> 00:00:30,590 daxili kodu bəzi bit ki, funksiyası. 9 00:00:30,590 --> 00:00:34,170 Amma əsas fakt olmuşdur biz burada etibarsız deyərək etdik. 10 00:00:34,170 --> 00:00:39,320 Belə ki, etibarsız, bu zaman bütün, ifadə Bu proqram, zaman run, 11 00:00:39,320 --> 00:00:41,300 yalnız adı ilə davam edə bilər. 12 00:00:41,300 --> 00:00:46,330 Siz hər hansı digər sözləri yazın bilməz və ya proqram adı zaman sonra nömrələri 13 00:00:46,330 --> 00:00:46,830 çalışan. 14 00:00:46,830 --> 00:00:51,200 Belə ki, məsələn proqram, əgər salam adlı fayla tərtib, 15 00:00:51,200 --> 00:00:53,480 Siz salam edə bilər, lakin bu deyil. 16 00:00:53,480 --> 00:00:56,750 >> Yeganə yolu edə biləcək Bu proqram daxil təmin 17 00:00:56,750 --> 00:00:57,960 bir funksiyası zəng edir. 18 00:00:57,960 --> 00:00:59,790 Məsələn, nə funksiyası Biz bu günə qədər istifadə edilmişdir 19 00:00:59,790 --> 00:01:00,950 istifadəçi daxil almaq üçün necə? 20 00:01:00,950 --> 00:01:02,117 >> Auditoriya: string alın. 21 00:01:02,117 --> 00:01:04,700 DAVID MALAN: string almaq, ya int almaq və ya başqaları gördüm, 22 00:01:04,700 --> 00:01:07,630 Siz hələ istifadə deyil, hətta, kimi, uzun uzun və kimi almaq. 23 00:01:07,630 --> 00:01:09,380 Amma güman edirəm ki, biz həqiqətən başlamaq istəyirəm 24 00:01:09,380 --> 00:01:12,760 az daha var ki, yazı proqramları səmimi, bir az daha, çox yönlü və 25 00:01:12,760 --> 00:01:15,090 siz var ki, əmrləri kimi ümid edirəm ki, əldə edilmişdir, 26 00:01:15,090 --> 00:01:16,550 bir az vərdiş. 27 00:01:16,550 --> 00:01:18,560 Cd kosmik Dropbox kimi. 28 00:01:18,560 --> 00:01:20,800 Bu, əlbəttə, dəyişikliklər kataloq, fərz 29 00:01:20,800 --> 00:01:23,590 Siz John Harvard ev etdiyiniz directory, sizin Dropbox qovluğunda. 30 00:01:23,590 --> 00:01:27,380 Eyni zamanda, bu kimi bir komanda , pset2 adlı yeni qovluq yaradır 31 00:01:27,380 --> 00:01:30,290 Siz ola bilər kimi artıq və ya tezliklə problem iki seçin. 32 00:01:30,290 --> 00:01:33,970 Etmək Hello, əlbəttə, bir əmr deyil ki, salam adlı proqram qurur 33 00:01:33,970 --> 00:01:35,770 salam dot c adlı bir fayl. 34 00:01:35,770 --> 00:01:39,140 Və bu hər hallarda, indi biz etdik 35 00:01:39,140 --> 00:01:43,620 sözdə bir dəlil təmin command line, yanıb-sönən tez, 36 00:01:43,620 --> 00:01:48,540 Ki, bilir nə qurmaq, və belə ki, mkdir yaratmaq üçün nə qovluq bilir, 37 00:01:48,540 --> 00:01:51,110 və ki, cd bilir harada getmək istəyirəm. 38 00:01:51,110 --> 00:01:54,720 Amma indi qədər, deyirdik saxlamaq əsas, sizin u mənim funksiyası, 39 00:01:54,720 --> 00:01:58,500 bir boşluq ifadə var bu mötərizə daxilində, 40 00:01:58,500 --> 00:02:01,250 olan bu o deməkdir ki, hər hansı arqumentlər bilməz. 41 00:02:01,250 --> 00:02:03,240 >> Belə ki, bu gün başlayan, biz nə olacaq 42 00:02:03,240 --> 00:02:06,270 , biz başlamaq olacaq edir Bu hətta kimi şeylər dəstək. 43 00:02:06,270 --> 00:02:08,990 Əslində, bu halda, ki, siz adətən əl yazın yoxdur, 44 00:02:08,990 --> 00:02:11,130 Bunu edilmişdir olun bizim üçün, yoxdur 45 00:02:11,130 --> 00:02:15,840 bir lakin bir, iki, üç əlavə Bu proqram adına strings 46 00:02:15,840 --> 00:02:16,850 cingilti. 47 00:02:16,850 --> 00:02:18,240 Belə ki, necə biz buna nail edirsiniz? 48 00:02:18,240 --> 00:02:20,260 >> Bəli, bu gün başlayan, Biz istəyirik hallarda 49 00:02:20,260 --> 00:02:22,855 vasitəsilə giriş təmin etmək command line sözdə, 50 00:02:22,855 --> 00:02:24,980 Biz əlavə başlamaq olacaq burada yellow-- nə var 51 00:02:24,980 --> 00:02:30,520 int argc vergül ilə etibarsız əvəz string argv açıq bracket yaxın bracket. 52 00:02:30,520 --> 00:02:32,520 İndi bu maraqlı səbəblərdən bir neçə. 53 00:02:32,520 --> 00:02:35,690 One, bizə yazmaq imkan olacaq bir az daha dinamik proqramlar. 54 00:02:35,690 --> 00:02:37,570 Lakin, daha compellingly, bu qədər açıq olacaq 55 00:02:37,570 --> 00:02:40,340 kimi indi söhbət nə seriallarda bilərsiniz həqiqətən 56 00:02:40,340 --> 00:02:43,300 nə bir simli üçün istifadə edilə həqiqətən başlıq altında, 57 00:02:43,300 --> 00:02:47,320 gələn həftə qədər dalğıc başlamaq zaman maşın necə hətta daha dərin 58 00:02:47,320 --> 00:02:48,590 bu məhsulları bütün iş edilməsi. 59 00:02:48,590 --> 00:02:51,920 Amma indi üçün, çəkmək imkan, bəlkə, bir şəkil. 60 00:02:51,920 --> 00:02:54,950 >> Bir proqram yazarkən elan əsas ilə 61 00:02:54,950 --> 00:02:58,810 bu şəkildə, məsələn ki, iki arqumentlər bir int edir 62 00:02:58,810 --> 00:03:03,233 and-- nə data type İkinci dəlil var? 63 00:03:03,233 --> 00:03:04,529 >> Auditoriya: Array. 64 00:03:04,529 --> 00:03:05,320 DAVID MALAN: Array. 65 00:03:05,320 --> 00:03:09,170 Bir var kimi belə ki, ilk baxışdan görünür simli, lakin kvadrat mötərizə bilərsiniz. 66 00:03:09,170 --> 00:03:12,760 Biz təqdim keçən zaman geri bir sıra anlayışı. 67 00:03:12,760 --> 00:03:16,210 Və seriallarda kvadrat mötərizə istifadə edin kontekstlərdə bir neçə. 68 00:03:16,210 --> 00:03:19,160 Siz kvadrat istifadə edə bilər Mötərizədə bir sıra getmək 69 00:03:19,160 --> 00:03:22,710 və kimi, müəyyən bir element almaq bracket 0 və ya bracket 1 və ya bracket 2. 70 00:03:22,710 --> 00:03:25,500 Amma biz, əgər qısa gördüm Keçən həftə də siz 71 00:03:25,500 --> 00:03:28,790 bu kvadrat mötərizə istifadə edin bir serialın ölçüsü bəyan, 72 00:03:28,790 --> 00:03:31,790 Siz əvvəlcədən bilirsinizsə neçə ints və ya neçə strings və ya hər hansı 73 00:03:31,790 --> 00:03:32,630 həqiqətən istəyirəm. 74 00:03:32,630 --> 00:03:34,790 Belə ki, orada nin çıxır Burada üçüncü kontekstində 75 00:03:34,790 --> 00:03:37,890 ki, içərisində heç bir sıra var kvadrat mötərizədə. 76 00:03:37,890 --> 00:03:41,920 Mən burada kimi zaman, müəyyən, argv kimi bir şey adı, 77 00:03:41,920 --> 00:03:44,550 olan yalnız bir xülya yoludur dəlil vektor deyərək olan 78 00:03:44,550 --> 00:03:47,750 bir xülya yolu , dəlilləri bir sıra deyərək 79 00:03:47,750 --> 00:03:50,870 açıq bracket yaxın bracket yalnız mütləq deyil o deməkdir ki, 80 00:03:50,870 --> 00:03:52,960 necə böyük əvvəlcədən bilmək Bu array, olacaq 81 00:03:52,960 --> 00:03:55,070 ancaq bir sıra olacaq bilirik. 82 00:03:55,070 --> 00:03:57,320 Siz bilmirəm, əgər belə sayı, orada qoymaq deyil 83 00:03:57,320 --> 00:04:01,160 açıq bracket yaxın bracket üçün argv bir string deyil o deməkdir ki, 84 00:04:01,160 --> 00:04:03,124 lakin strings bir sıra. 85 00:04:03,124 --> 00:04:05,040 Belə ki syntactically, əgər geri son həftə hesab edirəm ki, 86 00:04:05,040 --> 00:04:09,460 deyərək çox oxşar int yaş açıq bracket kimi bir şey, 87 00:04:09,460 --> 00:04:10,984 və sonra bir şey sonra. 88 00:04:10,984 --> 00:04:12,150 Belə ki, nə bu kimi görünür? 89 00:04:12,150 --> 00:04:13,399 Nin əslində bir şəkil çəkmək edək. 90 00:04:13,399 --> 00:04:18,756 Belə ki, Main bu proqram çalıştırdığınızda iki dəlilləri daxili müəyyən edərək 91 00:04:18,756 --> 00:04:21,339 o parantez, siz mahiyyətcə ən azı iki chunks 92 00:04:21,339 --> 00:04:23,560 yaddaş sizə təqdim başlıq altında. 93 00:04:23,560 --> 00:04:26,550 One, bu düzbucaqlı kimi çəkir I will kimi, argc adlı olacaq. 94 00:04:26,550 --> 00:04:30,645 Və yalnız bir sürətli recap kimi, argc data növü nədir? 95 00:04:30,645 --> 00:04:31,270 Belə ki, bir int var. 96 00:04:31,270 --> 00:04:33,480 Belə ki, bir sıra gedir argc-- növbə getmək 97 00:04:33,480 --> 00:04:35,660 həyata Arqument sayı tərəfdardır ki. 98 00:04:35,660 --> 00:04:38,887 Eyni zamanda, mən bir sıra kimi argv tərtib etdik. 99 00:04:38,887 --> 00:04:40,970 Və mən, həqiqətən bilmirəm Bu olacaq necə uzun, 100 00:04:40,970 --> 00:04:42,470 yəni bu məqsədlər üçün dot dot dot. 101 00:04:42,470 --> 00:04:43,636 Bəzi uzunluğu əldə edə bilər. 102 00:04:43,636 --> 00:04:45,640 Amma burada təsvir etdik ən azı dörd düzbucaqlı. 103 00:04:45,640 --> 00:04:50,970 Belə ki, mağaza yaddaş yığın argv string string simli dot dot dot, 104 00:04:50,970 --> 00:04:53,950 və argc yalnız bir yığın tam üçün yaddaş. 105 00:04:53,950 --> 00:04:55,710 >> Belə ki, indi bir az daha dəqiq olsun. 106 00:04:55,710 --> 00:04:59,200 Əgər, mən strings var Bu array adlı 107 00:04:59,200 --> 00:05:03,290 argv, mən onlara almaq istəyirəm fərdi, yalnız ötən həftə kimi, 108 00:05:03,290 --> 00:05:05,670 biz notation istifadə etmək olacaq argv bracket 0 kimi 109 00:05:05,670 --> 00:05:07,650 ilk şey bir sıra almaq üçün. 110 00:05:07,650 --> 00:05:10,440 Argv bracket 1 almaq üçün s İkinci şey, və. 111 00:05:10,440 --> 00:05:14,597 Əsas Burada biz hələ 0 etdiyiniz olan indexed-- biz hələ 0-dan hesablanması edirik. 112 00:05:14,597 --> 00:05:16,430 Belə ki, indi həqiqətən edək bu bir şey qoymaq. 113 00:05:16,430 --> 00:05:21,670 Mən adlı proqramı tərtib etmək olsaydı hello hello dot c adlı bir fayl, 114 00:05:21,670 --> 00:05:24,340 və sonra proqram run dot ilə salam doğramaq, 115 00:05:24,340 --> 00:05:28,380 mənim kompüter mənim laptop nə, başlıq altında kimi baxmaq 116 00:05:28,380 --> 00:05:31,300 Mən dot run an salam doğramaq və Enter? 117 00:05:31,300 --> 00:05:33,500 Bəli, bu bəlkə biz təsvir nə 118 00:05:33,500 --> 00:05:37,010 Sizin kompüter məzmunu kimi yaddaş, və ya RAM Random Access Memory. 119 00:05:37,010 --> 00:05:40,330 Başqa sözlə, kompüter, birtəhər magically sizin üçün, 120 00:05:40,330 --> 00:05:45,360 argc sayı 1 qoyur, AKA argcount, və sanki simli qoyur 121 00:05:45,360 --> 00:05:48,200 salam argv bracket 0. 122 00:05:48,200 --> 00:05:51,750 Mən heç bir fikir, səmimi, nə var argv bracket 1 və ya 2 və ya 3, 123 00:05:51,750 --> 00:05:55,550 istifadəçi deyil, çünki , salam başqa bir şey tipli 124 00:05:55,550 --> 00:05:58,550 bu güman olacaq çox güman ki, zibil dəyərlər, 125 00:05:58,550 --> 00:05:59,700 belə danışmaq. 126 00:05:59,700 --> 00:06:02,650 Yaddaş bu chunks mövcud, lakin bu, bizim üçün deyil 127 00:06:02,650 --> 00:06:05,710 Çünki, onlara baxmaq Bu argcount yalnız biridir. 128 00:06:05,710 --> 00:06:07,870 >> İndi isə, mən əgər başqa bir proqram run yazmaq, 129 00:06:07,870 --> 00:06:12,250 daha düzgün bir komanda olan cd, Sizin yanıb-sönən prompt-- cd məkanında 130 00:06:12,250 --> 00:06:17,200 Mən səmərəli, run zaman Dropbox--, CD proqram run zaman, argc, 131 00:06:17,200 --> 00:06:22,270 mənim kompüter yaddaş daxili, üçün ən briefest ikinci sayı 2. 132 00:06:22,270 --> 00:06:25,936 Və sonra argv bracket o var cd, argv bracket 1, Dropbox var 133 00:06:25,936 --> 00:06:28,560 və sonra əlbəttə komanda tamamlayır, bu yaddaş bütün 134 00:06:28,560 --> 00:06:30,420 mahiyyətcə üz gedir və başqa bir şey üçün istifadə olunur. 135 00:06:30,420 --> 00:06:32,270 Və mən demək nə var ikinci bir split. 136 00:06:32,270 --> 00:06:35,720 >> Eyni zamanda, biz mkdir Pset2 əgər, şəkil, demək olar ki, eyni görünür 137 00:06:35,720 --> 00:06:37,900 lakin argv daxilində müxtəlif strings ilə. 138 00:06:37,900 --> 00:06:42,570 Mən salam cingilti tire əgər salam dot c, eyni fikir. 139 00:06:42,570 --> 00:06:47,060 Daha stuff üçün doldurulur argv, və argc, əlbəttə, 4. 140 00:06:47,060 --> 00:06:49,150 Belə ki, başqa sözlə, hətta bu array baxmayaraq 141 00:06:49,150 --> 00:06:52,950 bəzi, dot dot dot bilər dəyişən uzunluğu, belə ki, danışmaq 142 00:06:52,950 --> 00:06:56,720 Siz həmişə olduğu sonunda bilmək argc sizə gedir, çünki, 143 00:06:56,720 --> 00:07:00,120 nə nöqtədə siz dayandırmaq üçün argv elementləri baxaraq. 144 00:07:00,120 --> 00:07:03,660 Siz yalnız dörd baxa bilərsiniz bu halda cəmi. 145 00:07:03,660 --> 00:07:06,600 >> Belə ki, indi bir nəzər edək, bəlkə, sadə bir proqramdır. 146 00:07:06,600 --> 00:07:09,070 Yalnız salam deyir ki, bir Zamyla kimi kimsə. 147 00:07:09,070 --> 00:07:12,620 Mən bir proqram yazmaq üçün gedirəm təsdiq yalnız bir anda hansı vasitəsilə mən nə edə bilər 148 00:07:12,620 --> 00:07:16,670 sonra mən istəyirəm Salam kosmik Zamyla, və mənim proqram bir şey çap 149 00:07:16,670 --> 00:07:18,520 kimi super-sadə "hello, Zamyla." 150 00:07:18,520 --> 00:07:20,100 Keçmişdə İndi biz GetString istifadə etdik. 151 00:07:20,100 --> 00:07:22,850 Keçmişdə, hətta belə Siz proqramlaşdırma yeni danışırsınızsa 152 00:07:22,850 --> 00:07:27,180 odds bir qızışdırmaq bilər var GetString istifadə edir ki proqram 153 00:07:27,180 --> 00:07:29,390 və sonra printf istifadə Zamyla hi demək. 154 00:07:29,390 --> 00:07:31,290 Amma bu dəfə GetString istifadə edək. 155 00:07:31,290 --> 00:07:37,510 Mənə əvəzinə appliant daxil edək və standart I O dot saat daxildir. 156 00:07:37,510 --> 00:07:41,160 Mənə də CS50 dot saat daxildir edək. 157 00:07:41,160 --> 00:07:44,730 İndi əsas int və indi mən bu gün etibarsız etmək niyyətində deyil. 158 00:07:44,730 --> 00:07:51,200 Əksinə, mən int argc gedirəm string argv açıq bracket yaxın bracket, 159 00:07:51,200 --> 00:07:52,640 bir sıra ifadə deyil. 160 00:07:52,640 --> 00:07:54,644 İndi burada mənim nə deyilən. 161 00:07:54,644 --> 00:07:57,560 Mən indi gedirəm mən oldum, iman bir sıçrayış bir az etmək üçün gedir, 162 00:07:57,560 --> 00:08:00,560 Mən istifadəçi güman gedirəm düzgün bu proqramı istifadə etmək niyyətindədir 163 00:08:00,560 --> 00:08:04,980 və mən sadəcə gedirəm , salam printf% sn yoxdur. 164 00:08:04,980 --> 00:08:06,630 Belə ki, heç bir şey yoxdur, yeni. 165 00:08:06,630 --> 00:08:11,470 Amma indi nə söz qoymaq istəyirəm Proqramın adına istifadəçi növləri. 166 00:08:11,470 --> 00:08:16,970 Mən Zamyla Salam yer əgər, mən elə program giriş istəyirəm 167 00:08:16,970 --> 00:08:20,870 dırnağı bağlamaq "ZAMYLA." sitat mən mənim Arqument vektor daxil edə bilərsiniz, 168 00:08:20,870 --> 00:08:25,980 mənim strings array və komanda əgər, yenə salam kosmik, Zamyla idi 169 00:08:25,980 --> 00:08:29,340 nə nömrəsi istəyirəm nə Burada argv qoymaq? 170 00:08:29,340 --> 00:08:29,840 Auditoriya: 1. 171 00:08:29,840 --> 00:08:32,355 DAVID MALAN: 1, çünki bracket 0 çıxır 172 00:08:32,355 --> 00:08:34,230 Bu olacaq Proqramın adı gördük kimi. 173 00:08:34,230 --> 00:08:37,789 Belə ki, bracket 1 ilk söz I ki, istifadəçi yazdığınız. 174 00:08:37,789 --> 00:08:39,559 Mən irəli getmək və bu saxlamaq üçün gedirəm. 175 00:08:39,559 --> 00:08:42,830 Mən qovluğa getmək üçün gedirəm harada Mən bu fayl yerləşdirmişəm. 176 00:08:42,830 --> 00:08:44,920 Mən salam 3 etmək gedirəm. 177 00:08:44,920 --> 00:08:46,230 Comp Io nin OK. 178 00:08:46,230 --> 00:08:51,380 salam Zamyla daxil edin. 179 00:08:51,380 --> 00:08:54,480 Mən səhv nə idi? 180 00:08:54,480 --> 00:08:57,270 Mən sürpriz tərəfindən tutuldu özümü orada yalnız bir an üçün. 181 00:08:57,270 --> 00:08:58,230 Mən səhv nə idi? 182 00:08:58,230 --> 00:08:59,220 >> Auditoriya: məktəbin adı. 183 00:08:59,220 --> 00:09:01,767 >> DAVID MALAN: Bu fayl Agentliyi həqiqətən hello3.c çağırıb. 184 00:09:01,767 --> 00:09:03,850 Mən yalnız etdi ardıcıllıq, biz çünki 185 00:09:03,850 --> 00:09:06,550 Bu idi hello.c Agentliyi online kodu keçmiş. 186 00:09:06,550 --> 00:09:11,550 Belə ki, bu salam düzeltmek bildirin bracket dash 3 Zamyla. 187 00:09:11,550 --> 00:09:12,370 Daxil edin. 188 00:09:12,370 --> 00:09:14,030 Və indi biz, salam ZAMYLA var. 189 00:09:14,030 --> 00:09:17,650 Eyni zamanda, mən bu dəyişə bilər Rob, və ya, həqiqətən, hər hansı digər söz olsun. 190 00:09:17,650 --> 00:09:19,230 >> Amma bir küncündə işi hesab edək. 191 00:09:19,230 --> 00:09:24,360 Əgər nə olacaq gözləmək bilər Mən kimsənin adını yazın deyil? 192 00:09:24,360 --> 00:09:25,270 >> Auditoriya: Error. 193 00:09:25,270 --> 00:09:27,300 >> DAVID MALAN: An error bəlkə bir növ, və. 194 00:09:27,300 --> 00:09:28,200 Baxaq. 195 00:09:28,200 --> 00:09:29,440 Daxil edin. 196 00:09:29,440 --> 00:09:30,210 Null. 197 00:09:30,210 --> 00:09:33,870 Belə printf həqiqətən olunur Bizə bir az qoruyucu 198 00:09:33,870 --> 00:09:38,131 Burada, və sözün açıq paren çap null, hətta pis şeylər ola bilər. 199 00:09:38,131 --> 00:09:40,130 Və yalnız nümayiş etdirmək Bir şey tamamilə 200 00:09:40,130 --> 00:09:42,800 lazım deyil, öz gedək Burada və ətrafında poking başlayır. 201 00:09:42,800 --> 00:09:43,300 Right? 202 00:09:43,300 --> 00:09:46,410 Mən bilirəm ki, əgər şəkil ilə yaddaş, mahiyyətcə bu 203 00:09:46,410 --> 00:09:52,660 argv bracket 1 Zamyla, argv var bracket 0 salam var, ya salam-3. 204 00:09:52,660 --> 00:09:55,400 Nə bracket 2 var? 205 00:09:55,400 --> 00:09:58,210 Belə ki, cavab verə bilərsiniz sağ, özümü sual? 206 00:09:58,210 --> 00:10:00,460 Mən yalnız bir 2, 1 dəyişə bilərsiniz. 207 00:10:00,460 --> 00:10:07,270 İndi, 3 salam compile ./hello3 nin zoom və Enter edək. 208 00:10:07,270 --> 00:10:08,270 Whoops. 209 00:10:08,270 --> 00:10:10,660 No quote mark. 210 00:10:10,660 --> 00:10:12,540 Maraqlı. 211 00:10:12,540 --> 00:10:15,530 Belə ki cür sərin var burada nə görmək. 212 00:10:15,530 --> 00:10:17,130 >> Belə ki, nə mənim laptop daxilində? 213 00:10:17,130 --> 00:10:20,390 Nin bracket 3 ilə xilas edək. 214 00:10:20,390 --> 00:10:25,190 Salam-3, hello3 olun. 215 00:10:25,190 --> 00:10:26,500 Maraqlı. 216 00:10:26,500 --> 00:10:30,560 İndi həqiqətən bold-- 50 almaq edək. 217 00:10:30,560 --> 00:10:34,340 Belə ki, dərin həqiqətən dalğıc var mənim kompüter yaddaş daxil. 218 00:10:34,340 --> 00:10:35,930 50 göstəriciləri ilə. 219 00:10:35,930 --> 00:10:41,950 Belə salam 3 salam-3 olun. 220 00:10:41,950 --> 00:10:42,680 Maraqlı. 221 00:10:42,680 --> 00:10:44,660 Bütün hüquqlar, indi mən yalnız deyiləm tələsik almaq üçün gedir. 222 00:10:44,660 --> 00:10:47,331 Nin 5000 gedək. 223 00:10:47,331 --> 00:10:47,830 Bütün hüquqlar. 224 00:10:47,830 --> 00:10:49,520 Mənə compile bildirin. 225 00:10:49,520 --> 00:10:51,460 Salam-3, hello3 olun. 226 00:10:51,460 --> 00:10:55,780 227 00:10:55,780 --> 00:10:56,460 OK. 228 00:10:56,460 --> 00:10:59,250 Siz bəzi artıq var bilər off gedir bir ampul ola bilər. 229 00:10:59,250 --> 00:11:01,900 Necə bir çox var əvvəl bu mesajı görüldü? 230 00:11:01,900 --> 00:11:03,440 OK. 231 00:11:03,440 --> 00:11:04,420 Belə ki, niyə? 232 00:11:04,420 --> 00:11:07,250 >> Oran are-- və müxtəlif var bu səbəb ola bilər ki, hər şeyi, 233 00:11:07,250 --> 00:11:09,730 və aydın yaxşı etdiyiniz company-- biz aydın şəkildə 234 00:11:09,730 --> 00:11:11,900 adlı nə səbəb bir seqmentasiya günah. 235 00:11:11,900 --> 00:11:15,890 Və bu gün uzun hekayə qısa, I yaddaş seqment toxunub 236 00:11:15,890 --> 00:11:17,060 Mən deyil ki. 237 00:11:17,060 --> 00:11:19,970 Bir seqment yalnız bir yığın deməkdir yaddaş Mən deyil ki. 238 00:11:19,970 --> 00:11:25,530 İndi kompüter ki, zəmanət, mən Mən argv toxunmaq olar ki, ./helloZamyla run 239 00:11:25,530 --> 00:11:27,760 bracket 0 və argv bracket 1 ola bilər. 240 00:11:27,760 --> 00:11:32,730 Amma argc dəyəri 2, mən deməkdir yalnız şərəfinə sort var allowed-- 241 00:11:32,730 --> 00:11:35,180 toxunmaq system-- bracket 0 və bracket 1. 242 00:11:35,180 --> 00:11:37,990 Mən heç bir uzaq getmək əgər var yoxdur yaddaş olacaq. 243 00:11:37,990 --> 00:11:40,660 Mənim RAM fiziki mövcud kompüter. 244 00:11:40,660 --> 00:11:42,080 Amma kim var nə bilir? 245 00:11:42,080 --> 00:11:44,450 Həqiqətən, mən neçə qaçıram bir zamanda proqramları. 246 00:11:44,450 --> 00:11:46,910 Mən əgər mən seen-- ola bilər Bu appliant haqqında bunu 247 00:11:46,910 --> 00:11:49,937 lakin mənim Mac və ya PC-- mən ola bilər bir e-poçt məzmunu görülür. 248 00:11:49,937 --> 00:11:52,270 Mən bir anlıq görmüşəm bilər Mesaj yaxınlarda mən göndərdik. 249 00:11:52,270 --> 00:11:55,390 Ola bilər ki, bir şey yaddaş ətrafında uzunsürən 250 00:11:55,390 --> 00:11:59,180 yolu ilə əldə bilərdi Bu ixtiyari kvadrat mötərizə notation. 251 00:11:59,180 --> 00:12:02,850 Və ya pis hələ, siz ola bilər mənim parol biri 252 00:12:02,850 --> 00:12:05,859 Bu yaxınlarda mən, yazılmış bir ki ediyorum ki, proqram yaddaş saxlanılır kimi belə 253 00:12:05,859 --> 00:12:07,900 mənə kimlik, və sonra yalnız cür tərk 254 00:12:07,900 --> 00:12:09,910 RAM I proqram çıxmaq qədər. 255 00:12:09,910 --> 00:12:12,860 >> Və həqiqətən, bu biridir təhlükə və bir səlahiyyətləri 256 00:12:12,860 --> 00:12:15,980 C. kimi bir dil istifadə Siz unfettered imkanı var 257 00:12:15,980 --> 00:12:18,860 bütün içeriğini bir proqramın yaddaş, 258 00:12:18,860 --> 00:12:21,340 və nə pis uşaqlar bilərsiniz hətta cases-- nə 259 00:12:21,340 --> 00:12:23,807 xüsusilə biz web proqramlaşdırma almaq 260 00:12:23,807 --> 00:12:26,890 semestr sonuna doğru, biz will ətrafında soxmaq bu topic-- yenidən, 261 00:12:26,890 --> 00:12:31,660 potensial, kimsə kompüter var yaddaş və maraqlı şeyi tapmaq 262 00:12:31,660 --> 00:12:32,570 biz orada gördüm. 263 00:12:32,570 --> 00:12:36,900 Və ya hətta pis hələ, parol ki, o və ya o pis şeylər üçün istifadə edə bilərsiniz. 264 00:12:36,900 --> 00:12:40,240 >> Belə aydın mən bunu olmamalıdır qəribə şeylər başlamaq çünki. 265 00:12:40,240 --> 00:12:42,310 Həqiqətən, bu proqram şaqqıltılı edir. 266 00:12:42,310 --> 00:12:44,580 Bu ekvivalent olacaq Windows Mac OS və ya 267 00:12:44,580 --> 00:12:46,770 bir proqram pəncərə yalnız yoxa. 268 00:12:46,770 --> 00:12:48,300 Gözlənilməz bir səhv meydana gəldi. 269 00:12:48,300 --> 00:12:50,840 Command-line mühitdə biz bu kimi bir şey görmək. 270 00:12:50,840 --> 00:12:54,480 Amma niyə, mən sadəcə toxunan deyiləm olunur mənə aid deyil ki, yaddaş. 271 00:12:54,480 --> 00:12:57,090 >> Belə ki, bu a qarşı müdafiə edək fərqli bir şəkildə az 272 00:12:57,090 --> 00:12:59,010 burada bu proqram baxaraq. 273 00:12:59,010 --> 00:13:01,000 Belə ki, daha, skelet biz əvvəllər gördüm ki, 274 00:13:01,000 --> 00:13:02,480 və mən bu dəfə int qeyd etdik. 275 00:13:02,480 --> 00:13:05,900 Və bütün bu vaxt əsas var həqiqətən dəyər döndü. 276 00:13:05,900 --> 00:13:09,120 Hətta baxmayaraq ki, bizim mühazirə ən biz bir dəfə istifadə heç etdik nümunələri 277 00:13:09,120 --> 00:13:10,990 əsas şey qayıtmaq. 278 00:13:10,990 --> 00:13:13,710 Biz yalnız printf yaxın yazmaq buruq brace və bu. 279 00:13:13,710 --> 00:13:16,500 Lakin pulsuz üçün, nə compiler sizin üçün bunu 280 00:13:16,500 --> 00:13:19,510 səmərəli, sizin üçün 0 qayıdır. 281 00:13:19,510 --> 00:13:22,950 Çıxır və bir az var 0 yaxşıdır ki counterintuitive--. 282 00:13:22,950 --> 00:13:24,690 Bu se başına yalan demək deyil. 283 00:13:24,690 --> 00:13:29,080 0 yaxşıdır, və hər hansı bir qeyri-0 dəyəri, dünya qərar qəbul edib 284 00:13:29,080 --> 00:13:30,619 səhv demek bilər. 285 00:13:30,619 --> 00:13:32,910 Əgər messed olsanız belə bilgisayarınızda bir şey, 286 00:13:32,910 --> 00:13:36,600 və ya proqram yalnız sizə vəfat edib və Bəzi səhv pəncərə kazanılmış 287 00:13:36,600 --> 00:13:40,360 ekranda deyərək səhv 49 və ya səhv mənfi 23-- 288 00:13:40,360 --> 00:13:44,170 ki, bəzi zahirən əsassız value-- bir proqramçı ağır kodlu çünki 289 00:13:44,170 --> 00:13:49,370 49 mənfi və ya müsbət kimi dəyəri 23 hər hansı bir sayı təmsil, demək cəsarət, 290 00:13:49,370 --> 00:13:53,340 4 milyard mümkün şeylər ki, bir proqram yanlış getmək bilər. 291 00:13:53,340 --> 00:13:55,700 >> Mən necə bilər Bu üstünlüyü özümü? 292 00:13:55,700 --> 00:13:58,970 Yaxşı, mənə bir proqram açmaq Mən əvvəlcədən yazmışdır ki, 293 00:13:58,970 --> 00:14:01,450 və online salam 4 çağırıb ətrafında soxmaq. 294 00:14:01,450 --> 00:14:05,650 Və bu ki, istisna olmaqla, demək olar ki, eyni deyil onun səhv yoxlanılması bir az var. 295 00:14:05,650 --> 00:14:09,660 Bu halda, mən yenə elan etdik iki dəlilləri alaraq əsas, 296 00:14:09,660 --> 00:14:13,180 lakin bu zaman, line 17, bildiriş Mən ağlı başında olma çek bir az edirəm. 297 00:14:13,180 --> 00:14:17,100 Mən əmin edilməsi alıram argc 2 bərabərdir bərabərdir. 298 00:14:17,100 --> 00:14:18,960 Bu, çünki, ki, Mən təhlükəsiz deməkdir 299 00:14:18,960 --> 00:14:21,420 yalnız bracket 0, lakin bracket 1 toxunmaq. 300 00:14:21,420 --> 00:14:24,330 Mən irəli getmək və çap, bu halda, Zamyla ya Rob 301 00:14:24,330 --> 00:14:26,020 ya mən tipli hər hansı söz. 302 00:14:26,020 --> 00:14:28,020 Və indi yalnız almaq üçün , daha düzgün bir az 303 00:14:28,020 --> 00:14:31,910 Mən açıq qayıtmaq üçün gedirəm 0 Bütün yaxşı demek. 304 00:14:31,910 --> 00:14:33,300 Pis bir şey baş verib. 305 00:14:33,300 --> 00:14:38,590 >> Lakin Konvensiya, mən gedirəm 1 qayıtmaq, və ya açıq hər hansı bir qeyri-0 dəyər, 306 00:14:38,590 --> 00:14:40,160 bir şey yanlış getdi əgər. 307 00:14:40,160 --> 00:14:43,270 İndi istifadəçi niyyətində deyil həqiqətən neler bilərsiniz. 308 00:14:43,270 --> 00:14:50,410 Həqiqətən mən bu kataloq getmək əgər, biz, zoom və salam 4 edə bilərəm 309 00:14:50,410 --> 00:14:54,210 I gözləmək kimi Salam-4 Zamyla davranır. 310 00:14:54,210 --> 00:14:58,570 Amma əvəzinə yazın yoxsa bir şey, heç bir şey görünür, 311 00:14:58,570 --> 00:14:59,680 lakin bu qəza deyil. 312 00:14:59,680 --> 00:15:04,660 Və mən əvəzinə bir şey varsa, Rob kimi bir PROCTOR edir 313 00:15:04,660 --> 00:15:07,550 Thayer-- paylaşma ixtiyari məlumat. 314 00:15:07,550 --> 00:15:13,680 Ancaq xəbərdarlıq, argv 1, 2, 3, 4, və 5 artıq yaddaş mövcud olmalıdır. 315 00:15:13,680 --> 00:15:16,540 Ki, bu da, nə deyil Mənim proqram gözləyir 316 00:15:16,540 --> 00:15:20,300 Mən olub yoxlanılır, çünki argc bərabər 2 və ya bərabər deyil. 317 00:15:20,300 --> 00:15:22,140 Mən indi bu qarşı müdafiə edirəm. 318 00:15:22,140 --> 00:15:25,290 >> İndi, bir kənara kimi, biz programmer-- və ya daha çox biz users-- 319 00:15:25,290 --> 00:15:29,670 0 və ya 1, lakin istifadə edərək görmək heç vaxt alət, Debugger və ya digər alətlər adlı 320 00:15:29,670 --> 00:15:32,250 Biz əvvəl görəcəksiniz kimi uzun, siz proqramçı 321 00:15:32,250 --> 00:15:36,590 həqiqətən ola bilər nə edə bilərsiniz proqram daxilində yanlış gedir. 322 00:15:36,590 --> 00:15:39,170 >> Belə ki, argc hər hansı suallar? 323 00:15:39,170 --> 00:15:40,873 Bəli. 324 00:15:40,873 --> 00:15:45,292 >> Auditoriya: Mən gördüm onlar xarakter var idi, [Işitilemez] 325 00:15:45,292 --> 00:15:49,669 kimi string ulduz d ifadə edərək, xarakter ulduz vergül. 326 00:15:49,669 --> 00:15:50,710 Onlar burada ekvivalent? 327 00:15:50,710 --> 00:15:51,626 >> DAVID MALAN: onlar. 328 00:15:51,626 --> 00:15:55,080 Sual Belə ki, siz bəzən görüldü proqramları 329 00:15:55,080 --> 00:15:57,270 deyil ki, bu kimi string argv bracket demək 330 00:15:57,270 --> 00:16:01,015 lakin əvəzinə bir şey demək char ulduz argv bracket kimi. 331 00:16:01,015 --> 00:16:03,140 Və hətta digər var Siz görə bilərsiniz ki, variantlar. 332 00:16:03,140 --> 00:16:04,264 Onlar, həqiqətən, bərabər. 333 00:16:04,264 --> 00:16:06,240 İndi, biz bu var təlim təkərlər sort 334 00:16:06,240 --> 00:16:09,737 CS50 string şəklində haqqında kitabxana, ancaq bir həftə ərzində 335 00:16:09,737 --> 00:16:12,570 və ya belə ki, aradan qaldırılması olacaq tamamilə və həqiqətən maneə 336 00:16:12,570 --> 00:16:16,820 char və ulduz nə baxmaq və o yaddaş necə aid 337 00:16:16,820 --> 00:16:18,140 təmsil ümumiyyətlə. 338 00:16:18,140 --> 00:16:19,540 Belə ki, geri qayıtmaq lazımdır. 339 00:16:19,540 --> 00:16:21,540 >> Bizim argv ya argc Digər suallar? 340 00:16:21,540 --> 00:16:22,397 Bəli. 341 00:16:22,397 --> 00:16:24,438 Auditoriya: Niyə döndünüz bir səhv [Işitilemez]? 342 00:16:24,438 --> 00:16:27,147 343 00:16:27,147 --> 00:16:29,230 DAVID MALAN: bunu niyə oh only-- səhv qayıtmaq! 344 00:16:29,230 --> 00:16:31,813 Əvvəlki halda, biz yaddaş ətrafında futzing edilmişdir, 345 00:16:31,813 --> 00:16:35,110 niyə yalnız bir səhv qayıtmaq etməyib Mən, həqiqətən, böyük bir sıra yazdığınız zaman? 346 00:16:35,110 --> 00:16:36,620 Qısa cavab biz yalnız uğurlu var edir. 347 00:16:36,620 --> 00:16:39,240 Ümumiyyətlə, kompüter chunks yaddaş ayırır, 348 00:16:39,240 --> 00:16:42,900 və mənə böyük bir kifayət qədər yığın verdi Mən qeyd olmadan, üz var 349 00:16:42,900 --> 00:16:46,280 toxunan bracket 2, bracket 3, bracket 50, amma tezliklə mən itələdi 350 00:16:46,280 --> 00:16:49,080 mənim uğurlar, mən kənarda getdi yaddaş yığın sərhədləri 351 00:16:49,080 --> 00:16:50,520 əməliyyat sistemi mənə vermişdi. 352 00:16:50,520 --> 00:16:52,720 Və zaman var əzişdirilməsini və heç bir bildirib. 353 00:16:52,720 --> 00:16:54,580 Seqmentasiya səhv. 354 00:16:54,580 --> 00:16:55,692 Bəli. 355 00:16:55,692 --> 00:16:58,890 >> Auditoriya: Necə kompüter argc dəyəri bilirik? 356 00:16:58,890 --> 00:17:02,390 >> DAVID MALAN: Necə kompüter argc dəyəri bilirik? 357 00:17:02,390 --> 00:17:07,920 Bir proqram çalıştırdığınızda, proqram, yanıb-sönən tez təbiət, 358 00:17:07,920 --> 00:17:11,359 array verilir çap olunmuşdur sözlər 359 00:17:11,359 --> 00:17:13,300 tez at, ki, sətirinə yazdığınız. 360 00:17:13,300 --> 00:17:16,569 Və belə ki, əməliyyat edir sistemi mahiyyətcə 361 00:17:16,569 --> 00:17:20,329 sizin üçün əsas nin arqumentləri populates. 362 00:17:20,329 --> 00:17:22,829 Belə ki, xidmətlərin biri Siz ki, sort gizli 363 00:17:22,829 --> 00:17:24,869 başlıq altında əməliyyat sistemi. 364 00:17:24,869 --> 00:17:27,118 Digər suallar? 365 00:17:27,118 --> 00:17:27,618 Bəli. 366 00:17:27,618 --> 00:17:29,787 >> Auditoriya: core dump nə deməkdir? 367 00:17:29,787 --> 00:17:31,370 DAVID MALAN: core dump nə deməkdir? 368 00:17:31,370 --> 00:17:32,950 Belə ki, yaxşı bir sual var. 369 00:17:32,950 --> 00:17:35,312 Və mənə geri gedək Burada bu directory. 370 00:17:35,312 --> 00:17:37,270 Və siz görəcəksiniz Mən yeni bir fayl var. 371 00:17:37,270 --> 00:17:41,670 Bu, həqiqətən core adlanır və bu oldu həqiqətən adətən layiqli ölçülü fayl. 372 00:17:41,670 --> 00:17:45,300 Ki, mahiyyətcə bir snapshot edir mənim proqramın yaddaş məzmunu 373 00:17:45,300 --> 00:17:46,902 o düşdü ki, və ya RAM. 374 00:17:46,902 --> 00:17:49,110 Və bu, faydalı olacaq potensial, diaqnostik, 375 00:17:49,110 --> 00:17:52,850 biz gələcək mühazirə danışmaq dəfə və ayıklama haqqında ikibölməli, 376 00:17:52,850 --> 00:17:55,730 həqiqətən edə bilərsiniz, çünki bir digital yarılma ekvivalent 377 00:17:55,730 --> 00:18:00,300 ki, fayl anlamaq kömək Siz proqram yanlış nə. 378 00:18:00,300 --> 00:18:01,220 Bəli. 379 00:18:01,220 --> 00:18:04,450 >> Auditoriya: bir komanda argc mı özü və ya siz bir şey adlandırmaq olar? 380 00:18:04,450 --> 00:18:05,575 >> DAVID MALAN: Yaxşı sualdır. 381 00:18:05,575 --> 00:18:08,040 , Özlüyündə bir komanda argc və ya siz bir şey adlandırmaq olar? 382 00:18:08,040 --> 00:18:09,290 Bu, mütləq bir komanda deyil. 383 00:18:09,290 --> 00:18:13,500 Bu, sadəcə bir dəyişən Agentliyi var və ya mübahisə adını adını, 384 00:18:13,500 --> 00:18:15,481 və belə tamamilə biz Bu foo zəng edə bilər, 385 00:18:15,481 --> 00:18:18,480 biz meyli olan bu bar, zəng edə bilər The go-to sözləri bir kompüter olmaq 386 00:18:18,480 --> 00:18:19,860 alim gedir. 387 00:18:19,860 --> 00:18:22,820 Lakin Konvensiya, biz argc və argv istifadə edin. 388 00:18:22,820 --> 00:18:25,360 Amma bu yalnız bir insan var konvensiya, heç bir şey daha. 389 00:18:25,360 --> 00:18:25,860 Bütün hüquqlar. 390 00:18:25,860 --> 00:18:28,140 Belə çıxır ki, mən oldum ağ lie-- bir az izah 391 00:18:28,140 --> 00:18:31,264 və səmimi, gələcəkdə, görürsünüz biz digər ağ yalan izah etdik. 392 00:18:31,264 --> 00:18:33,510 Amma indi, biz gedirik bu bir geri soymaq. 393 00:18:33,510 --> 00:18:37,310 Zaman əvvəl Mən burada bu halda salam və ya salam-3 kimi bir proqram qaçdı 394 00:18:37,310 --> 00:18:42,780 Zamyla, biz məzmunu idi mənim təxminən kimi axtarır kompüter yaddaş 395 00:18:42,780 --> 00:18:43,280 bu. 396 00:18:43,280 --> 00:18:45,070 Amma bir string nə xatırlayıram. 397 00:18:45,070 --> 00:18:49,279 Biz nə bir həftə əvvəl demək nə string həqiqətən başlıq altında? 398 00:18:49,279 --> 00:18:50,320 Auditoriya: chars Array. 399 00:18:50,320 --> 00:18:52,111 DAVID MALAN: Bu var chars array, sağ? 400 00:18:52,111 --> 00:18:55,760 Beləliklə, biz bir sıra ola bilər strings, lakin, öz növbəsində, bir string 401 00:18:55,760 --> 00:18:57,150 simvol bir sıra edir. 402 00:18:57,150 --> 00:19:00,010 Mən, həqiqətən, olmaq istəyirsinizsə Belə ki, Mən bu şəkil çəkmək zaman anal, 403 00:19:00,010 --> 00:19:03,290 Mən, həqiqətən, rəsm olmalıdır Bu bir az daha bu kimi, 404 00:19:03,290 --> 00:19:08,000 vasitəsi bu hər argv array göstəriciləri, 405 00:19:08,000 --> 00:19:11,432 bütün string özü var özü ki, bir sıra edir. 406 00:19:11,432 --> 00:19:13,140 Və indi ağ yalan Biz bu gün izah edirik 407 00:19:13,140 --> 00:19:15,181 şəkil deyil ki, olduqca bu kimi baxmaq. 408 00:19:15,181 --> 00:19:19,110 Əslində, kiçik kvadratlar var böyük düzbucaqlı adətən xaricində 409 00:19:19,110 --> 00:19:19,610 var. 410 00:19:19,610 --> 00:19:21,280 Amma biz uzun əvvəl geri qayıtmaq lazımdır. 411 00:19:21,280 --> 00:19:25,440 Amma bu, salam backslash 0 xüsusi xarakter olan 412 00:19:25,440 --> 00:19:28,310 bir simli sonunda ayırır, və biz başqa bir sonra var 413 00:19:28,310 --> 00:19:29,360 ZAMYLA adı. 414 00:19:29,360 --> 00:19:30,900 Belə ki, bu nə deməkdir? 415 00:19:30,900 --> 00:19:33,410 >> Yaxşı, mənə irəli gedək və iki digər nümunələr açmaq 416 00:19:33,410 --> 00:19:35,220 mövcud online ki, var. 417 00:19:35,220 --> 00:19:40,590 One argv1.c adlanır və digər argv2 edir. 418 00:19:40,590 --> 00:19:44,260 Bu super-sadə proqram ki, Keçmiş proqramları fərqli 419 00:19:44,260 --> 00:19:47,260 ki, indi mən istifadə edirəm argc və burada argv. 420 00:19:47,260 --> 00:19:54,300 Və indi mən loop üçün bir ilə inteqrasiya alıram argc qədər on i line 18 = 0. 421 00:19:54,300 --> 00:19:56,850 Və nə mən gedirəm burada kodu bu xətti ilə? 422 00:19:56,850 --> 00:19:58,270 İngilis dili. 423 00:19:58,270 --> 00:20:00,510 Bu açıq-aydın argc istifadə nümayiş etdirir. 424 00:20:00,510 --> 00:20:03,670 Lakin ingilis, nə Bu proqram run əgər bunu? 425 00:20:03,670 --> 00:20:04,366 Bəli? 426 00:20:04,366 --> 00:20:07,386 >> Auditoriya: Bu çap olacaq sizin Istədiyiniz kimi bir çox dəfə ekran. 427 00:20:07,386 --> 00:20:08,260 DAVID MALAN: Exactly. 428 00:20:08,260 --> 00:20:10,480 Belə ki, nə sözləri I bu, sətirinə yazın 429 00:20:10,480 --> 00:20:13,120 qusmaq gedir satıra mənə onlara biridir. 430 00:20:13,120 --> 00:20:14,370 Belə nin irəli getmək və bunu bildirin. 431 00:20:14,370 --> 00:20:17,862 Mənim dizine gedək və argv1 ./argv1 edə bilərəm. 432 00:20:17,862 --> 00:20:20,521 433 00:20:20,521 --> 00:20:21,770 İndi, sadə saxlamaq imkan verir. 434 00:20:21,770 --> 00:20:23,834 Ilk heç bir şey edək. 435 00:20:23,834 --> 00:20:26,750 Bu bir şey çap etdi və həqiqətən proqramın adı, 436 00:20:26,750 --> 00:20:28,240 ki, bracket 0 çünki. 437 00:20:28,240 --> 00:20:33,290 Mən indi foo demək, bunu olacaq bu iki, və mən foo bar demək əgər, 438 00:20:33,290 --> 00:20:35,580 bu üç şeyi demək olacaq. 439 00:20:35,580 --> 00:20:37,740 İndi bəlkə, bir qədər maraqlı deyil. 440 00:20:37,740 --> 00:20:41,450 Amma ki, argv geri strings bir sıra, 441 00:20:41,450 --> 00:20:45,960 lakin string chars bir sıra, belə ki, biz bir pillə qədər şeyi edə bilər 442 00:20:45,960 --> 00:20:48,560 və əsas tətbiq məntiq və kodu edir ki, 443 00:20:48,560 --> 00:20:51,160 etiraf, bir az daha sirli görünür. 444 00:20:51,160 --> 00:20:53,540 Amma bir nested olan loop, yaxın bir şey 445 00:20:53,540 --> 00:20:57,030 siz Mario xatırlayıram bilər nə, Məsələn, əgər siz bu şəkildə idi. 446 00:20:57,030 --> 00:21:00,380 >> Belə ki, indi mən line 19 qeyd daha dəlilləri üzərində iterating, 447 00:21:00,380 --> 00:21:02,410 0 qədər argc üçün. 448 00:21:02,410 --> 00:21:05,510 İndi line I 21-- deyiləm ötən həftə bir oyun borc 449 00:21:05,510 --> 00:21:11,090 Mən nə yoxlanılması edirəm argv bracket i uzunluğu. 450 00:21:11,090 --> 00:21:12,920 Mən n ki, cavab saxlanılması alıram. 451 00:21:12,920 --> 00:21:18,230 Və sonra mən j inteqrasiya alıram j 0 başlatılmış yerləşir n qədər. 452 00:21:18,230 --> 00:21:19,460 Belə ki, sayılması üçün konvensiya. 453 00:21:19,460 --> 00:21:22,335 Bir varsa, i istifadə sonra nested loop, siz yenə i istifadə edə 454 00:21:22,335 --> 00:21:25,770 başqa potensial, döymək lazımdır, daxili loop kənarda dəyəri. 455 00:21:25,770 --> 00:21:27,200 Mən Konvensiya tərəfindən j istifadə edirəm. 456 00:21:27,200 --> 00:21:28,020 Biz k istifadə edə bilər. 457 00:21:28,020 --> 00:21:31,080 K çox varsa, siz yəqin ki, adətən, çox yuva var. 458 00:21:31,080 --> 00:21:33,800 Amma indi, mənim printf qeyd line az fərqli. 459 00:21:33,800 --> 00:21:37,520 Mən% s çap deyiləm, mən ,% c çap olan, əlbəttə, 460 00:21:37,520 --> 00:21:39,460 bir char üçün tutucu. 461 00:21:39,460 --> 00:21:40,770 >> Və indi bu sintaksis bildiriş. 462 00:21:40,770 --> 00:21:41,270 Yeni. 463 00:21:41,270 --> 00:21:42,630 Biz bunu daha əvvəl görmədim. 464 00:21:42,630 --> 00:21:47,290 Amma məntiqi olaraq bu yalnız deməkdir argv ildə İTH string almaq 465 00:21:47,290 --> 00:21:50,067 və nə j-ci səs almaq? 466 00:21:50,067 --> 00:21:50,900 Auditoriya: Character. 467 00:21:50,900 --> 00:21:52,800 DAVID MALAN: simli Character. 468 00:21:52,800 --> 00:21:57,100 Belə ki, kvadrat mötərizə istifadə edərək kvadrat mötərizədə izlədi, 469 00:21:57,100 --> 00:22:00,390 Bu ilk dalğıc argv nin strings, 470 00:22:00,390 --> 00:22:02,225 və sonra ikinci j ilə kvadrat mötərizə 471 00:22:02,225 --> 00:22:06,580 simvol daxil dalğıc argv ki, xüsusi string. 472 00:22:06,580 --> 00:22:09,562 Və sonra, yalnız yaxşı tədbir üçün, Mən burada yeni bir xətt çap edirəm. 473 00:22:09,562 --> 00:22:12,020 Belə ki, indi mənə irəli getmək və açmaq bir az daha böyük pəncərə up 474 00:22:12,020 --> 00:22:13,600 belə ki, biz fəaliyyət bu edə bilərsiniz. 475 00:22:13,600 --> 00:22:15,700 Mənə qovluğa gedək. 476 00:22:15,700 --> 00:22:22,550 İndi edə bilərəm argv-2-- argv-2 etmək whoops--, ./argv 2. 477 00:22:22,550 --> 00:22:23,110 Daxil edin. 478 00:22:23,110 --> 00:22:24,860 Və bir az çətindir şaquli oxumaq, 479 00:22:24,860 --> 00:22:27,920 lakin həqiqətən adı var boş xətt izlədi proqram. 480 00:22:27,920 --> 00:22:30,210 İndi mənə irəli getmək və foo, nə edək. 481 00:22:30,210 --> 00:22:33,210 Eynilə ağır oxumaq, lakin bu üçün həqiqətən satır başına bir xarakter çap. 482 00:22:33,210 --> 00:22:36,780 Mən bar əgər, indi var xətti ilə bu xətt çap. 483 00:22:36,780 --> 00:22:40,140 Belə ki, burada paket çox deyil wow, bu səliqəli yeni oyun baxmaq ki, 484 00:22:40,140 --> 00:22:44,750 siz məzmunu əldə edə bilərsiniz bir serialın xüsusi simvol, 485 00:22:44,750 --> 00:22:48,380 lakin biz bu əsas alaraq etdiyiniz necə bir sıra daxil kimi endeksleme ideyalar, 486 00:22:48,380 --> 00:22:51,620 və sonra daxil indeksasiyası ki, array idi ki array, 487 00:22:51,620 --> 00:22:56,180 və yalnız eyni fikir müraciət az daha inkişaf etmiş nümunələri. 488 00:22:56,180 --> 00:22:59,560 Amma əsasları, həqiqətən, yoxdur hətta keçən həftədən etibarən dəyişdi. 489 00:22:59,560 --> 00:23:02,350 >> İndi bu, vaxtında sort edir ki, həftə sıfır geri 490 00:23:02,350 --> 00:23:04,110 biz bu kimi bir telefon kitab ilə oynadı. 491 00:23:04,110 --> 00:23:06,670 Və bu açıq-aydın deyil, baxmayaraq ki, kağız fiziki ədəd, 492 00:23:06,670 --> 00:23:09,150 cür hesab edə bilər bir sıra kimi bir telefon kitab. 493 00:23:09,150 --> 00:23:12,770 Siz əgər, əlbəttə, reimplement Bu ədəd kağız bu ədəd 494 00:23:12,770 --> 00:23:15,260 kompüter, yəqin ki, Əgər bir şey istifadə ki 495 00:23:15,260 --> 00:23:20,270 bir sıra o bütün saxlamaq üçün kimi A bütün yol adları və nömrələri 496 00:23:20,270 --> 00:23:23,800 Z. vasitəsilə Belə ki, bu, çünki, gözəl bizə belə bir imkan verir, 497 00:23:23,800 --> 00:23:28,310 necə ola bilər bəlkə də, hesab həqiqətən kimi bir şey həyata. 498 00:23:28,310 --> 00:23:31,250 Burada qapı bir sıra ilə. 499 00:23:31,250 --> 00:23:36,380 Mən could-- əgər Beləliklə, biz bir ehtiyac qədər gəlib könüllü. 500 00:23:36,380 --> 00:23:36,980 Baxaq. 501 00:23:36,980 --> 00:23:40,650 Bir tanımadığı üz bəlkə, bəlkə tanımadığı üz. 502 00:23:40,650 --> 00:23:42,090 Necə narıncı haqqında? 503 00:23:42,090 --> 00:23:42,680 Burada. 504 00:23:42,680 --> 00:23:45,870 Orange shirt qədər gəlib. 505 00:23:45,870 --> 00:23:52,230 >> İndi və hərəkət davam edək yan üzərində bu qapı, 506 00:23:52,230 --> 00:23:54,020 bir an üçün yol bu hərəkət. 507 00:23:54,020 --> 00:23:56,600 508 00:23:56,600 --> 00:23:57,760 Sizin adınız nədir? 509 00:23:57,760 --> 00:23:58,580 >> AJAY: 510 00:23:58,580 --> 00:23:58,655 >> DAVID MALAN: Ajay. 511 00:23:58,655 --> 00:23:58,680 David. 512 00:23:58,680 --> 00:23:59,451 Görüşmək Nice. 513 00:23:59,451 --> 00:23:59,950 Bütün hüquqlar. 514 00:23:59,950 --> 00:24:04,500 Beləliklə, biz bu altı arxasında var ekranda digital qapılar 515 00:24:04,500 --> 00:24:07,810 Və ya, daha doğrusu, yeddi qapı ədəd bütöv bir dəstə screen--. 516 00:24:07,810 --> 00:24:10,099 Mən heç bir şey izah etdik da advance-- qəbul etdi? 517 00:24:10,099 --> 00:24:11,140 AJAY: əvvəlcədən heç bir şey. 518 00:24:11,140 --> 00:24:14,730 DAVID MALAN: Mən sizə etmək istəyirəm indi mənim üçün tapmaq üçün, bizim üçün, 519 00:24:14,730 --> 00:24:20,920 həqiqətən, sayı 50, bir zaman bir addım. 520 00:24:20,920 --> 00:24:21,830 >> AJAY: sayı 50? 521 00:24:21,830 --> 00:24:22,580 >> DAVID MALAN: sayı 50. 522 00:24:22,580 --> 00:24:24,746 Və nə aşkar edə bilərsiniz Bu qapıların hər arxasında 523 00:24:24,746 --> 00:24:27,930 sadəcə bir barmaq ilə toxunan. 524 00:24:27,930 --> 00:24:31,364 Lanet olsun. [Gülüş] 525 00:24:31,364 --> 00:24:34,560 >> [Alqış] 526 00:24:34,560 --> 00:24:39,540 >> Çox yaxşı. 527 00:24:39,540 --> 00:24:40,400 OK. 528 00:24:40,400 --> 00:24:44,090 Biz bir sevimli hədiyyə var Burada sizin üçün mükafat. 529 00:24:44,090 --> 00:24:46,520 Film sizin pick biz Keçən həftə müzakirə. 530 00:24:46,520 --> 00:24:47,362 >> AJAY: Oh, man. 531 00:24:47,362 --> 00:24:49,050 Oh, mən Spaceballs görüldü heç etdik. 532 00:24:49,050 --> 00:24:49,520 >> DAVID MALAN: Spaceballs. 533 00:24:49,520 --> 00:24:50,140 Bütün hüquqlar. 534 00:24:50,140 --> 00:24:53,790 Belə ki, yalnız bir an keçirilməsi. 535 00:24:53,790 --> 00:24:57,430 Bu edək How-- bir öğrenmeye hevesli an 536 00:24:57,430 --> 00:25:00,412 Siz necə getmək idi sayı 50 tapmaq? 537 00:25:00,412 --> 00:25:01,370 AJAY: Mən təsadüfi seçdi. 538 00:25:01,370 --> 00:25:03,420 DAVID MALAN: Yəni siz seçdi təsadüfi və uğurlu var. 539 00:25:03,420 --> 00:25:03,790 AJAY: Bəli. 540 00:25:03,790 --> 00:25:04,456 DAVID MALAN: OK. 541 00:25:04,456 --> 00:25:05,050 Əla. 542 00:25:05,050 --> 00:25:08,470 Belə ki, indi siz yox idi lucky, nə başqa kazanılmış 543 00:25:08,470 --> 00:25:10,210 Bu qapılar arxasında baş ola bilər? 544 00:25:10,210 --> 00:25:12,930 Mən irəli getmək əgər Belə ki, Burada bu nömrələri aşkar, 545 00:25:12,930 --> 00:25:15,180 Onlar, həqiqətən, təsadüfi qaydada var. 546 00:25:15,180 --> 00:25:17,750 Və yaxşı ola bilər görülən səmimi, nəticədə, edir 547 00:25:17,750 --> 00:25:19,410 Ən pis halda, onları bütün yoxlanılması. 548 00:25:19,410 --> 00:25:23,000 Belə ki, super-lucky var olan biz bir alqoritm zəng istədiyiniz nə deyil. 549 00:25:23,000 --> 00:25:24,730 Bəli, congrats. 550 00:25:24,730 --> 00:25:27,010 Siz ola bilər, əgər Amma indi, yumor mənə let's--. 551 00:25:27,010 --> 00:25:28,310 Burada bu nişanı getmək edək. 552 00:25:28,310 --> 00:25:31,460 Və burada aydın nömrələr bir təsadüfi qaydada görünür nə, 553 00:25:31,460 --> 00:25:32,280 və onlar idi. 554 00:25:32,280 --> 00:25:35,160 Amma indi əvəzinə iddia əgər bu qapılar arxasında 555 00:25:35,160 --> 00:25:39,070 sıralanır nömrələr. 556 00:25:39,070 --> 00:25:41,780 Məqsədi indi də edir Bizə sayı 50 tapmaq. 557 00:25:41,780 --> 00:25:45,910 Amma algorithmically bunu, və bu barədə olacaq necə bizə. 558 00:25:45,910 --> 00:25:48,020 Siz tapmaq Əgər, Əgər film saxlamaq. 559 00:25:48,020 --> 00:25:49,520 Siz, onu geri vermək tapmıram. 560 00:25:49,520 --> 00:25:52,720 561 00:25:52,720 --> 00:25:58,112 AJAY: Mən başa yoxlamaq üçün gedirəm ilk there's-- əgər müəyyən etmək üçün 562 00:25:58,112 --> 00:26:02,048 [Gülüş VƏ Alqış] 563 00:26:02,048 --> 00:26:04,451 564 00:26:04,451 --> 00:26:05,492 DAVID MALAN: Burada getmək. 565 00:26:05,492 --> 00:26:17,080 566 00:26:17,080 --> 00:26:21,700 Nin bir nəzər salaq Ajay sələflərinin, 567 00:26:21,700 --> 00:26:25,450 Kifayət qədər uğurlu olmayan Sean. 568 00:26:25,450 --> 00:26:28,670 OK, burada məsələ, belə ki, Sean, belədir. 569 00:26:28,670 --> 00:26:32,970 Mən bu arxasında gizli Qapı sayı yeddi, 570 00:26:32,970 --> 00:26:37,200 lakin bu qapıların bəzi üz tucked habelə digər qeyri-mənfi nömrələri var. 571 00:26:37,200 --> 00:26:40,730 Sizin məqsədi bu hesab edir yalnız bir sıra kimi nömrələri top satır. 572 00:26:40,730 --> 00:26:43,590 Biz ədəd bir ardıcıllıqla edirik onların arxasında ədəd kağız. 573 00:26:43,590 --> 00:26:47,640 Və məqsədi yalnız üst istifadə edərək, array burada mənə sayı yeddi tapa bilərsiniz. 574 00:26:47,640 --> 00:26:51,200 Və biz sonra tənqid edir Siz bunu haqqında getmək necə. 575 00:26:51,200 --> 00:26:52,920 Bizə sayı yeddi xahiş edirik. 576 00:26:52,920 --> 00:27:02,570 577 00:27:02,570 --> 00:27:03,070 No. 578 00:27:03,070 --> 00:27:06,760 579 00:27:06,760 --> 00:27:08,179 5, 19, 13. 580 00:27:08,179 --> 00:27:16,752 581 00:27:16,752 --> 00:27:17,835 Bu oyun sual deyil. 582 00:27:17,835 --> 00:27:21,420 583 00:27:21,420 --> 00:27:21,920 1. 584 00:27:21,920 --> 00:27:26,715 585 00:27:26,715 --> 00:27:29,840 Bu nöqtədə sizin hesab çox deyil yaxşı, belə ki, siz də davam edə bilər. 586 00:27:29,840 --> 00:27:32,870 587 00:27:32,870 --> 00:27:33,370 3. 588 00:27:33,370 --> 00:27:38,570 589 00:27:38,570 --> 00:27:39,802 Getmək. 590 00:27:39,802 --> 00:27:42,510 Açığı, mən kömək lakin təəccüb bilməz nə belə düşünür edirik. 591 00:27:42,510 --> 00:27:44,990 >> SEAN: Mən yalnız üst sıra bilər. 592 00:27:44,990 --> 00:27:46,240 DAVID MALAN: Yalnız üst sıra. 593 00:27:46,240 --> 00:27:47,281 Belə ki, üç sol var. 594 00:27:47,281 --> 00:27:48,310 Mənə 7 tapa bilərsiniz. 595 00:27:48,310 --> 00:27:54,758 596 00:27:54,758 --> 00:27:59,141 >> [Auditoriya təkliflər qışqırır] 597 00:27:59,141 --> 00:28:22,210 598 00:28:22,210 --> 00:28:26,130 Belə ki, o, həm də gözəl idi çox müxtəlif səbəblərə görə. 599 00:28:26,130 --> 00:28:29,150 Belə ki, bu biz bir an əvvəl off sol, 600 00:28:29,150 --> 00:28:32,530 və burada əsas fikir Bu qapı nömrələri idi 601 00:28:32,530 --> 00:28:37,390 onların arxasında ki, ideal, sıralanır olan paket siz ola bilər ki, 602 00:28:37,390 --> 00:28:39,670 da əsaslı yaxşı bu ikinci example-- 603 00:28:39,670 --> 00:28:42,380 və, həqiqətən, Sean nin idi təsadüfi nömrələri ilə ilk cəhd 604 00:28:42,380 --> 00:28:45,460 kimi Əvvəl lakin tezliklə bu rəqəmlər sıralanır kimi, 605 00:28:45,460 --> 00:28:47,980 telefon kitab kimi çox, Siz açıq-aydın nə edə bilər? 606 00:28:47,980 --> 00:28:50,090 Və ya necə ki, bilik leverage? 607 00:28:50,090 --> 00:28:51,530 Bəli. 608 00:28:51,530 --> 00:28:54,910 >> Auditoriya: Siz [Işitilemez] ortasında getmək. 609 00:28:54,910 --> 00:28:55,660 DAVID MALAN: Bəli. 610 00:28:55,660 --> 00:28:56,160 Dəqiq. 611 00:28:56,160 --> 00:28:59,680 Belə ki, Ajay ilkin instinkt idi Mən xatırlayıram kimi, başa kontrol, 612 00:28:59,680 --> 00:29:02,320 sonra biz sort bitmiş tez nümunəsidir. 613 00:29:02,320 --> 00:29:05,220 Biz açılmış Amma əgər bu, daha çox metodiki o xətlər boyunca, 614 00:29:05,220 --> 00:29:07,860 lakin bəlkə başlayaraq orta, onlar sıralanır edirik, çünki, 615 00:29:07,860 --> 00:29:10,900 tezliklə biz aşkar kimi sayı 16 Buna görə də bilirəm 616 00:29:10,900 --> 00:29:14,850 və biz that-- dəqiq nə edək Buna görə bilirik 50 ki, bugünkü halda, 617 00:29:14,850 --> 00:29:16,080 sağ olmaq var. 618 00:29:16,080 --> 00:29:18,735 Belə ki, yalnız kimi həftə sıfır zaman biz bu telefon kitab parçaladı 619 00:29:18,735 --> 00:29:21,490 və yarısı atdı üz problem, burada eyni fikir. 620 00:29:21,490 --> 00:29:23,680 Biz bu yarım atmaq olar problemin üz. 621 00:29:23,680 --> 00:29:25,730 Və yəqin ki, nə algorithmically edə bilər, 622 00:29:25,730 --> 00:29:28,710 50 olmalıdır ki, bilirik bir dəfə sağ, yerdə varsa, 623 00:29:28,710 --> 00:29:31,390 ortada var cəhd edin qalan qapılar. 624 00:29:31,390 --> 00:29:33,450 Əlbəttə ki, 50 ali 42-dən, belə ki, biz 625 00:29:33,450 --> 00:29:36,060 Bu qalan atmaq üz problem dörddəbir, 626 00:29:36,060 --> 00:29:38,510 və, nəhayət, müəyyən 50 kimi bir şey. 627 00:29:38,510 --> 00:29:41,050 Amma yalnız kimi telefon kitab, bu nömrələri 628 00:29:41,050 --> 00:29:44,560 artıq bizə verildi sorted üçün, qalırıq 629 00:29:44,560 --> 00:29:47,450 sualı ilə, necə bunu sorted üçün daxil şeyi almaq? 630 00:29:47,450 --> 00:29:49,640 Və səmimi, nə dəyəri? 631 00:29:49,640 --> 00:29:51,390 Bu olmaq üçün bir şey telefon kitab təqdim 632 00:29:51,390 --> 00:29:54,810 və sonra tapmaq dostlara impress sağ, həqiqətən, tez bir telefon nömrəsi,? 633 00:29:54,810 --> 00:29:58,520 Bir tapmaq üçün 32 pages qoparmaq 4 milyard pages şəxs, 634 00:29:58,520 --> 00:30:00,470 biz bir ifrat nümunə olduğunu söylədi. 635 00:30:00,470 --> 00:30:03,320 Amma nə qədər vaxt almaq idi Verizon telefon kitab düzmək üçün? 636 00:30:03,320 --> 00:30:06,170 Bu, bizə almaq idi nə qədər vaxt Bu yeddi ədəd düzmək üçün? 637 00:30:06,170 --> 00:30:10,110 Yəni biz bir sual indiyə qədər tamamilə rədd. 638 00:30:10,110 --> 00:30:12,330 >> Belə ki, indi bu suala cavab verək. 639 00:30:12,330 --> 00:30:15,920 Və biz indi bütün film istəyirik, lakin biz bəzi stress top var. 640 00:30:15,920 --> 00:30:19,480 , Səkkiz könüllü demək, əgər burada bizi qoşulması ağla deyil? 641 00:30:19,480 --> 00:30:24,100 Haqqında, in irəli gedək və bunu Siz dörd, burada üç? 642 00:30:24,100 --> 00:30:25,290 Bəzi yeni simalar alın. 643 00:30:25,290 --> 00:30:27,220 Və orada dörd? 644 00:30:27,220 --> 00:30:30,760 Və deyil bias imkan now-- burada və burada sonunda üzərində sayı səkkiz. 645 00:30:30,760 --> 00:30:32,060 Qədər Hadi. 646 00:30:32,060 --> 00:30:32,560 Bütün hüquqlar. 647 00:30:32,560 --> 00:30:37,480 Beləliklə, biz burada nə sizin hər bir sayı. 648 00:30:37,480 --> 00:30:40,055 Siz getmək istəyirsinizsə qabaqda, bu sıra almaq. 649 00:30:40,055 --> 00:30:40,763 Sizin adınız nədir? 650 00:30:40,763 --> 00:30:41,950 >> ARTIE: Artie. 651 00:30:41,950 --> 00:30:43,100 >> DAVID MALAN: Artie, tamam. 652 00:30:43,100 --> 00:30:44,297 Siz sayı 1 istəyirik. 653 00:30:44,297 --> 00:30:45,310 >> AMIN: Amin. 654 00:30:45,310 --> 00:30:46,060 DAVID MALAN: Amin. 655 00:30:46,060 --> 00:30:46,820 David. 656 00:30:46,820 --> 00:30:47,530 Siz sayı 2 istəyirik. 657 00:30:47,530 --> 00:30:49,100 Mən əl kimi, irəli getmək Siz kağız təbəqələr, 658 00:30:49,100 --> 00:30:52,130 musiqi qarşısında özünüzü sıralamaq orada kimi eyni qaydada dayanır. 659 00:30:52,130 --> 00:30:52,660 >> ANDY: Hi, Andy. 660 00:30:52,660 --> 00:30:53,970 >> DAVID MALAN: Andy, bu görmək üçün gözəl edir. 661 00:30:53,970 --> 00:30:54,520 Sayı 3. 662 00:30:54,520 --> 00:30:55,310 >> JACOB: Jacob. 663 00:30:55,310 --> 00:30:56,760 >> DAVID MALAN: Jacob, 4 nömrəli. 664 00:30:56,760 --> 00:30:57,549 Xaricdə xoş gəlmisiniz. 665 00:30:57,549 --> 00:30:58,090 GRANT: Grant. 666 00:30:58,090 --> 00:30:58,881 DAVID MALAN: Grant. 667 00:30:58,881 --> 00:31:00,348 Sayı 5. 668 00:31:00,348 --> 00:31:01,200 >> Alanna: Alanna. 669 00:31:01,200 --> 00:31:02,766 >> DAVID MALAN: Alanna, sayı 6. 670 00:31:02,766 --> 00:31:03,589 >> FRANCES: Frances. 671 00:31:03,589 --> 00:31:04,880 DAVID MALAN: Frances, sayı 7. 672 00:31:04,880 --> 00:31:05,200 Və? 673 00:31:05,200 --> 00:31:05,830 >> RACHEL: Rachel. 674 00:31:05,830 --> 00:31:06,815 >> DAVID MALAN: Rachel, sayı 8. 675 00:31:06,815 --> 00:31:07,100 Bütün hüquqlar. 676 00:31:07,100 --> 00:31:08,766 Irəli getmək və bu üçün özünüzü almaq. 677 00:31:08,766 --> 00:31:11,440 Mənə qalan bir qoyaq musiqi yerdə dayanmaq. 678 00:31:11,440 --> 00:31:13,670 Harada bir stand lazımdır? 679 00:31:13,670 --> 00:31:14,170 OK. 680 00:31:14,170 --> 00:31:18,710 Hadi və yalnız nömrələri qoymaq tamaşaçıların olduğu onlara görə bilərsiniz, 681 00:31:18,710 --> 00:31:20,340 musiqi xarici üzləşdiyi durmaq. 682 00:31:20,340 --> 00:31:27,240 Və inşallah, ilk ağlı başında olma çek burada 4, 2, 6. 683 00:31:27,240 --> 00:31:27,890 Oh-oh. 684 00:31:27,890 --> 00:31:29,070 Bir dəqiqə gözləyin. 685 00:31:29,070 --> 00:31:31,140 Biz 8 yoxdur. 686 00:31:31,140 --> 00:31:35,180 Mən sizə köçürmək lazımdır elə nümunəsidir. 687 00:31:35,180 --> 00:31:35,680 No. 688 00:31:35,680 --> 00:31:36,940 Xeyr, ki, OK. 689 00:31:36,940 --> 00:31:37,890 Baxaq. 690 00:31:37,890 --> 00:31:38,880 Biz bunu edə bilərsiniz. 691 00:31:38,880 --> 00:31:39,440 Ilə seçilir. 692 00:31:39,440 --> 00:31:43,970 693 00:31:43,970 --> 00:31:45,740 Biz orada getmək. 694 00:31:45,740 --> 00:31:46,800 Correct. 695 00:31:46,800 --> 00:31:47,360 Bütün hüquqlar. 696 00:31:47,360 --> 00:31:50,260 Belə ki, indi biz 8, 1, 3, 7, 5 var. 697 00:31:50,260 --> 00:31:50,760 OK. 698 00:31:50,760 --> 00:31:51,360 Əla. 699 00:31:51,360 --> 00:31:54,400 >> Belə ki, əl-da məsələ ilə deyil, nə dəyəri və nə üsul vasitəsilə, 700 00:31:54,400 --> 00:31:58,580 Biz, həqiqətən, burada bu nömrələri düzmək olar biz növ geri işləyə bilər ki, 701 00:31:58,580 --> 00:32:02,759 nəticədə, və decide-- həqiqətən təsirli, həqiqətən səmərəli, 702 00:32:02,759 --> 00:32:04,550 Mən bölmək olar ki, bir telefon kitab fəth? 703 00:32:04,550 --> 00:32:06,716 Bu, həqiqətən səmərəli Mən bölmək və fəth edə bilər 704 00:32:06,716 --> 00:32:08,600 o digital ədəd board kağız, 705 00:32:08,600 --> 00:32:14,500 Bu bizə bir başa olacaq, bəlkə əgər vaxt və ya enerji və ya CPU dövründən bəxt 706 00:32:14,500 --> 00:32:17,340 həqiqətən, bizim məlumat almaq üçün bəzi sıralanır üçün daxil? 707 00:32:17,340 --> 00:32:18,930 Belə ki, sual verək. 708 00:32:18,930 --> 00:32:22,077 >> Belə ki, ilk off, bu nömrələri olduqca çox təsadüfi qaydada, 709 00:32:22,077 --> 00:32:24,160 Mən təklif etmək niyyətində deyiləm bir alqoritmi, və ya proses 710 00:32:24,160 --> 00:32:25,970 olan bu insanlar düzmək olar. 711 00:32:25,970 --> 00:32:28,100 Mən yanaşmaq gedirəm bu olduqca naively. 712 00:32:28,100 --> 00:32:30,730 Mən tanımaq gedirəm Bu, mənim üçün bir çox növü var ki, 713 00:32:30,730 --> 00:32:32,890 ətrafında fikrimi kesmek üçün bütün data dəfə seçin. 714 00:32:32,890 --> 00:32:33,640 Amma nə bilirik? 715 00:32:33,640 --> 00:32:37,450 Mən bəzi etmək gedirəm çox sadə marjinal giderir. 716 00:32:37,450 --> 00:32:41,152 4 və 2 əgər, üçün həyata Məqsədimiz 8 qədər 1-dən getmək üçün edir. 717 00:32:41,152 --> 00:32:41,860 Belə ki, nə? 718 00:32:41,860 --> 00:32:43,776 Mən sizə gedirəm Siz keçid əgər uşaqlar, dəyişdirmək 719 00:32:43,776 --> 00:32:46,380 fiziki vəzifələrin və kağız sizin ədəd. 720 00:32:46,380 --> 00:32:47,894 İndi 4 və 6, bu üçün var. 721 00:32:47,894 --> 00:32:49,060 Mən o tərk etmək gedirəm. 722 00:32:49,060 --> 00:32:50,227 6 və 8, həmin üçün var. 723 00:32:50,227 --> 00:32:51,185 Onları tərk etmək niyyətindədir. 724 00:32:51,185 --> 00:32:52,170 Qaydada 8 AND1. 725 00:32:52,170 --> 00:32:54,790 Iki dəyişdirmə ağla deyil əgər. 726 00:32:54,790 --> 00:32:57,300 İndi 8 və 3, uşaqlar dəyişdirmək bilər. 727 00:32:57,300 --> 00:32:59,320 8 və 7, uşaqlar dəyişdirmək bilər. 728 00:32:59,320 --> 00:33:01,790 8 və 5, uşaqlar dəyişdirmək bilər. 729 00:33:01,790 --> 00:33:03,980 >> İndi mən görülən edirəm? 730 00:33:03,980 --> 00:33:05,200 Xeyr, aydın deyil. 731 00:33:05,200 --> 00:33:07,880 Amma etdik yaxşı vəziyyət, sağ? 732 00:33:07,880 --> 00:33:09,430 Adı yenə nə idi, nömrəsi 8? 733 00:33:09,430 --> 00:33:10,055 >> RACHEL: Rachel. 734 00:33:10,055 --> 00:33:12,850 DAVID MALAN: Yəni Rachel var səmərəli olduqca uzaq bubbled, 735 00:33:12,850 --> 00:33:15,660 sonuna bütün yol burada nömrələri mənim array. 736 00:33:15,660 --> 00:33:17,310 Və belə ki, problem cür həll edilir. 737 00:33:17,310 --> 00:33:21,670 İndi aydın, 2 də lazımdır bir az hərəkət, 4 və 6 və 1. 738 00:33:21,670 --> 00:33:24,420 Amma bir kazanılmış görünür həll yaxın kiçik. 739 00:33:24,420 --> 00:33:26,790 Belə ki, bu eyni tətbiq edək daha sadəlövh Heuristic. 740 00:33:26,790 --> 00:33:27,690 2 və 4, OK. 741 00:33:27,690 --> 00:33:28,810 4, 6 və OK. 742 00:33:28,810 --> 00:33:29,930 6 və 1 mm-mm. 743 00:33:29,930 --> 00:33:32,230 Nin mübadilə edək. 744 00:33:32,230 --> 00:33:33,200 6 və 3 mm-mm. 745 00:33:33,200 --> 00:33:34,420 Nin mübadilə edək. 746 00:33:34,420 --> 00:33:35,580 6 və 7 yaxşıdır. 747 00:33:35,580 --> 00:33:36,590 7 və 5, nope. 748 00:33:36,590 --> 00:33:37,790 Nin mübadilə edək. 749 00:33:37,790 --> 00:33:38,470 Və indi 7 və 8. 750 00:33:38,470 --> 00:33:39,862 Və adı yenə nə var? 751 00:33:39,862 --> 00:33:40,570 FRANCES: Frances. 752 00:33:40,570 --> 00:33:41,445 DAVID MALAN: Frances. 753 00:33:41,445 --> 00:33:44,230 Belə ki, indi Frances hətta daha yaxşı edir mövqeyi, indi 7 və 8, çünki 754 00:33:44,230 --> 00:33:46,440 düzgün üst qədər bubbled olunur. 755 00:33:46,440 --> 00:33:47,510 Belə ki, 2 və 4, OK. 756 00:33:47,510 --> 00:33:48,720 4 və 1, gəlin svop. 757 00:33:48,720 --> 00:33:50,410 4 və 3, gəlin svop. 758 00:33:50,410 --> 00:33:51,550 4, 6 və OK istəyirik. 759 00:33:51,550 --> 00:33:53,340 6 və 5, gəlin svop. 760 00:33:53,340 --> 00:33:54,590 İndi o uşaqlar yaxşı. 761 00:33:54,590 --> 00:33:55,780 Biz demək olar ki, orada edirik. 762 00:33:55,780 --> 00:33:57,706 2 və 1 qaydada, belə dəyişdirmək. 763 00:33:57,706 --> 00:33:59,080 İndi mənə bir ağlı başında olma çek bunu bildirin. 764 00:33:59,080 --> 00:34:03,080 2 və 3, 3, 4, 4 və 5, 5, 6, 6 və 7, 8. 765 00:34:03,080 --> 00:34:05,060 OK, belə ki, biz tamamlayın. 766 00:34:05,060 --> 00:34:09,310 >> Amma nə dəyəri I etdi Burada bu nömrələri düzmək? 767 00:34:09,310 --> 00:34:13,960 Yaxşı, necə bir çox addımlar potensial I etdi bu millət çeşidlənməsi zaman almaq? 768 00:34:13,960 --> 00:34:15,710 Yaxşı, ki, geri suala gəlmək lazımdır. 769 00:34:15,710 --> 00:34:18,030 Lakin, səmimi, siz var əgər bir az cansıxıcı, ki 770 00:34:18,030 --> 00:34:22,270 cür bu idi ki, aşkar bəlkə ən səmərəli alqoritm. 771 00:34:22,270 --> 00:34:25,230 Və həqiqətən, səmimi, mən tərləmə alıram bütün daha geri və irəli gedirik. 772 00:34:25,230 --> 00:34:26,639 Ki, xüsusilə səmərəli hiss etmədim. 773 00:34:26,639 --> 00:34:27,805 Belə ki, başqa bir şey edək. 774 00:34:27,805 --> 00:34:31,870 Sizlərin yenidən bilər Bu səkkiz dəyərlərə özünüzü. 775 00:34:31,870 --> 00:34:32,969 Yaxşı iş. 776 00:34:32,969 --> 00:34:36,570 >> Yalnız üçün, digital nəzər salaq bir an biz başqa bir şey cəhd əvvəl 777 00:34:36,570 --> 00:34:38,179 yalnız nə at. 778 00:34:38,179 --> 00:34:41,330 Burada, bir görmək haqqında olduğunuz Bu səkkiz insan vizual 779 00:34:41,330 --> 00:34:44,719 vasitəsi mavi və qırmızı barlar nömrələri təmsil edir. 780 00:34:44,719 --> 00:34:46,670 Bu taller bar, sayı daha böyük. 781 00:34:46,670 --> 00:34:48,510 Qısa bar, sayı kiçik. 782 00:34:48,510 --> 00:34:51,560 Və nə görmək olacaq edir Onlardan səkkiz, daha çox təsadüfi sifariş. 783 00:34:51,560 --> 00:34:55,830 Bu bar görmək olacaq Həmin alqoritm sıralaması olmaq, 784 00:34:55,830 --> 00:34:59,890 və ya, təlimatlar müəyyən olan biz bubble sırala bundan sonra da zəng edəcəyik. 785 00:34:59,890 --> 00:35:04,000 Belə ki, ikinci və ya hər bildiriş iki barlar, qırmızı işıqlandırma olunur 786 00:35:04,000 --> 00:35:05,590 kompüter tərəfindən müqayisədə olunur. 787 00:35:05,590 --> 00:35:08,630 Və sonra əgər böyük bar və az bar, üçün həyata 788 00:35:08,630 --> 00:35:11,220 onlar mənim üçün dəyişdirildikdə olunur. 789 00:35:11,220 --> 00:35:15,120 >> İndi bu olduqca yorucu deyil əlbəttə ki, bu izləmək üçün, 790 00:35:15,120 --> 00:35:18,630 çox uzun, lakin qeyd sağ hərəkət böyük barlar takeaway-- 791 00:35:18,630 --> 00:35:20,460 sol hərəkət az bar. 792 00:35:20,460 --> 00:35:23,380 Bu proses abort edək bu sürətləndirmək 793 00:35:23,380 --> 00:35:27,330 daha sürətli olacaq, belə ki, biz üçün nə yüksək-səviyyəli mənada almaq, 794 00:35:27,330 --> 00:35:29,970 həqiqətən, bubble sırala edir. 795 00:35:29,970 --> 00:35:33,150 Həqiqətən, bu qədər burda var Siyahının sağ tərəfdən, 796 00:35:33,150 --> 00:35:35,260 və ya array, böyük bar. 797 00:35:35,260 --> 00:35:40,020 Və əksinə, az bar sol aşağı onların yol burda, 798 00:35:40,020 --> 00:35:42,950 sürətlə olsa daha biz əvvəllər idi. 799 00:35:42,950 --> 00:35:45,850 Belə ki, daha insanlar görmək, lakin vizual həqiqətən nə var 800 00:35:45,850 --> 00:35:46,540 olurdu. 801 00:35:46,540 --> 00:35:49,110 >> Amma əsaslı bir cəhd edək İndi müxtəlif yanaşma. 802 00:35:49,110 --> 00:35:52,387 Fərqli bir cəhd edək alqoritm biz sizə elə 803 00:35:52,387 --> 00:35:59,640 uşaqlar bu orijinal başlamaq bu order burada olan mövqeləri. 804 00:35:59,640 --> 00:36:00,827 Və indi davam edək. 805 00:36:00,827 --> 00:36:02,910 Və mən bir şey etmək üçün gedirəm hətta sadə, sağ? 806 00:36:02,910 --> 00:36:06,710 Keçmişə baxanda, yenə pairwise dəyişdirmə və yenə demək olar ki, bir az ağıllı. 807 00:36:06,710 --> 00:36:10,460 , Hətta daha naively şeyə imkan harada Mən bu millət düzmək istəyirəm əgər, 808 00:36:10,460 --> 00:36:12,560 Mənə yalnız axtarır saxlamaq imkan kiçik element. 809 00:36:12,560 --> 00:36:14,570 Belə ki, indi, 4 deyil Mən gördüm kiçik sayı. 810 00:36:14,570 --> 00:36:15,695 Mən xatırlayıram gedirəm. 811 00:36:15,695 --> 00:36:17,750 No 2 daha yaxşı edir ki, xatırlayıram. 812 00:36:17,750 --> 00:36:20,730 1 hətta kiçik. 813 00:36:20,730 --> 00:36:21,970 3, 7, 5. 814 00:36:21,970 --> 00:36:22,470 OK. 815 00:36:22,470 --> 00:36:23,750 One-- adı yenə nə var? 816 00:36:23,750 --> 00:36:24,400 >> ARTIE: Artie. 817 00:36:24,400 --> 00:36:24,610 >> DAVID MALAN: Artie. 818 00:36:24,610 --> 00:36:25,460 Belə ki, Artie, irəli getmək. 819 00:36:25,460 --> 00:36:27,043 Mən xətti çəkmək üçün gedirəm. 820 00:36:27,043 --> 00:36:28,400 Burada geri gəlmək bilər. 821 00:36:28,400 --> 00:36:30,790 Mən ona otaq etmək lazımdır. 822 00:36:30,790 --> 00:36:32,040 Biz burada bir qərar nöqtəsi var. 823 00:36:32,040 --> 00:36:36,000 Biz burada Artie üçün otaq etmək necə sayı 1 aid olduğu başında? 824 00:36:36,000 --> 00:36:36,770 >> Auditoriya: Shift. 825 00:36:36,770 --> 00:36:38,950 >> DAVID MALAN: OK, biz hər kəs keçmək bilər. 826 00:36:38,950 --> 00:36:40,860 Amma optimallaşdırılması təklif. 827 00:36:40,860 --> 00:36:43,410 Ki, bir az annoying hiss Mənə dörd nəfər müraciət etmək üçün 828 00:36:43,410 --> 00:36:44,620 bütün yol aşağı hərəkət etmək. 829 00:36:44,620 --> 00:36:45,520 Mən başqa nə edə bilər? 830 00:36:45,520 --> 00:36:46,360 >> Auditoriya: onları keçin. 831 00:36:46,360 --> 00:36:46,850 >> DAVID MALAN: onları keçin. 832 00:36:46,850 --> 00:36:47,900 Və adı yenə nə var? 833 00:36:47,900 --> 00:36:48,441 >> JACOB: Jacob. 834 00:36:48,441 --> 00:36:50,330 DAVID MALAN: Jacob, hərəkət. 835 00:36:50,330 --> 00:36:54,440 Daha səmərəli yalnız var Arti ilə Jacob svop locations, 836 00:36:54,440 --> 00:36:56,710 məcbur qarşı Bu insanlar bütün dörd, 837 00:36:56,710 --> 00:36:58,734 üçün, çox təşəkkür edirəm onların düzgün mövqe. 838 00:36:58,734 --> 00:37:01,150 Indi nə Artie haqqında gözəl, onun düzgün mövqe var. 839 00:37:01,150 --> 00:37:02,060 Yenə bunu edək. 840 00:37:02,060 --> 00:37:03,730 2, mən gördüm kiçik sayı var. 841 00:37:03,730 --> 00:37:05,690 3, 7, 5. 842 00:37:05,690 --> 00:37:06,190 OK. 843 00:37:06,190 --> 00:37:07,467 2 mütləq kiçik deyil. 844 00:37:07,467 --> 00:37:08,550 Hər hansı bir iş yoxdur. 845 00:37:08,550 --> 00:37:09,320 Yenə bunu edək. 846 00:37:09,320 --> 00:37:10,070 6. 847 00:37:10,070 --> 00:37:10,640 Kiçik? 848 00:37:10,640 --> 00:37:11,140 8. 849 00:37:11,140 --> 00:37:11,590 Xeyr. 850 00:37:11,590 --> 00:37:11,720 4? 851 00:37:11,720 --> 00:37:12,220 Ooh. 852 00:37:12,220 --> 00:37:13,420 Mənə 4 xatırlayaq. 853 00:37:13,420 --> 00:37:13,950 3. 854 00:37:13,950 --> 00:37:15,110 Mənə 3 xatırlayaq. 855 00:37:15,110 --> 00:37:16,080 7, 5. 856 00:37:16,080 --> 00:37:18,490 Mən var kiçik sayı Bu pass görüldü 3 edir. 857 00:37:18,490 --> 00:37:20,340 Siz çıxmaq istəyirsinizsə. 858 00:37:20,340 --> 00:37:21,986 Harada biz sizə qoymaq üçün gedir? 859 00:37:21,986 --> 00:37:22,860 Və sizin adınız nədir? 860 00:37:22,860 --> 00:37:23,530 >> Alanna: Alanna. 861 00:37:23,530 --> 00:37:25,780 >> DAVID MALAN: Alanna, biz istəyirik sizə köçürmək üçün gedir. 862 00:37:25,780 --> 00:37:28,670 Amma ki, daha səmərəli yalnız iki nəfər dəyişdirmək üçün, 863 00:37:28,670 --> 00:37:31,850 çox insanlar üçün çox həqiqətən çox yana çəkilmək. 864 00:37:31,850 --> 00:37:32,850 İndi yenə bunu bildirin. 865 00:37:32,850 --> 00:37:34,980 Mən 4 seçin, belə ki, gəlib gedirəm. 866 00:37:34,980 --> 00:37:36,540 Və kim hərəkət olacaq? 867 00:37:36,540 --> 00:37:37,750 Sayı 8, əlbəttə. 868 00:37:37,750 --> 00:37:40,260 Mən indi sayı 5 tapmaq varsa, çıxmaq. 869 00:37:40,260 --> 00:37:42,104 Sayı 8 yenə oradan almaq olacaq. 870 00:37:42,104 --> 00:37:43,770 Mən indi yerdə sayı 6 tapmaq üçün gedirəm. 871 00:37:43,770 --> 00:37:44,410 Yerdə 7. 872 00:37:44,410 --> 00:37:45,080 Yerdə 8. 873 00:37:45,080 --> 00:37:48,590 >> Nə biz yalnız indi nə edir seçim sort deyilən bir şey, 874 00:37:48,590 --> 00:37:52,560 biz bu görüntüləmək əgər, bu bir az fərqli hiss gedir. 875 00:37:52,560 --> 00:37:56,800 Nin irəli və bu getmək imkan menyu burada, bu Vizual 876 00:37:56,800 --> 00:38:02,920 nin, Firefox gəlib to-- bu dəyişdirmək imkan verir. 877 00:38:02,920 --> 00:38:07,610 Seçim sort üçün bu dəyişiklik edək. 878 00:38:07,610 --> 00:38:11,830 Və əvvəlki kimi onu sürətləndirmək imkan, və indi vizual başlamaq. 879 00:38:11,830 --> 00:38:13,990 Və bu alqoritm var ona fərqli hiss edirəm. 880 00:38:13,990 --> 00:38:16,480 Hər iteration, səmimi, Bu daha sadə var. 881 00:38:16,480 --> 00:38:18,385 Mən yalnız kiçik element seçilməsi alıram. 882 00:38:18,385 --> 00:38:21,510 İndi səmimi, mən bir az uğurlu var zaman ki, bu super-sürətli sıralanır. 883 00:38:21,510 --> 00:38:22,660 Elementləri təsadüfi idi. 884 00:38:22,660 --> 00:38:25,520 Bu biz nəhayət lazımdır, deyil əsaslı sürətli baxın. 885 00:38:25,520 --> 00:38:29,400 Amma üçüncü və son görək neler kimi burada yanaşırıq. 886 00:38:29,400 --> 00:38:36,230 Belə nin irəli getmək və sizin uşaqlar yenidən bir final dəfə burada bu qaydada olmalıdır. 887 00:38:36,230 --> 00:38:38,450 >> Və indi mən gedirəm bir az daha ağıllı olmaq 888 00:38:38,450 --> 00:38:40,220 yalnız bizim alqoritmlər top. 889 00:38:40,220 --> 00:38:41,230 Mən bunu gedirəm. 890 00:38:41,230 --> 00:38:43,140 Mən getmək üçün gedirəm geri və irəli çox. 891 00:38:43,140 --> 00:38:44,900 Açığı, mən yoruldum bütün bu traversing. 892 00:38:44,900 --> 00:38:47,691 Mən yalnız mən edirəm nə etmək gedirəm Siyahının əvvəlində, 893 00:38:47,691 --> 00:38:49,460 və mən düzmək üçün gedirəm ki, sonra var. 894 00:38:49,460 --> 00:38:50,140 Belə ki, burada biz. 895 00:38:50,140 --> 00:38:51,030 Sayı 4. 896 00:38:51,030 --> 00:38:53,680 Mən nömrəsi daxil etmək üçün gedirəm Bir sıralanır siyahısına daxil 4. 897 00:38:53,680 --> 00:38:54,180 Done. 898 00:38:54,180 --> 00:38:58,300 Mən indi iddia və yalnız bu daha etmək aydın, mənim siyahısı bu hissəsi çeşidlənir. 899 00:38:58,300 --> 00:39:02,610 Bu axmaq iddia cür, lakin həqiqətən 4 ölçüsü bir siyahısı çeşidlənir. 900 00:39:02,610 --> 00:39:04,210 İndi mən 2 nömrəli etmək gedirəm. 901 00:39:04,210 --> 00:39:07,670 Sayı 2 İndi gedirəm Doğru yerdə daxil. 902 00:39:07,670 --> 00:39:08,680 Belə ki, 2 aid deyil? 903 00:39:08,680 --> 00:39:09,824 Aydındır ki, burada. 904 00:39:09,824 --> 00:39:11,490 Belə ki, davam və siz əgər, geri hərəkət. 905 00:39:11,490 --> 00:39:14,406 Və niyə uşaqlar yalnız alır musiqi ilə bu dəfə dayanır. 906 00:39:14,406 --> 00:39:17,020 Və zorla edək etməzdən siyahının başlanğıcına. 907 00:39:17,020 --> 00:39:17,936 Belə ki, bir az daha çox iş. 908 00:39:17,936 --> 00:39:20,890 Mən ətrafında Yaqub hərəkət idi və sizin adınız nədir? 909 00:39:20,890 --> 00:39:21,420 >> AMIN: Amin. 910 00:39:21,420 --> 00:39:22,270 >> DAVID MALAN: Amin. 911 00:39:22,270 --> 00:39:24,350 Lakin ən azı mən geri və irəli getmədi. 912 00:39:24,350 --> 00:39:25,739 Mən getmək kimi mən şeyi qəbul edirəm. 913 00:39:25,739 --> 00:39:27,530 Mən onlara daxil oldum doğru yerdə. 914 00:39:27,530 --> 00:39:29,220 6 Bu, həqiqətən, olduqca asandır. 915 00:39:29,220 --> 00:39:31,510 Əgər Agentliyi, orada siz daxil edək az üzərində hərəkət etmək istədi. 916 00:39:31,510 --> 00:39:32,870 Sayı 8, də olduqca asandır. 917 00:39:32,870 --> 00:39:33,741 Sağ orada. 918 00:39:33,741 --> 00:39:34,240 Lanet olsun. 919 00:39:34,240 --> 00:39:37,590 Number 1 koyamayız yalnız burada Amin ilə dəyişdirmək, 920 00:39:37,590 --> 00:39:39,340 çünki gedir mess up sifariş üçün. 921 00:39:39,340 --> 00:39:40,660 Beləliklə, biz bir az daha ağıllı olmalıdır. 922 00:39:40,660 --> 00:39:42,770 Belə ki, Artie, əgər siz bilər bir an üçün geri. 923 00:39:42,770 --> 00:39:46,550 Nin irəli getmək və indi keçmək edək Əvvəlki alqoritmlər fərqli olaraq, 924 00:39:46,550 --> 00:39:50,910 Arti üçün otaq etmək Burada başında. 925 00:39:50,910 --> 00:39:54,690 Günün sonunda belə, mən növ deyiləm Mən əvvəl qarşısını almaq üçün nə istədiyini edir. 926 00:39:54,690 --> 00:39:57,770 Və mənim alqoritm sort ki, intellektual, bərpa 927 00:39:57,770 --> 00:39:59,070 Bu ilk idi nə. 928 00:39:59,070 --> 00:40:01,240 Mən yalnız dəyişkən edirəm fərqli bir nöqtədə. 929 00:40:01,240 --> 00:40:02,291 İndi mən 3 deyiləm. 930 00:40:02,291 --> 00:40:02,790 Lənətləmək, Oh. 931 00:40:02,790 --> 00:40:04,039 Biz daha çox iş var. 932 00:40:04,039 --> 00:40:05,060 Belə ki, sizə təkan bildirin. 933 00:40:05,060 --> 00:40:09,360 Hərəkət edək 8, 6, 4-- oh oh və 3 orada getmək niyyətindədir. 934 00:40:09,360 --> 00:40:11,490 Bu dəfə ən az qənaət belə. 935 00:40:11,490 --> 00:40:13,100 7, çox çox iş ediləcək. 936 00:40:13,100 --> 00:40:15,370 Siz pop istəyirəm əgər, belə ki, geri, Sizə daxil edək. 937 00:40:15,370 --> 00:40:17,440 Və nəhayət, 5, əgər geri pop istəyirəm, biz 938 00:40:17,440 --> 00:40:22,610 sizə keçmək sizə lazımdır, beş qədər yerində olduğunu. 939 00:40:22,610 --> 00:40:25,670 >> Belə ki, indi bu görmək qrafik yüksək səviyyədə, 940 00:40:25,670 --> 00:40:31,080 Bu alqoritm edək vizual bir əlavə vaxt. 941 00:40:31,080 --> 00:40:33,580 Belə ki, bu biz durub sırala zəng etməlidir. 942 00:40:33,580 --> 00:40:37,700 Biz yalnız run lazımdır sürətli və burada başlayır. 943 00:40:37,700 --> 00:40:39,580 Və bu, çox fərqli bir hiss var. 944 00:40:39,580 --> 00:40:42,180 Bu cür daha yaxşı əldə edir və yaxşı, lakin mükəmməl heç 945 00:40:42,180 --> 00:40:44,630 Mən o boşluqları və hamar getmək qədər. 946 00:40:44,630 --> 00:40:47,860 Çünki, yenə yalnız alaraq alıram nə Mən sol sağ verilir alıram. 947 00:40:47,860 --> 00:40:50,350 Mən belə uğurlu olsun etməyib ki, hər şey mükəmməl idi. 948 00:40:50,350 --> 00:40:54,190 Biz bu az idi Ona görə biz zamanla sabit olduğunu mispositions. 949 00:40:54,190 --> 00:40:58,890 >> Belə ki, bu alqoritmlərin bütün görünür qədər müxtəlif özəlliklə yeyin addımlar çalışır. 950 00:40:58,890 --> 00:41:02,030 Əslində, siz demək olardı yaxşı və ya bu günə qədər sürətli? 951 00:41:02,030 --> 00:41:03,450 Bubble sort, ilk? 952 00:41:03,450 --> 00:41:05,000 Seçim sort, ikinci? 953 00:41:05,000 --> 00:41:08,450 Insertion sort, üçüncü? 954 00:41:08,450 --> 00:41:10,710 Mən bəzi seçim növ eşitmək. 955 00:41:10,710 --> 00:41:13,280 Digər fikir? 956 00:41:13,280 --> 00:41:16,880 >> Belə ki çıxır ki, bu alqoritmlərin bütün 957 00:41:16,880 --> 00:41:22,400 əsaslı olaraq kimi səmərəli kimi, əksinə, hər other-- və ya 958 00:41:22,400 --> 00:41:25,980 bir-birinə səmərəsiz, biz əsaslı edə bilər, çünki 959 00:41:25,980 --> 00:41:28,120 bütün üç daha yaxşı bu alqoritmlərin. 960 00:41:28,120 --> 00:41:29,990 Ki, bir ağ yalan bir az çox var. 961 00:41:29,990 --> 00:41:32,580 Mən səmərəli deyəndə və ya səmərəsiz kimi, 962 00:41:32,580 --> 00:41:35,040 ən azı üçün n super-böyük dəyərlər. 963 00:41:35,040 --> 00:41:38,450 Biz burada yalnız səkkiz nəfər var, və ya bəlkə ekranda 50 və ya belə barlar, 964 00:41:38,450 --> 00:41:41,645 Siz tamamilə fərqlər görəcəksiniz Bu üç alqoritmlər arasında. 965 00:41:41,645 --> 00:41:44,020 Lakin n, insanların sayı, və ya nömrələrinin sayı, 966 00:41:44,020 --> 00:41:46,350 və ya telefon insanların sayı kitab, və ya web pages sayı 967 00:41:46,350 --> 00:41:48,230 Google bazasında , böyük və daha böyük olur 968 00:41:48,230 --> 00:41:51,650 biz görəcəksiniz ki, bütün üç alqoritmlər, həqiqətən, olduqca zəifdir. 969 00:41:51,650 --> 00:41:54,060 Və biz əsaslı edə bilərsiniz daha yaxşı. 970 00:41:54,060 --> 00:41:56,830 >> , Nəhayət, bir nəzər salaq nə bu alqoritmlər bilər at 971 00:41:56,830 --> 00:41:59,520 Bu kimi səs bir neçə başqaları kontekstində 972 00:41:59,520 --> 00:42:03,550 eləcə də bu yolu ilə burada vizual 973 00:42:03,550 --> 00:42:06,860 ki, bizə təqdim edəcək alqoritmləri bir sıra. 974 00:42:06,860 --> 00:42:10,330 Nin irəli getmək və təbrik edək kimə bütün burada iştirakçıları, 975 00:42:10,330 --> 00:42:11,690 özlərini çox yaxşı sıralanır. 976 00:42:11,690 --> 00:42:15,124 Bir ayrılıq hədiyyə etmək istəyirsinizsə. 977 00:42:15,124 --> 00:42:16,540 Siz həmçinin nömrələri saxlaya bilərsiniz. 978 00:42:16,540 --> 00:42:19,460 979 00:42:19,460 --> 00:42:22,520 Və nə görürsünüz, daha doğrusu, indi eşitmək 980 00:42:22,520 --> 00:42:25,710 ki, biz səslər qoymaq kimi Bu bar hər 981 00:42:25,710 --> 00:42:28,660 və proqram təminatı ilə əlaqələndirmək səs müxtəlif tezlik, 982 00:42:28,660 --> 00:42:33,970 Siz mind daha audioly kesmek olar Bu şeyi hər ətrafında 983 00:42:33,970 --> 00:42:34,470 kimi baxmaq. 984 00:42:34,470 --> 00:42:39,325 Olan ilk durub sort 985 00:42:39,325 --> 00:42:44,275 >> [Melodiyalar] 986 00:42:44,275 --> 00:42:47,245 987 00:42:47,245 --> 00:42:49,720 >> Bu bubble sırala edir. 988 00:42:49,720 --> 00:42:54,175 >> [Melodiyalar] 989 00:42:54,175 --> 00:43:17,250 990 00:43:17,250 --> 00:43:18,222 >> Seçim sort. 991 00:43:18,222 --> 00:43:22,596 >> [Melodiyalar] 992 00:43:22,596 --> 00:43:33,570 993 00:43:33,570 --> 00:43:35,150 >> Birləşmə sort deyilən bir şey. 994 00:43:35,150 --> 00:43:38,140 >> [Melodiyalar] 995 00:43:38,140 --> 00:43:49,510 996 00:43:49,510 --> 00:43:51,278 >> Gnome sort. 997 00:43:51,278 --> 00:43:56,390 >> [Melodiyalar] 998 00:43:56,390 --> 00:44:08,240 999 00:44:08,240 --> 00:44:09,430 >> Ki, CS50 üçün var. 1000 00:44:09,430 --> 00:44:13,360 Biz Çərşənbə günü görəcəksiniz. 1001 00:44:13,360 --> 00:44:16,671 >> Dastançı: İndi, "Deep Daven Farnham tərəfindən düşüncələr ". 1002 00:44:16,671 --> 00:44:19,910 1003 00:44:19,910 --> 00:44:21,590 Niyə bir loop üçün? 1004 00:44:21,590 --> 00:44:23,200 Niyə daha yaxşı? 1005 00:44:23,200 --> 00:44:25,970 Mən beş loop etmək istiyorum. 1006 00:44:25,970 --> 00:44:28,720 >> [Gülüş]