1 00:00:00,000 --> 00:00:11,860 2 00:00:11,860 --> 00:00:13,120 >> HOPARLÖR 1: Bütün sağ, biz geri edir. 3 00:00:13,120 --> 00:00:14,480 CS50 xoş gəlmisiniz. 4 00:00:14,480 --> 00:00:16,510 Bu həftə yeddi sonu. 5 00:00:16,510 --> 00:00:20,200 Belə ki, son dəfə xatırlayıram, biz başladı biraz daha mürəkkəb baxaraq 6 00:00:20,200 --> 00:00:21,100 məlumat strukturlar. 7 00:00:21,100 --> 00:00:25,110 İndiyə qədər bu yana, biz bütün həqiqətən idi bizim sərəncamında bu, bir sıra idi. 8 00:00:25,110 --> 00:00:29,340 >> Amma biz serialın imtina kimi deyil, əvvəl bütün maraqlı, hansı həqiqətən 9 00:00:29,340 --> 00:00:33,570 Əslində, bəzi nə edilir Bu sadə məlumatların müsbət 10 00:00:33,570 --> 00:00:34,560 strukturu indiyə qədər? 11 00:00:34,560 --> 00:00:36,110 Bu yaxşı nədir? 12 00:00:36,110 --> 00:00:39,450 İndiyə qədər gördük kimi? 13 00:00:39,450 --> 00:00:42,540 Nə var? 14 00:00:42,540 --> 00:00:44,028 Heç bir şey. 15 00:00:44,028 --> 00:00:45,020 >> TƏLƏBƏ: [işitilemez]. 16 00:00:45,020 --> 00:00:45,395 >> HOPARLÖR 1: Nə o? 17 00:00:45,395 --> 00:00:46,410 >> TƏLƏBƏ: [işitilemez]. 18 00:00:46,410 --> 00:00:47,000 >> HOPARLÖR 1: Sabit ölçüsü. 19 00:00:47,000 --> 00:00:51,260 OK, belə ki, niyə sabit ölçüsü olsa yaxşıdır? 20 00:00:51,260 --> 00:00:53,180 >> TƏLƏBƏ: [işitilemez]. 21 00:00:53,180 --> 00:00:56,240 >> HOPARLÖR 1: OK, belə ki, səmərəli var bir ayrılması bilər ki, mənada 22 00:00:56,240 --> 00:01:00,070 kosmik sabit məbləğ, hansı inşallah dəqiq çox 23 00:01:00,070 --> 00:01:01,180 yer istədiyiniz kimi. 24 00:01:01,180 --> 00:01:02,720 Belə ki, tamamilə bir plus ola bilər. 25 00:01:02,720 --> 00:01:06,530 >> Bir sıra digər up tərəfi nədir? 26 00:01:06,530 --> 00:01:07,610 Bəli? 27 00:01:07,610 --> 00:01:08,750 >> TƏLƏBƏ: [işitilemez]. 28 00:01:08,750 --> 00:01:09,550 >> HOPARLÖR 1: Bütün - üzr? 29 00:01:09,550 --> 00:01:11,270 >> TƏLƏBƏ: [işitilemez]. 30 00:01:11,270 --> 00:01:13,620 >> HOPARLÖR 1: yaddaş Bütün qutuları və ya bir-birinə yanında. 31 00:01:13,620 --> 00:01:15,220 Və faydalı var - niyə? 32 00:01:15,220 --> 00:01:15,970 Bu çox doğru. 33 00:01:15,970 --> 00:01:18,611 Amma necə ki, həqiqət istifadə edə bilər? 34 00:01:18,611 --> 00:01:21,500 >> TƏLƏBƏ: [işitilemez]. 35 00:01:21,500 --> 00:01:24,490 >> HOPARLÖR 1: Məhz, biz takip edə bilərsiniz hər şey yalnız bilerek olduğu 36 00:01:24,490 --> 00:01:28,560 bir yəni ünvanı, yerləşdiyi ünvan yaddaş ki yığın ilk byte. 37 00:01:28,560 --> 00:01:30,420 Və ya simli halda, ilk ünvanı 38 00:01:30,420 --> 00:01:31,460 ki, simli ildə karakter. 39 00:01:31,460 --> 00:01:33,330 Və orada, biz tapa bilərsiniz simli sonunda. 40 00:01:33,330 --> 00:01:35,710 Biz ikinci element ki, tapa bilərsiniz Üçüncü element, və s. 41 00:01:35,710 --> 00:01:38,740 >> Və izah belə xülya yolu xüsusiyyət Diziler bizə ki, 42 00:01:38,740 --> 00:01:40,020 rasgele erişim. 43 00:01:40,020 --> 00:01:44,330 Yalnız kvadrat mötərizə istifadə edərək, notation və bir sıra, siz atlayabilir 44 00:01:44,330 --> 00:01:48,070 serialın müəyyən bir element daimi vaxt, böyük O 45 00:01:48,070 --> 00:01:49,810 bir, belə danışmaq. 46 00:01:49,810 --> 00:01:51,080 >> Lakin bəzi downsides olub. 47 00:01:51,080 --> 00:01:53,110 Bir sıra çox asanlıqla nə deyil? 48 00:01:53,110 --> 00:01:55,810 49 00:01:55,810 --> 00:01:57,170 Bu yaxşı nə deyil? 50 00:01:57,170 --> 00:01:58,810 >> TƏLƏBƏ: [işitilemez]. 51 00:01:58,810 --> 00:01:59,860 >> HOPARLÖR 1: Nə o? 52 00:01:59,860 --> 00:02:00,530 >> TƏLƏBƏ: [işitilemez]. 53 00:02:00,530 --> 00:02:01,460 >> HOPARLÖR 1: ölçüsü genişləndirilməsi. 54 00:02:01,460 --> 00:02:04,800 Ki, serialın downsides ki nə dəqiq əks 55 00:02:04,800 --> 00:02:05,540 upsides var. 56 00:02:05,540 --> 00:02:07,610 Belə ki, downsides biri bir sabit ölçüsü var. 57 00:02:07,610 --> 00:02:09,400 Beləliklə, siz, həqiqətən, inkişaf edə bilməz. 58 00:02:09,400 --> 00:02:13,510 Siz böyük bir yığın təkrar bölüşdürə bilər yaddaş, sonra köhnə elementləri hərəkət 59 00:02:13,510 --> 00:02:14,460 yeni massivinə. 60 00:02:14,460 --> 00:02:18,060 Və sonra pulsuz köhnə dizi, Məsələn, malloc və ya oxşar istifadə edərək, 61 00:02:18,060 --> 00:02:21,180 realloc adlı funksiyası olan reallocates yaddaş. 62 00:02:21,180 --> 00:02:25,490 >> Realloc bir kənara kimi, sizə vermək çalışır serialın yanında olduğunu yaddaş 63 00:02:25,490 --> 00:02:26,610 Əgər siz artıq var. 64 00:02:26,610 --> 00:02:28,740 Amma bu şeyi hərəkət edə bilər cəmi ətrafında. 65 00:02:28,740 --> 00:02:30,710 Amma qısa ki, sağ, bahalı? 66 00:02:30,710 --> 00:02:33,440 Çünki siz yaddaş bir yığın varsa Bu ölçüsü, ancaq həqiqətən bir istəyirəm 67 00:02:33,440 --> 00:02:36,710 Bu ölçüsü, və qorumaq istəyirsinizsə orijinal elementləri var 68 00:02:36,710 --> 00:02:40,510 təxminən xətti vaxt çıxarmaq prosesi ki, nə lazımdır 69 00:02:40,510 --> 00:02:41,900 yeni köhnə array. 70 00:02:41,900 --> 00:02:44,630 Və reallıq əməliyyat istiyor təkrar sistemi və 71 00:02:44,630 --> 00:02:48,340 yenə yaddaş böyük chunks başlaya bilər eləcə də bir müddət başa. 72 00:02:48,340 --> 00:02:52,250 Belə ki, xeyir-dua və lənət, həm də var , faktı ört-basdır bu seriallarda 73 00:02:52,250 --> 00:02:53,860 sabit ölçüsü var. 74 00:02:53,860 --> 00:02:56,790 Amma biz əvəzinə bir şey təqdim əgər bu kimi hansı bir bağlı deyilən 75 00:02:56,790 --> 00:03:00,580 siyahısı, biz bir neçə upsides almaq və bir neçə burada downsides həmçinin. 76 00:03:00,580 --> 00:03:05,780 >> Bir bağlı siyahı sadəcə bir məlumat belə strukturu C structs təşkil 77 00:03:05,780 --> 00:03:09,850 bir struct, geri, yalnız olduğu halda, bir və ya daha spesifik üçün konteyner 78 00:03:09,850 --> 00:03:11,100 dəyişənlərin növləri. 79 00:03:11,100 --> 00:03:16,110 Bu halda, nə məlumat növləri etmək ki, struct daxilində görünür ki, 80 00:03:16,110 --> 00:03:17,600 Sonuncu dəfə biz bir node deyilən? 81 00:03:17,600 --> 00:03:19,380 Bu düzbucaqlı hər bir node edir. 82 00:03:19,380 --> 00:03:22,660 Və kiçik düzbucaqlı hər onun daxilində bir məlumat növüdür. 83 00:03:22,660 --> 00:03:25,300 Biz nə növ demək idi Onlar bazar ertəsi idi? 84 00:03:25,300 --> 00:03:26,478 Bəli? 85 00:03:26,478 --> 00:03:27,870 >> TƏLƏBƏ: [işitilemez]. 86 00:03:27,870 --> 00:03:30,721 >> HOPARLÖR 1: A dəyişən və bir pointer, və ya Daha konkret desək, bir int, n, 87 00:03:30,721 --> 00:03:32,180 və altındakı bir göstərici. 88 00:03:32,180 --> 00:03:35,360 O həm də, 32 bit olmaq nə Bu CS50 kimi kompüter üzrə ən 89 00:03:35,360 --> 00:03:37,980 Appliance və onlar etdiyiniz belə ölçüsü bərabər etmişdir. 90 00:03:37,980 --> 00:03:42,260 >> Yaxşı pointer istifadə yəqin üçün necə? 91 00:03:42,260 --> 00:03:47,690 Diziler zaman niyə indi bu arrow əlavə belə gözəl və təmiz və sadə? 92 00:03:47,690 --> 00:03:50,460 Göstərici üçün nə edir bizə bu qovşaqlarının hər? 93 00:03:50,460 --> 00:03:52,160 >> TƏLƏBƏ: [işitilemez]. 94 00:03:52,160 --> 00:03:52,465 >> HOPARLÖR 1: Eynilə elə. 95 00:03:52,465 --> 00:03:54,120 Harada belirten oldu növbəti biridir. 96 00:03:54,120 --> 00:03:57,350 Beləliklə, mən növ ilə analogiya istifadə və düzmək üçün bir mövzu istifadə 97 00:03:57,350 --> 00:03:59,180 birlikdə bu qovşaqlarının Mövzu. 98 00:03:59,180 --> 00:04:01,760 Və biz yapýyorsun dəqiq nə var göstəricilərinə çünki bu hər 99 00:04:01,760 --> 00:04:06,360 yaddaş chunks ola bilər və ya bitişik, geri geri geri 100 00:04:06,360 --> 00:04:09,500 RAM daxilində, çünki hər zaman malloc deyərək zəng, mənə kifayət qədər vermək 101 00:04:09,500 --> 00:04:12,510 Yeni node üçün bytes, bu güc Burada olmaq və ya burada ola bilər. 102 00:04:12,510 --> 00:04:13,120 Burada ola bilər. 103 00:04:13,120 --> 00:04:13,730 Burada ola bilər. 104 00:04:13,730 --> 00:04:14,640 Siz yalnız bilmirəm. 105 00:04:14,640 --> 00:04:17,880 >> Amma ünvanlarda göstəricilərinə istifadə o qovşaqlarının, siz stitch onlara bilər 106 00:04:17,880 --> 00:04:22,370 birlikdə vizual görünür ki, bir yol bu şeyi, hətta əgər bir siyahı kimi 107 00:04:22,370 --> 00:04:26,770 bütün bir və ya həyata yayılmışdır Sizin iki və ya RAM sizin dörd qiqabayt 108 00:04:26,770 --> 00:04:28,760 öz kompüter daxilində. 109 00:04:28,760 --> 00:04:33,230 >> , Sonra, İşin mənfi tərəfi odur Belə ki, bir bağlı siyahı nədir? 110 00:04:33,230 --> 00:04:34,670 Biz istəyirik qiymət nedir yəqin ödəyən? 111 00:04:34,670 --> 00:04:36,010 >> TƏLƏBƏ: [işitilemez]. 112 00:04:36,010 --> 00:04:36,920 >> HOPARLÖR 1: daha çox yer, sağ? 113 00:04:36,920 --> 00:04:39,340 Biz bu halda, məbləği iki dəfə etdik kosmik biz getdi sonra, çünki 114 00:04:39,340 --> 00:04:43,500 hər biri üçün hər node üçün 32 bit olan int, indi biz 64 bit çünki 115 00:04:43,500 --> 00:04:45,050 eləcə də bir göstərici ətrafında saxlamaq. 116 00:04:45,050 --> 00:04:48,860 Daha çox səmərəliliyi almaq struct əgər Bu sadə şey böyükdür. 117 00:04:48,860 --> 00:04:52,020 Həqiqətən daxilində bir tələbə varsa olan strings bir neçə üçün 118 00:04:52,020 --> 00:04:55,430 adı və ev, bəlkə bir şəxsiyyət nömrəsi, cəmi bəlkə bəzi digər sahələrdə. 119 00:04:55,430 --> 00:04:59,000 >> Böyük bir kifayət qədər struct varsa, onda bəlkə göstərici dəyəri 120 00:04:59,000 --> 00:05:00,010 belə böyük. 121 00:05:00,010 --> 00:05:03,570 Bu bir künc işin bir az biz belə bir sadə primitiv saxlanılması edirik 122 00:05:03,570 --> 00:05:04,760 bağlı siyahı daxilində. 123 00:05:04,760 --> 00:05:05,790 Amma baxımından eynidir. 124 00:05:05,790 --> 00:05:08,230 Siz mütləq daha çox sərf edirik yaddaş, lakin siz əldə etdiyiniz 125 00:05:08,230 --> 00:05:08,990 rahatlıq. 126 00:05:08,990 --> 00:05:12,280 İndi bir element əlavə etmək istəyirsinizsə Çünki Bu siyahının başında, 127 00:05:12,280 --> 00:05:14,340 Yeni node ayırmaq lazımdır. 128 00:05:14,340 --> 00:05:17,180 Və mən yalnız yeniləmə var yalnız hərəkət birtəhər oxlar 129 00:05:17,180 --> 00:05:17,980 ətrafında bir göstəricilərinə. 130 00:05:17,980 --> 00:05:20,580 >> Mən bir şey əlavə etmək istəyirsinizsə siyahısının orta, mən yoxdur 131 00:05:20,580 --> 00:05:24,410 Biz nə kimi kənara hər kəs təkan Bizim könüllüləri ilə həftə keçmiş olan 132 00:05:24,410 --> 00:05:25,700 bir sıra təmsil. 133 00:05:25,700 --> 00:05:29,470 Mən yalnız bir yeni node ayrılması bilər sonra yalnız okları qeyd 134 00:05:29,470 --> 00:05:32,290 müxtəlif istiqamətlərdə deyil, çünki faktiki qalmaq üçün 135 00:05:32,290 --> 00:05:35,670 Mən tərtib etdiyiniz kimi yaddaş əsl xətt burada ekranda bu. 136 00:05:35,670 --> 00:05:38,400 >> Və sonra nəhayət, siz əlavə etmək istəyirsinizsə siyahının sonunda bir şey, bu, 137 00:05:38,400 --> 00:05:39,210 daha asan. 138 00:05:39,210 --> 00:05:43,320 Bu, ixtiyari notation növ edir lakin 34-nin pointer, bir tahmin edir. 139 00:05:43,320 --> 00:05:46,710 Ən çox onun göstərici dəyəri nədir köhnə kimi ehtimal tərtib sort 140 00:05:46,710 --> 00:05:47,700 orada məktəb antenna? 141 00:05:47,700 --> 00:05:48,920 >> TƏLƏBƏ: [işitilemez]. 142 00:05:48,920 --> 00:05:49,900 >> HOPARLÖR 1: Bu, yəqin ki null var. 143 00:05:49,900 --> 00:05:52,710 And olsun ki, bir müəllif null nümayəndəliyi. 144 00:05:52,710 --> 00:05:56,310 Çünki siz tamamilə Və null var bilmək lazımdır bir bağlı sonunda 145 00:05:56,310 --> 00:06:00,050 siyahısı aşağıdakı saxlamaq deyə, və Bu oxlar aşağıdakı və aşağıdakı 146 00:06:00,050 --> 00:06:01,170 bəzi zibil dəyəri. 147 00:06:01,170 --> 00:06:06,230 Belə null yoxdur ki, demek edəcək 34 saylı hüququ daha çox qovşaqlarının, 148 00:06:06,230 --> 00:06:07,200 bu halda. 149 00:06:07,200 --> 00:06:10,270 >> Belə ki, biz həyata keçirə bilər ki, təklif kod bu node. 150 00:06:10,270 --> 00:06:12,130 Və biz bu cür gördüm syntax əvvəl. 151 00:06:12,130 --> 00:06:15,090 Typedef yalnız yeni növü müəyyən bizə kimi bizə sinonimi verir 152 00:06:15,090 --> 00:06:17,100 string char * idi. 153 00:06:17,100 --> 00:06:21,030 Bu halda, bu, bizə vermək olacaq stenoqrafiya notation ki struct node 154 00:06:21,030 --> 00:06:24,010 yerine kimi yazıla bilər bir çox təmiz olan node. 155 00:06:24,010 --> 00:06:25,360 Az ayrıntılı bir çox var. 156 00:06:25,360 --> 00:06:30,080 >> Bir node daxilində yəqin bir int edir adlı n, sonra struct node * 157 00:06:30,080 --> 00:06:34,670 olan biz istədik dəqiq nə deməkdir oxlar başqa bir pointer demək 158 00:06:34,670 --> 00:06:36,940 eyni data tipli node. 159 00:06:36,940 --> 00:06:40,300 Və mən, biz həyata keçirmişik ki, təklif Bu kimi axtarış funksiyası olan 160 00:06:40,300 --> 00:06:41,890 İlk baxışdan görünə bilər bir az kompleksi. 161 00:06:41,890 --> 00:06:43,330 Lakin bu kontekstdə baxaq. 162 00:06:43,330 --> 00:06:45,480 >> Mənə burada cihaz üzərində gidelim. 163 00:06:45,480 --> 00:06:48,460 Mənə zəng bir fayl açmaq edək siyahısı sıfır dot h. 164 00:06:48,460 --> 00:06:53,950 Və yalnız müəyyən biz ehtiva yalnız bu məlumat üçün bir an əvvəl gördüm 165 00:06:53,950 --> 00:06:55,390 növü node çağırıb. 166 00:06:55,390 --> 00:06:57,350 Beləliklə, biz bir dot h fayla gətirdik. 167 00:06:57,350 --> 00:07:01,430 >> Və bir kənara, hətta bu, sanki görmək haqqında olduğunu proqramı 168 00:07:01,430 --> 00:07:05,410 bütün ki, kompleks, həqiqətən var bir proqram yazarkən konvensiya 169 00:07:05,410 --> 00:07:10,270 çəkmək üçün, data növləri kimi şeylər qoymaq bəzən daxili sizin sabitləri 170 00:07:10,270 --> 00:07:13,210 header fayl və mütləq ildə C fayl, əlbəttə zaman 171 00:07:13,210 --> 00:07:17,370 proqramları daha böyük və daha böyük almaq, belə ki, üçün, həm də baxmaq harada olduğunu bilirsinizmi 172 00:07:17,370 --> 00:07:20,840 bəzi hallarda sənədlərin və ya bu kimi əsasları, üçün 173 00:07:20,840 --> 00:07:22,360 bir növü müəyyən. 174 00:07:22,360 --> 00:07:25,680 >> İndi siyahısı sıfır dot açmaq edin c, bir neçə şey qeyd. 175 00:07:25,680 --> 00:07:29,090 Bu ən çox bir neçə mövzu faylları daxildir olan biz əvvəl gördüm. 176 00:07:29,090 --> 00:07:31,980 O, öz header file daxildir. 177 00:07:31,980 --> 00:07:35,200 >> Və bir kənara kimi, buna görə ikiqat var burada quotes, kimi bucaq fərqli 178 00:07:35,200 --> 00:07:38,340 xətt üzərində Mötərizədə ki, Mən orada qeyd etdik? 179 00:07:38,340 --> 00:07:39,180 >> TƏLƏBƏ: [işitilemez]. 180 00:07:39,180 --> 00:07:40,460 >> HOPARLÖR 1: Bəli belə bir yerli fayl var. 181 00:07:40,460 --> 00:07:44,300 Burada öz yerli faylı Belə ki, əgər line 15, məsələn, istifadə 182 00:07:44,300 --> 00:07:46,570 ikiqat quotes əvəzinə ki, açılı mötərizələrin. 183 00:07:46,570 --> 00:07:48,270 >> İndi bu maraqlı növüdür. 184 00:07:48,270 --> 00:07:51,830 Mən qlobal elan etdik Qeyd edək ki, line 18 Bu proqram dəyişən 185 00:07:51,830 --> 00:07:55,910 ilk adlanan bu olan fikir ilk göstərici olacaq 186 00:07:55,910 --> 00:07:59,190 Mənim bağlı siyahısında node və mən var Mən var, çünki null başlatılmış 187 00:07:59,190 --> 00:08:02,310 faktiki ayrılmayıb hələ yalnız qovşaqlarının. 188 00:08:02,310 --> 00:08:07,570 >> Beləliklə, bu nə biz, pictorially, təmsil şəkil kimi bir an əvvəl gördüm 189 00:08:07,570 --> 00:08:10,090 uzaq ki pointer tərəfdən buraxdı. 190 00:08:10,090 --> 00:08:12,260 Belə ki, indi ki, pointer ox yoxdur. 191 00:08:12,260 --> 00:08:14,590 Bu yerine null edir. 192 00:08:14,590 --> 00:08:17,880 Amma bu necə olacaq təmsil İlk faktiki ünvanı 193 00:08:17,880 --> 00:08:19,480 Bu siyahıda node. 194 00:08:19,480 --> 00:08:22,120 Mən bir qlobal həyata etdik Bütün bu, görəcəksiniz kimi, çünki 195 00:08:22,120 --> 00:08:25,310 proqram həyatda həyata etmez mənim üçün bağlıdır siyahısı. 196 00:08:25,310 --> 00:08:27,050 >> İndi mən burada bir neçə prototipləri var. 197 00:08:27,050 --> 00:08:31,190 Mən kimi xüsusiyyətləri həyata keçirilməsinə qərar silinməsi, durub, axtarış və 198 00:08:31,190 --> 00:08:31,740 traversal - 199 00:08:31,740 --> 00:08:35,210 The arasında son yalnız olan gəzmək siyahısı, onun elementlərinin çap. 200 00:08:35,210 --> 00:08:36,750 İndi burada mənim əsas gündəlik var. 201 00:08:36,750 --> 00:08:39,890 Və biz çox vaxt sərf deyil Bu ildən bu yana ümid, sort edir 202 00:08:39,890 --> 00:08:41,780 indi köhnə papaq. 203 00:08:41,780 --> 00:08:45,370 >> Mən, aşağıdakı etmək gidiyorum istifadəçi əməkdaşlıq edir. 204 00:08:45,370 --> 00:08:47,300 Bir Belə ki, çap gidiyorum Bu menyu həyata. 205 00:08:47,300 --> 00:08:49,420 Və mən bu biçimlendirilmiş etdik cleanly mən biləcəyi kimi. 206 00:08:49,420 --> 00:08:52,240 Deməkdir bir istifadəçi növləri, əgər onlar bir şey silmək istəyirəm. 207 00:08:52,240 --> 00:08:54,560 Deməkdir iki istifadəçi ki, əgər onlar bir şey əlavə etmək istəyirəm. 208 00:08:54,560 --> 00:08:55,930 Və s. 209 00:08:55,930 --> 00:08:58,270 Mən təklif gidiyorum sonra bir komanda üçün. 210 00:08:58,270 --> 00:08:59,300 Və sonra GetInt istifadə gedirəm. 211 00:08:59,300 --> 00:09:02,790 >> Beləliklə, bu, həqiqətən sadə menuing edir yalnız yazın olduğu interface 212 00:09:02,790 --> 00:09:05,270 bir bir sıra mapping bu əmrləri. 213 00:09:05,270 --> 00:09:08,730 İndi gözəl təmiz açarı var yandırın olacaq ki, bəyanat 214 00:09:08,730 --> 00:09:10,090 istifadəçi kimi daxil yazılmış hər hansı 215 00:09:10,090 --> 00:09:12,180 Onlar bir tipli varsa, mən lazımdır silmək zəng və pozub. 216 00:09:12,180 --> 00:09:14,380 Onlar iki tipli varsa, mən lazımdır daxil zəng və pozub. 217 00:09:14,380 --> 00:09:16,490 >> İndi hər gətirdik BİLDİRİŞ eyni xətt üzərində bu. 218 00:09:16,490 --> 00:09:18,360 Bu yalnız bir üslub qərardır. 219 00:09:18,360 --> 00:09:20,210 Adətən biz bir şey gördüm bunu bəyənir. 220 00:09:20,210 --> 00:09:23,260 Amma yalnız, səmimi, mənim proqram qərar daha oxunaqlı baxdı, çünki 221 00:09:23,260 --> 00:09:25,980 ona yalnız dörd hallarda olmuşdur yalnız bu kimi siyahısı. 222 00:09:25,980 --> 00:09:28,360 Stil tamamilə qanuni istifadə. 223 00:09:28,360 --> 00:09:31,480 Mən bu belə uzun etmək gidiyorum istifadəçi sıfır tipli deyil, I 224 00:09:31,480 --> 00:09:33,910 qərar onlar çıxmaq istəyirik demək olacaq. 225 00:09:33,910 --> 00:09:36,630 >> Belə ki, indi Ben nə hiss burada gedir. 226 00:09:36,630 --> 00:09:38,650 Mən yəqin siyahısına pulsuz gedirəm. 227 00:09:38,650 --> 00:09:40,230 Bir an ki, lakin daha çox. 228 00:09:40,230 --> 00:09:41,640 Ilk bu proqram run edək. 229 00:09:41,640 --> 00:09:45,250 Mənə böyük bir terminal edək pəncərə, nöqtə çizgi siyahısı 0. 230 00:09:45,250 --> 00:09:49,510 Buna davam və daxil etmək üçün gidiyorum yazaraq iki, indi 50 kimi sayı və 231 00:09:49,510 --> 00:09:51,590 siz siyahısına indi 50 görəcəksiniz. 232 00:09:51,590 --> 00:09:53,380 Və mətn yalnız biraz kaydırılmış. 233 00:09:53,380 --> 00:09:55,940 Belə ki, indi siyahısını ehtiva fark sayı 50. 234 00:09:55,940 --> 00:09:58,220 >> Iki alaraq başqa insert nə edək. 235 00:09:58,220 --> 00:10:01,630 Biri kimi sayının yazın edək. 236 00:10:01,630 --> 00:10:03,940 Siyahısı artıq 50 izlədi biridir. 237 00:10:03,940 --> 00:10:06,020 Bu yalnız bir mətn nümayəndəliyi belə siyahısı. 238 00:10:06,020 --> 00:10:10,550 Və nin kimi daha bir sayı daxil bildirin inşallah olan sayı 42, 239 00:10:10,550 --> 00:10:14,620 çünki ortada sonuna qədər davam xüsusi növ bu proqram 240 00:10:14,620 --> 00:10:16,320 bu edər onları elementləri. 241 00:10:16,320 --> 00:10:17,220 Belə ki, orada biz var. 242 00:10:17,220 --> 00:10:20,730 Ki, ola bilər Super sadə proqram tamamilə bir sıra istifadə, lakin 243 00:10:20,730 --> 00:10:23,280 bir bağlı siyahısını istifadə edərək, üçün baş yalnız mən dinamik bilər 244 00:10:23,280 --> 00:10:24,610 böyümək və bu shrink. 245 00:10:24,610 --> 00:10:28,470 >> Belə ki, axtarış bir nəzər edək mən komanda üç run, mən axtarmaq istəyirsinizsə 246 00:10:28,470 --> 00:10:31,040 sayı 43, demək üçün. 247 00:10:31,040 --> 00:10:34,190 Və heç bir şey yəqin edib, Mən heç bir cavab geri var, çünki. 248 00:10:34,190 --> 00:10:35,010 Belə ki, daha bu nə edək. 249 00:10:35,010 --> 00:10:35,690 Axtar. 250 00:10:35,690 --> 00:10:39,520 50 və ya daha çox axtarış üçün edək axtarış 42, bir gözəl var 251 00:10:39,520 --> 00:10:40,850 az incə mənası. 252 00:10:40,850 --> 00:10:42,610 Və mən orada həyatın mənasını tapdı. 253 00:10:42,610 --> 00:10:44,990 Əgər bilmirsinizsə sayı 42, istinad, Google. 254 00:10:44,990 --> 00:10:45,350 Bütün hüquqlar. 255 00:10:45,350 --> 00:10:47,130 Belə ki, nə mənə bu proqram görüb? 256 00:10:47,130 --> 00:10:50,660 Bu, yalnız mənə beləliklə əlavə etmək üçün izin verilen elementləri üçün uzaq və axtarış. 257 00:10:50,660 --> 00:10:53,650 >> , Sonra, sürətli irəli edək biz nəzər funksiyası 258 00:10:53,650 --> 00:10:55,360 bazar ertəsi iltifat kimi. 259 00:10:55,360 --> 00:10:59,620 Bu funksiya Belə ki, mən, axtarış iddia birinci siyahıda bir element 260 00:10:59,620 --> 00:11:03,830 bir, istifadəçi isteyen və sonra zəng Faktiki int almaq üçün GetInt 261 00:11:03,830 --> 00:11:05,060 sizin üçün axtarış istəyirik. 262 00:11:05,060 --> 00:11:06,460 >> Sonra bu bildiriş. 263 00:11:06,460 --> 00:11:10,690 Mən müvəqqəti dəyişən yaratmaq üçün gidiyorum line 188. pointer çağırıb - 264 00:11:10,690 --> 00:11:11,270 Ptr - 265 00:11:11,270 --> 00:11:12,440 bir şey çağırıb bilər. 266 00:11:12,440 --> 00:11:16,140 Və bir node bir göstərici var Mən orada node * bildirib. 267 00:11:16,140 --> 00:11:19,900 Və mən ona bərabər olmalıdır başlatılıyor alıram ilk mən səmərəli var ki, 268 00:11:19,900 --> 00:11:22,860 barmaq, belə ki, çox haqqında danışmaq siyahısının ilk element. 269 00:11:22,860 --> 00:11:27,460 Burada mənim sağ Ptr Ben Belə ki, əgər Eyni şey işarə ilk 270 00:11:27,460 --> 00:11:28,670 da işarə edir. 271 00:11:28,670 --> 00:11:31,430 >> Belə ki, indi geri kodunu, Bundan sonra nə olacaq - 272 00:11:31,430 --> 00:11:35,070 iterating bu ümumi bir paradiqma edir bir kimi bir quruluş üzərində 273 00:11:35,070 --> 00:11:35,970 bağlı siyahısı. 274 00:11:35,970 --> 00:11:40,410 Mən isə aşağıdakı gidiyorum pointer Belə null bərabər deyil isə 275 00:11:40,410 --> 00:11:47,530 mənim barmaq bir null da işarə deyil dəyəri, pointer arrow n n bərabərdir varsa. 276 00:11:47,530 --> 00:11:52,290 Biz n ilk görəcəksiniz nə hər GetInts Yığdığınız istifadəçi burada çağırırıq. 277 00:11:52,290 --> 00:11:54,280 >> Və göstərici arrow n nə deməkdir? 278 00:11:54,280 --> 00:11:59,020 Burada şəkil geri Yaxşı, əgər Mən işarə barmağı varsa 279 00:11:59,020 --> 00:12:02,960 doqquz də olan ilk node arrow mahiyyətcə ki, getmək deməkdir 280 00:12:02,960 --> 00:12:08,860 node və yeri N dəyəri qamarlamaq Bu halda, data sahəsində n çağırıb. 281 00:12:08,860 --> 00:12:14,120 >> Bir kənara kimi - və biz bu neçə gördüm həftə öncə kimsə xahiş zaman - 282 00:12:14,120 --> 00:12:18,840 Bu sintaksis yeni, lakin deyil bizə səlahiyyətlər verir ki, 283 00:12:18,840 --> 00:12:20,040 artıq yox idi. 284 00:12:20,040 --> 00:12:25,325 Istifadə ekvivalent bu söz nə idi dot notation və ulduz bir neçə 285 00:12:25,325 --> 00:12:29,490 həftə bundan əvvəl biz geri soyulmuş zaman bu bir az vaxtından əvvəl qat? 286 00:12:29,490 --> 00:12:31,780 >> TƏLƏBƏ: [işitilemez]. 287 00:12:31,780 --> 00:12:38,880 >> HOPARLÖR 1: Məhz, bu ulduz idi, sonra bu, ulduz dot n oldu 288 00:12:38,880 --> 00:12:41,930 burada parantez, hansı görünür, Açığı, mən bir çox hesab edirəm ki, 289 00:12:41,930 --> 00:12:43,320 oxumaq daha çox sirli. 290 00:12:43,320 --> 00:12:46,270 Lakin ulduz pointer, həmişə olduğu kimi, vasitələri var gedin. 291 00:12:46,270 --> 00:12:49,090 Və sonra nə məlumat var, istəyirik alan daxil olmaq istəyirsiniz? 292 00:12:49,090 --> 00:12:52,730 Yaxşı siz daxil olmaq üçün dot notation istifadə bir structs data sahəsində, mən 293 00:12:52,730 --> 00:12:54,140 xüsusi n istəyirik. 294 00:12:54,140 --> 00:12:56,240 >> Açığı, mən bu iddia edirəm oxumaq yalnız çətindir. 295 00:12:56,240 --> 00:12:58,080 Bu harada yadda çətindir parantez ki, getmək yoxdur 296 00:12:58,080 --> 00:12:59,030 ulduz və bütün. 297 00:12:59,030 --> 00:13:02,150 Belə ki, dünyanın bəzi sintaktik qəbul şəkər, belə danışmaq. 298 00:13:02,150 --> 00:13:04,740 Söyləyən Bir sexy yol, bu ekvivalent və 299 00:13:04,740 --> 00:13:05,970 bəlkə də daha asan. 300 00:13:05,970 --> 00:13:09,600 Pointer həqiqətən bir göstərici olarsa, arrow notation vasitəsilə getmək və tapmaq 301 00:13:09,600 --> 00:13:11,890 bu halda sahə n çağırıb. 302 00:13:11,890 --> 00:13:13,660 >> Mən bunu tapmaq Belə ki, mən nə görürsünüz. 303 00:13:13,660 --> 00:13:17,430 Mən sadəcə çap I, i tapdı ki, int üçün dəyəri sayede. 304 00:13:17,430 --> 00:13:20,730 I növ üçün yalnız bir ikinci yatmaq zəng üçün ekranda fasilə şeyi 305 00:13:20,730 --> 00:13:22,900 istifadəçi udmaq üçün ikinci vermək Ne oldu. 306 00:13:22,900 --> 00:13:24,290 Və sonra pozub. 307 00:13:24,290 --> 00:13:26,330 Əks halda, mən nə etməliyəm? 308 00:13:26,330 --> 00:13:30,960 Mən bərabər pointer güncelleyin Növbəti göstərici arrow. 309 00:13:30,960 --> 00:13:35,840 >> Belə ki, yalnız aydın olmaq, bu getmək deməkdir , mənim köhnə məktəb notation orada istifadə edərək. 310 00:13:35,840 --> 00:13:39,580 Bu yalnız nə getmək deməkdir Belə ki, Siz çox olaraq, hansı işarə edirik 311 00:13:39,580 --> 00:13:43,660 Birinci halda mən işarə alıram edir bu doqquz ilə struct. 312 00:13:43,660 --> 00:13:44,510 Belə ki, orada getdi etdik. 313 00:13:44,510 --> 00:13:47,880 Və sonra dot notation deməkdir növbəti dəyəri almaq. 314 00:13:47,880 --> 00:13:50,470 >> Amma dəyər, bu tərtib edir, baxmayaraq ki, bir dar kimi, yalnız bir sıra deyil. 315 00:13:50,470 --> 00:13:51,720 Bu rəqəmli ünvan var. 316 00:13:51,720 --> 00:13:55,670 Olub, kod bu bir xətt Belə ki, , bu kimi yazılı daha sirli 317 00:13:55,670 --> 00:14:00,190 yol, və ya bu kimi, bir az daha intuitiv şəkildə, yalnız mənim əl hərəkət deməkdir 318 00:14:00,190 --> 00:14:03,460 növbəti bir ilk node ki, sonra və sonra növbəti bir və 319 00:14:03,460 --> 00:14:05,320 bir sonrakı və s. 320 00:14:05,320 --> 00:14:09,920 >> Beləliklə, biz digər dayanmaq olmaz daxil edin və silin uygulamalarındaki 321 00:14:09,920 --> 00:14:14,030 və traversal, ilk iki olan kifayət qədər cəlb edir. 322 00:14:14,030 --> 00:14:17,010 Və mən onu almaq üçün çox asandır edirəm şifahi bunu zaman itirdi. 323 00:14:17,010 --> 00:14:19,890 Amma biz burada edə bilərsiniz müəyyən etmək üçün cəhd necə 324 00:14:19,890 --> 00:14:21,640 yaxşı vizual bunu. 325 00:14:21,640 --> 00:14:24,800 Mən təklif edirəm ki, əgər biz bu dilinə elementləri əlavə etmək istəyirəm 326 00:14:24,800 --> 00:14:26,680 Mövcud siyahısı, hansı beş elementlər vardır - 327 00:14:26,680 --> 00:14:29,530 9, 17, 22, 26 və 33 - 328 00:14:29,530 --> 00:14:33,300 Mən bu həyata keçirəcəyik, əgər kodu, mən getmək necə nəzərə almaq lazımdır 329 00:14:33,300 --> 00:14:34,160 Bunu haqqında. 330 00:14:34,160 --> 00:14:37,720 >> Və mən körpə addımlar təklif edir Bu halda demək vasitəsi, nə 331 00:14:37,720 --> 00:14:41,090 mümkün ssenariləri ki, ümumi qarşılaşa bilər? 332 00:14:41,090 --> 00:14:44,120 Bağlantılı üçün daxil həyata keçirilərkən siyahısı, bu, yalnız olmaq olur 333 00:14:44,120 --> 00:14:46,090 ölçüsü beş xüsusi nümunəsidir. 334 00:14:46,090 --> 00:14:50,420 Əgər bir rəqəm daxil etmək istəyirəm yaxşı, əgər bir nömrəli demək istəyirəm və 335 00:14:50,420 --> 00:14:53,380 harada, sorted asayişin qorunması açıq-aydın bir ehtiyac sayı yoxdur 336 00:14:53,380 --> 00:14:55,686 bu nümunə getmək? 337 00:14:55,686 --> 00:14:56,840 Əvvəlinə kimi. 338 00:14:56,840 --> 00:15:00,030 >> Amma maraqlı nə var Bu daxil bir əlavə etmək istəyirsinizsə, 339 00:15:00,030 --> 00:15:04,100 siyahısı, nə xüsusi pointer lazımdır yəqin aydınlıq olmalıdır? 340 00:15:04,100 --> 00:15:04,610 Birinci. 341 00:15:04,610 --> 00:15:07,830 Beləliklə, mən bu ilk halda, iddia edirəm biz, hesab edə bilərsiniz ki, 342 00:15:07,830 --> 00:15:11,140 da daxil cəlb ssenari siyahının başında. 343 00:15:11,140 --> 00:15:15,400 >> Hətta bir qədər asan və ya bəlkə yoluq-yoluq edək asan halda, nisbətən danışan. 344 00:15:15,400 --> 00:15:18,110 Mən əlavə etmək istəyirəm Güman sorted üçün sayı 35. 345 00:15:18,110 --> 00:15:20,600 Bu açıq-aydın orada məxsusdur. 346 00:15:20,600 --> 00:15:25,320 Yaxşı göstərici açıq-aydın gedir ki, ssenari yenilənir lazımdır? 347 00:15:25,320 --> 00:15:30,060 34-nin göstərici null deyil çevrilir lakin struct yerləşdiyi ünvan 348 00:15:30,060 --> 00:15:31,800 sayı 35 olan. 349 00:15:31,800 --> 00:15:32,750 Belə ki, bu halda iki var. 350 00:15:32,750 --> 00:15:36,190 Belə ki, artıq mən quantizing növ Ben Mən burada nə qədər çalışır. 351 00:15:36,190 --> 00:15:39,880 >> Və nəhayət, açıq-aydın ortada olduğu Həqiqətən, ortasında, əgər mən istəyirəm 352 00:15:39,880 --> 00:15:45,870 gedir ki, 23 kimi bir şey daxil 23 və 26 arasında, lakin 353 00:15:45,870 --> 00:15:48,680 indi hər şeyi bir az daha çox almaq cəlb çünki nə 354 00:15:48,680 --> 00:15:52,800 göstəricilərinə dəyişdirilə lazımdır? 355 00:15:52,800 --> 00:15:56,680 22 açıq-aydın dəyişdirilə lazımdır Belə ki, O, artıq 26-qeyd bilməz. 356 00:15:56,680 --> 00:16:00,320 O, yeni node qeyd etmək lazımdır ki, Mən zəng ayrılması lazımdır 357 00:16:00,320 --> 00:16:01,770 malloc və ya bir ekvivalent. 358 00:16:01,770 --> 00:16:05,990 >> Amma sonra mən də ki, yeni node, 23 ehtiyac Bu halda, onun pointer var 359 00:16:05,990 --> 00:16:07,870 kimə də işarə? 360 00:16:07,870 --> 00:16:08,560 26. 361 00:16:08,560 --> 00:16:10,380 Və bir olmalıdır gedir Burada əməliyyatlar üçün. 362 00:16:10,380 --> 00:16:13,410 Çünki mən ağılsızlıq bunu, mən əgər əvvəlində misal başlamaq üçün 363 00:16:13,410 --> 00:16:16,040 siyahısı və mənim qol 23 daxil etməkdir. 364 00:16:16,040 --> 00:16:18,610 Və mən bunu aid edir, yoxlamaq Burada doqquz yaxın? 365 00:16:18,610 --> 00:16:18,950 No 366 00:16:18,950 --> 00:16:20,670 Bu 17 növbəti, burada məxsusdur mu? 367 00:16:20,670 --> 00:16:20,940 No 368 00:16:20,940 --> 00:16:22,530 O, 22 yanındakı burada məxsusdur mu? 369 00:16:22,530 --> 00:16:23,300 Bəli. 370 00:16:23,300 --> 00:16:26,400 >> İndi mən burada axmaq Ben əgər deyil, Bu vasitəsilə düşüncə, mən güc 371 00:16:26,400 --> 00:16:28,320 23 Yeni node ayırırlar. 372 00:16:28,320 --> 00:16:32,080 Mən göstərici yeniləmə bilər node işarə edərək, 22 çağırıb 373 00:16:32,080 --> 00:16:33,080 bu yeni node edir. 374 00:16:33,080 --> 00:16:36,140 Və sonra yeniləmə nə var Yeni node in göstərici olacaq? 375 00:16:36,140 --> 00:16:38,120 >> TƏLƏBƏ: [işitilemez]. 376 00:16:38,120 --> 00:16:38,385 >> HOPARLÖR 1: Eynilə elə. 377 00:16:38,385 --> 00:16:39,710 26 işarə edərək. 378 00:16:39,710 --> 00:16:45,590 Mən artıq verməmişdir Amma əgər dammit 22-nin göstərici bu oğlan da qeyd və 379 00:16:45,590 --> 00:16:48,260 İndi yetimlər, istirahət siyahı, belə danışmaq. 380 00:16:48,260 --> 00:16:52,140 Burada əməliyyatların Belə sifarişi əhəmiyyətli olacaq. 381 00:16:52,140 --> 00:16:55,100 >> Bunu etmək üçün, mən oğurlamaq bilər , altı könüllü deyirlər. 382 00:16:55,100 --> 00:16:57,650 Və biz bunu edə bilərsiniz Bakalým vizual əvəzinə kod müdrik. 383 00:16:57,650 --> 00:16:59,330 Və biz bir sevimli stress var Bu gün sizin üçün top. 384 00:16:59,330 --> 00:17:02,510 OK, haqqında bir, iki, də Geri - orada sonunda. 385 00:17:02,510 --> 00:17:04,530 Siz də üç, dörd, sonunda uşaqlar. 386 00:17:04,530 --> 00:17:05,579 Və beş, altı. 387 00:17:05,579 --> 00:17:05,839 Əmin olun. 388 00:17:05,839 --> 00:17:06,450 Beş və altı. 389 00:17:06,450 --> 00:17:08,390 Bütün hüquqlar və biz gələcəyik! Siz uşaqlar üçün növbəti dəfə. 390 00:17:08,390 --> 00:17:09,640 Bütün hüquqlar qədər gəlib. 391 00:17:09,640 --> 00:17:12,010 392 00:17:12,010 --> 00:17:14,819 >> Bütün sağ, burada ilk istəyirik yana, Siz yöndəmsiz bir olmaq istəyirəm 393 00:17:14,819 --> 00:17:16,119 Burada Google şüşə? 394 00:17:16,119 --> 00:17:19,075 Bütün sağ, belə, OK, Cam, bir video qeyd edin. 395 00:17:19,075 --> 00:17:22,720 396 00:17:22,720 --> 00:17:24,589 OK, siz getmək iyi. 397 00:17:24,589 --> 00:17:27,950 >> Bütün sağ, belə ki, uşaqlar üzərində gəlmək bilər Burada əvvəlcədən hazırlamışıq 398 00:17:27,950 --> 00:17:30,110 bir ədəd. 399 00:17:30,110 --> 00:17:31,240 Bütün sağ, burada gəlib. 400 00:17:31,240 --> 00:17:33,440 Və niyə bir az getmirlər daha yol. 401 00:17:33,440 --> 00:17:35,520 Və nin görək, adınız nədir, Google Glass ilə? 402 00:17:35,520 --> 00:17:35,910 >> TƏLƏBƏ: Ben. 403 00:17:35,910 --> 00:17:36,230 >> HOPARLÖR 1: Ben? 404 00:17:36,230 --> 00:17:38,380 OK, Ben, siz sözün birinci olacaq. 405 00:17:38,380 --> 00:17:40,580 Beləliklə, biz göndərmək olacaq səhnə sonuna. 406 00:17:40,580 --> 00:17:41,670 Bütün sağ, və adı? 407 00:17:41,670 --> 00:17:41,990 >> TƏLƏBƏ: Jason. 408 00:17:41,990 --> 00:17:44,530 >> HOPARLÖR 1: Jason, OK will sayı doqquz ola bilər. 409 00:17:44,530 --> 00:17:46,700 Siz Ben o yolla istəyirəm əgər. 410 00:17:46,700 --> 00:17:47,010 >> TƏLƏBƏ: Jill. 411 00:17:47,010 --> 00:17:49,630 >> HOPARLÖR 1: Jill, siz olacaq 17, I daha çox işlər etsəniz 412 00:17:49,630 --> 00:17:51,260 ağıllı, mən var ki, digər sonunda başladı. 413 00:17:51,260 --> 00:17:52,370 Bilirsiniz ki, yol getmək. 414 00:17:52,370 --> 00:17:53,030 22. 415 00:17:53,030 --> 00:17:53,670 Və siz? 416 00:17:53,670 --> 00:17:53,980 >> TƏLƏBƏ: Mary. 417 00:17:53,980 --> 00:17:56,130 >> HOPARLÖR 1: Mary, siz 22 olacaq. 418 00:17:56,130 --> 00:17:58,420 Və adı? 419 00:17:58,420 --> 00:17:58,810 >> TƏLƏBƏ: Chris. 420 00:17:58,810 --> 00:18:00,100 >> HOPARLÖR 1: Chris, siz 26 olacaq. 421 00:18:00,100 --> 00:18:00,740 Və sonra son. 422 00:18:00,740 --> 00:18:01,400 >> TƏLƏBƏ: Diana. 423 00:18:01,400 --> 00:18:02,670 >> HOPARLÖR 1: Diana, siz 34 olacaq. 424 00:18:02,670 --> 00:18:03,920 Belə ki, burada gəlib. 425 00:18:03,920 --> 00:18:06,360 >> Bütün sağ, belə sıralanır təkmilləşdirilməsi artıq sifariş. 426 00:18:06,360 --> 00:18:09,600 Və nin irəli getmək və bunu bildirin belə ki, biz, həqiqətən bilər - 427 00:18:09,600 --> 00:18:11,720 Ben siz axtarır yalnız cür istəyirik həyata heç bir yerdə orada daxil. 428 00:18:11,720 --> 00:18:15,670 OK, belə ki, in irəli getmək və bu təsvir edək Mən çox istəyirəm, silah istifadə edərək, dəqiq, 429 00:18:15,670 --> 00:18:16,250 neler. 430 00:18:16,250 --> 00:18:19,540 Belə ki, davam və özünüzü ver ayaq və ya aranızdakı iki. 431 00:18:19,540 --> 00:18:22,900 Və bir tərəfdən ilə davam və qeyd sizə kim işarə edilməlidir 432 00:18:22,900 --> 00:18:23,470 bu əsaslanır. 433 00:18:23,470 --> 00:18:25,890 Siz null əgər və yalnız qeyd düz aşağı mərtəbə. 434 00:18:25,890 --> 00:18:27,690 OK, belə yaxşı. 435 00:18:27,690 --> 00:18:32,290 >> Belə ki, indi biz bir bağlı siyahı var və mənə bildirin Mən rolunu oynamaq lazımdır ki, təklif 436 00:18:32,290 --> 00:18:35,110 Ptr, mən narahat deyil ətrafında bu balans. 437 00:18:35,110 --> 00:18:37,830 Və sonra - kimsə axmaq Konvensiyası - istədiyiniz bu bir zəng edə bilərsiniz - 438 00:18:37,830 --> 00:18:39,800 sələfi göstərici proqnozu pointer - 439 00:18:39,800 --> 00:18:43,930 yalnız biz verdi ləqəb var mənim sol tərəfdən Örnek kodu. 440 00:18:43,930 --> 00:18:47,240 Saxlanılması olacaq ki, digər tərəfdən olan olan takip 441 00:18:47,240 --> 00:18:48,400 ssenari aşağıdakı. 442 00:18:48,400 --> 00:18:52,390 >> Belə ki, ilk, mən off dərmək istəyirəm, güman daxil olduğunu ilk nümunəsi, demək 443 00:18:52,390 --> 00:18:54,330 20 siyahısına daxil. 444 00:18:54,330 --> 00:18:57,160 Beləliklə, mən kimsə lazımdır gidiyorum bizim üçün sayı 20 etdirir. 445 00:18:57,160 --> 00:18:58,950 Beləliklə, mən malloc kimsə lazımdır tamaşaçı. 446 00:18:58,950 --> 00:18:59,380 Up Hadi. 447 00:18:59,380 --> 00:19:00,340 Sizin adınız nədir? 448 00:19:00,340 --> 00:19:01,300 >> TƏLƏBƏ: Brian. 449 00:19:01,300 --> 00:19:05,270 >> HOPARLÖR 1: Brian, bütün sağ, belə ki, 20 olan node olmalıdır. 450 00:19:05,270 --> 00:19:06,810 Bütün sağ, burada gəlib. 451 00:19:06,810 --> 00:19:10,025 Və təbii ki, burada Brian aid edir? 452 00:19:10,025 --> 00:19:12,190 Belə ki, ortasında - faktiki olaraq, bir dəqiqə gözləyin. 453 00:19:12,190 --> 00:19:13,420 Biz üçün bu həyata edirik. 454 00:19:13,420 --> 00:19:17,170 Biz bir çox çətindir bu edirik Bu ilk olmalıdır edir. 455 00:19:17,170 --> 00:19:21,210 OK, biz pulsuz Brian olacaq və beş realloc Brian. 456 00:19:21,210 --> 00:19:23,680 >> OK, belə ki, indi biz daxil istəyirik Beş Brian. 457 00:19:23,680 --> 00:19:25,960 Belə ki, yanında buraya gəlib Yalnız bir an Ben. 458 00:19:25,960 --> 00:19:28,250 Və ehtimalla deyə bilərsiniz Bu hekayə gedir yerləşir. 459 00:19:28,250 --> 00:19:30,500 Lakin edək haqqında diqqətlə düşünmək əməliyyatları üçün. 460 00:19:30,500 --> 00:19:32,880 Və məhz bu vizual var sıralamaq olacaq ki, 461 00:19:32,880 --> 00:19:34,080 ki, örnek kod ilə. 462 00:19:34,080 --> 00:19:40,120 Belə ki, burada mən Ptr əvvəlcə işarə var deyil per se Ben,, lakin hər hansı bir at 463 00:19:40,120 --> 00:19:43,245 O, ehtiva dəyəri bu halda deyil - adınız yenidən var? 464 00:19:43,245 --> 00:19:43,670 >> TƏLƏBƏ: Jason. 465 00:19:43,670 --> 00:19:47,350 >> HOPARLÖR 1: Jason, Ben və mən də belə Hal-hazırda Jason da işarə. 466 00:19:47,350 --> 00:19:49,700 Belə ki, indi müəyyən etmək üçün var, Brian Ü aid edir? 467 00:19:49,700 --> 00:19:53,500 Tək şey Beləliklə, mən etmək imkanı var İndi onun n data item edir. 468 00:19:53,500 --> 00:19:58,280 Buna görə yoxlamaq gidiyorum Jason daha Brian az? 469 00:19:58,280 --> 00:19:59,770 Cavab doğrudur. 470 00:19:59,770 --> 00:20:03,680 >> Beləliklə, nə indi, nə etmək lazımdır düzgün qaydada? 471 00:20:03,680 --> 00:20:07,120 Mən neçə göstəricilərinə güncellemeniz lazımdır Bu hekayə cəmi? 472 00:20:07,120 --> 00:20:10,720 Mənim əl hələ də işarə edir Harada Jason, və əl - Əgər istəyirsinizsə 473 00:20:10,720 --> 00:20:12,930 növ kimi sizin əl qoymaq, mən bir sual işarəsi bilmirəm. 474 00:20:12,930 --> 00:20:14,070 OK, yaxşı. 475 00:20:14,070 --> 00:20:15,670 >> Bütün sağ, siz belə bir neçə namizəd. 476 00:20:15,670 --> 00:20:20,500 Ben yaxud I və ya Brian ya Jason Ya başqa və ya hər kəs, hansı 477 00:20:20,500 --> 00:20:21,370 göstəricilərinə dəyişdirmək lazımdır? 478 00:20:21,370 --> 00:20:23,260 Necə ümumi bir çox? 479 00:20:23,260 --> 00:20:24,080 >> OK, belə ki, iki. 480 00:20:24,080 --> 00:20:27,090 Mənim göstərici həqiqətən artıq etməz Mən yalnız müvəqqəti Ben çünki. 481 00:20:27,090 --> 00:20:31,370 Belə ki, ehtimalla, bu iki uşaqlar var Ben və Brian də. 482 00:20:31,370 --> 00:20:34,410 Beləliklə, biz yeniləmə ki, mənə təklif edək Ben, ildən ilk var. 483 00:20:34,410 --> 00:20:36,350 Bu siyahıda ilk element indi Brian olacaq. 484 00:20:36,350 --> 00:20:38,070 Brian belə Ben nöqtə. 485 00:20:38,070 --> 00:20:39,320 OK, indi nə? 486 00:20:39,320 --> 00:20:41,950 487 00:20:41,950 --> 00:20:43,460 >> Kim da qeyd edilir? 488 00:20:43,460 --> 00:20:44,710 >> TƏLƏBƏ: [işitilemez]. 489 00:20:44,710 --> 00:20:46,180 >> HOPARLÖR 1: OK belə Brian var Jason da qeyd etmək. 490 00:20:46,180 --> 00:20:48,360 Amma pointer izini itirmiş? 491 00:20:48,360 --> 00:20:49,980 Jason harada mən bilirsinizmi? 492 00:20:49,980 --> 00:20:50,790 >> TƏLƏBƏ: [işitilemez]. 493 00:20:50,790 --> 00:20:52,620 >> HOPARLÖR 1: Ben çünki mən, nə müvəqqəti göstərici. 494 00:20:52,620 --> 00:20:55,110 Və ehtimalla, mən dəyişməyib Yeni node da qeyd etmək. 495 00:20:55,110 --> 00:20:58,300 Beləliklə, biz sadəcə Brian nöqtəsi ola bilər kim mən də işarə edirəm. 496 00:20:58,300 --> 00:20:59,000 Və biz tamamlayın. 497 00:20:59,000 --> 00:21:01,890 Belə halda biri də durub siyahı əvvəli. 498 00:21:01,890 --> 00:21:02,950 Iki əsas addım var idi. 499 00:21:02,950 --> 00:21:06,750 Bir, biz Ben yeniləmək üçün var, və sonra biz də Brian yeniləmək lazımdır. 500 00:21:06,750 --> 00:21:09,230 Və sonra mən narahat yoxdur geri qalan vasitəsilə traipsing 501 00:21:09,230 --> 00:21:12,680 Biz artıq aşkar siyahısı, çünki onun O məxsus yer, çünki 502 00:21:12,680 --> 00:21:14,080 ilk element sol. 503 00:21:14,080 --> 00:21:15,400 >> Bütün sağ, belə olduqca sadə. 504 00:21:15,400 --> 00:21:18,110 Biz demək olar ki, etdiyiniz kimi, əslində, hiss Bu çox mürəkkəb edir. 505 00:21:18,110 --> 00:21:20,240 Belə ki, indi sonunda yoluq-yoluq bildirin siyahısı, və harada görmək 506 00:21:20,240 --> 00:21:21,380 mürəkkəbliyi başlayır. 507 00:21:21,380 --> 00:21:24,560 Tamaşaçı Belə ki, indi, mən alloc. 508 00:21:24,560 --> 00:21:25,540 Hər kəs 55 oynamaq istəyirsiniz? 509 00:21:25,540 --> 00:21:26,700 Bütün sağ, mən ilk əl gördüm. 510 00:21:26,700 --> 00:21:29,620 Up Hadi. 511 00:21:29,620 --> 00:21:30,030 Bəli. 512 00:21:30,030 --> 00:21:31,177 Sizin adınız nədir? 513 00:21:31,177 --> 00:21:32,310 >> TƏLƏBƏ: [işitilemez]. 514 00:21:32,310 --> 00:21:33,240 >> HOPARLÖR 1: Habata. 515 00:21:33,240 --> 00:21:33,890 OK qədər gəlib. 516 00:21:33,890 --> 00:21:35,730 Siz sayı 55 olacaq. 517 00:21:35,730 --> 00:21:37,820 Beləliklə, siz, əlbəttə, məxsusdur siyahının sonunda. 518 00:21:37,820 --> 00:21:41,850 Elə mənimlə simulyasiya replay imkan yalnız bir an Ptr olan. 519 00:21:41,850 --> 00:21:44,050 Beləliklə, mən ilk qeyd etmək gidiyorum Ben-da işarə edir nə. 520 00:21:44,050 --> 00:21:45,900 Biz indi Brian da işarə edirik də. 521 00:21:45,900 --> 00:21:48,420 Belə ki, 55-dən az beş deyil. 522 00:21:48,420 --> 00:21:52,510 Belə ki, I özümü yeniləmək üçün gidiyorum Brian növbəti göstərici işarə edən 523 00:21:52,510 --> 00:21:54,450 İndi əlbəttə Jason edir. 524 00:21:54,450 --> 00:21:57,310 55 belə az doqquz deyil Mən Ptr yeniləmək üçün gedirəm. 525 00:21:57,310 --> 00:21:58,890 Mən Ptr yeniləmək üçün gedirəm. 526 00:21:58,890 --> 00:22:02,290 Mən Ptr yeniləmək üçün gidiyorum Mən Ptr yeniləmək üçün gedir. 527 00:22:02,290 --> 00:22:05,060 Və mən gedirəm - hmm, ne adınız yenidən? 528 00:22:05,060 --> 00:22:05,560 >> TƏLƏBƏ: Diana. 529 00:22:05,560 --> 00:22:09,190 >> HOPARLÖR 1: Diana işarə edir, əlbəttə, onun sol əli ilə null edir. 530 00:22:09,190 --> 00:22:13,030 Beləliklə, harada Habata əslində yoxdur aydın məxsusdur? 531 00:22:13,030 --> 00:22:15,050 Sola, burada. 532 00:22:15,050 --> 00:22:19,460 Belə ki, necə mən burada onun qoymaq üçün bilmirəm Mən qədər berbat sonra hesab edirəm. 533 00:22:19,460 --> 00:22:22,420 Nə Ptr incəsənət Çünki vaxt bu an? 534 00:22:22,420 --> 00:22:23,240 Null. 535 00:22:23,240 --> 00:22:25,580 Belə olsa da, vizual, biz açıq-aydın bütün bunlar bax 536 00:22:25,580 --> 00:22:26,610 burada səhnəyə uşaqlar. 537 00:22:26,610 --> 00:22:29,680 Mən əvvəlki track saxlanılır deyil etdik Siyahıda şəxs. 538 00:22:29,680 --> 00:22:33,210 Mən işarə barmağı yoxdur Bu halda, node sayı 34. 539 00:22:33,210 --> 00:22:34,760 >> Elə həqiqətən bu artıq başlamaq bildirin. 540 00:22:34,760 --> 00:22:37,560 Belə ki, indi mən, həqiqətən lazımdır ikinci yerli dəyişən. 541 00:22:37,560 --> 00:22:40,980 Və bu siz görürsünüz nə faktiki nümunə C kodu kimi mən getmək harada, 542 00:22:40,980 --> 00:22:45,860 Mən qeyd etmək mənim sağ yeniləmə zaman Jason, bununla mən geridə Brian tərk 543 00:22:45,860 --> 00:22:51,440 daha mənim sol tərəfdən istifadə edərək başlamaq Mən harada getmək kimi ki, yeniləmə 544 00:22:51,440 --> 00:22:52,700 Bu siyahıda vasitəsilə - 545 00:22:52,700 --> 00:22:55,040 daha yöndəmsiz I nəzərdə dən indi burada vizual - 546 00:22:55,040 --> 00:22:56,740 Mən almaq üçün gidiyorum siyahısı sonu. 547 00:22:56,740 --> 00:23:00,020 >> Bu tərəfdən olduqca ki, hələ null edir göstərmək üçün başqa faydasız 548 00:23:00,020 --> 00:23:02,980 Mən siyahının sonunda aydın Ben amma indi ən azı mən bu var 549 00:23:02,980 --> 00:23:08,270 sələfi göstərici Belə ki, burada işarə indi nə əllər və nə göstəricilərinə lazımdır 550 00:23:08,270 --> 00:23:10,150 aydınlıq olmalıdır? 551 00:23:10,150 --> 00:23:13,214 Kimin tərəfdən istəyirsiniz ilk reconfigure? 552 00:23:13,214 --> 00:23:15,190 >> TƏLƏBƏ: [işitilemez]. 553 00:23:15,190 --> 00:23:16,220 >> HOPARLÖR 1: OK, Diana belə. 554 00:23:16,220 --> 00:23:21,110 Harada qeyd etmək istəyirəm At Diana sol pointer? 555 00:23:21,110 --> 00:23:23,620 55, güman ki, belə biz daxil etdik. 556 00:23:23,620 --> 00:23:25,560 Və harada 55 pointer getmək lazımdır? 557 00:23:25,560 --> 00:23:27,000 Down, null etdirir. 558 00:23:27,000 --> 00:23:28,890 Və mənim əlləri, bu nöqtədə deyil Onlar yalnız, çünki Fərq 559 00:23:28,890 --> 00:23:30,070 müvəqqəti dəyişənlər. 560 00:23:30,070 --> 00:23:31,030 Belə ki, indi biz tamamlayın. 561 00:23:31,030 --> 00:23:34,650 >> Belə ki, əlavə var mürəkkəbliyi - və ki, həyata ki, çətin deyil 562 00:23:34,650 --> 00:23:38,660 lakin biz etmək üçün orta dəyişən lazımdır əmin mən sağa hərəkət əvvəl 563 00:23:38,660 --> 00:23:42,140 əl, mən sol dəyəri yeniləmək tərəfdən proqnozu bu halda pointer, belə ki, 564 00:23:42,140 --> 00:23:45,860 Mən arxada göstərici var ki, Mən harada takip. 565 00:23:45,860 --> 00:23:49,360 İndi bir kənara kimi, bu düşünür istəyirsinizsə bu kimi vasitəsilə bu hiss bir 566 00:23:49,360 --> 00:23:51,490 saxlamaq üçün az annoying bu sol tərəfdən baxın. 567 00:23:51,490 --> 00:23:54,015 >> Nə başqa bir həll ki, Bu problemin olub? 568 00:23:54,015 --> 00:23:56,500 Veri yeniden tasarlarken var, əgər biz danışıqlar strukturu 569 00:23:56,500 --> 00:23:59,630 İndi vasitəsilə? 570 00:23:59,630 --> 00:24:02,690 Bu yalnız cür bir az hiss edin kimi, iki göstəricilərinə malik annoying 571 00:24:02,690 --> 00:24:08,430 başqa edən siyahısını bilər gedir ideal dünyada, saxlamışlar 572 00:24:08,430 --> 00:24:10,160 biz lazımdır ki, informasiya? 573 00:24:10,160 --> 00:24:11,360 Bəli? 574 00:24:11,360 --> 00:24:12,610 >> TƏLƏBƏ: [işitilemez]. 575 00:24:12,610 --> 00:24:15,160 576 00:24:15,160 --> 00:24:16,150 >> HOPARLÖR 1: Eynilə elə. 577 00:24:16,150 --> 00:24:19,130 Sağ belə maraqlı həqiqətən var bir fikir rüşeymləri. 578 00:24:19,130 --> 00:24:22,470 Və əvvəlki göstərici bu fikir, əvvəlki element də işarə. 579 00:24:22,470 --> 00:24:25,580 Mən yalnız təcəssüm ki, əgər siyahısını özü daxilində? 580 00:24:25,580 --> 00:24:27,810 Və görüntüləmək üçün çətin olacaq Bu, bütün kağız olmadan 581 00:24:27,810 --> 00:24:28,830 yerə düşür. 582 00:24:28,830 --> 00:24:31,860 Lakin bu uşaqlar də istifadə edirlər ki, əllərini bir əvvəlki var 583 00:24:31,860 --> 00:24:35,950 bununla pointer və sonrakı göstərici biz ikiqat arayacaðým nə həyata 584 00:24:35,950 --> 00:24:36,830 bağlı siyahısı. 585 00:24:36,830 --> 00:24:41,090 Ki, mənə geri növ imkan verir daha asanlıqla mənə olmadan, 586 00:24:41,090 --> 00:24:43,800 proqramçı saxlamaq üçün olan əl Track - 587 00:24:43,800 --> 00:24:44,980 həqiqətən əl - 588 00:24:44,980 --> 00:24:47,280 Mən əvvəllər olmuşdu harada Siyahıda. 589 00:24:47,280 --> 00:24:48,110 Belə ki, etməyəcək. 590 00:24:48,110 --> 00:24:50,950 Ki, çünki Biz bu sadə davam edəcəyik iki dəfə kimi bir qiymətə gəlib gedir 591 00:24:50,950 --> 00:24:53,450 ki göstəricilərinə üçün çox yer, Bir ikinci istəyirsinizsə. 592 00:24:53,450 --> 00:24:55,760 Amma bu, doğrudan da yaygın data strukturu kimi tanınan 593 00:24:55,760 --> 00:24:57,410 ikiqat siyahısı bağlıdır. 594 00:24:57,410 --> 00:25:01,310 >> Burada son misal etmək və qoymaq edək onların həyatlarının həyata bu uşaqlar. 595 00:25:01,310 --> 00:25:03,270 Malloc 20 belə. 596 00:25:03,270 --> 00:25:05,320 Orada koridorda qədər Hadi. 597 00:25:05,320 --> 00:25:06,280 Bütün sağ, adınız nədir? 598 00:25:06,280 --> 00:25:07,440 >> TƏLƏBƏ: [işitilemez]. 599 00:25:07,440 --> 00:25:07,855 >> HOPARLÖR 1: Pardon? 600 00:25:07,855 --> 00:25:08,480 >> TƏLƏBƏ: [işitilemez]. 601 00:25:08,480 --> 00:25:09,410 >> HOPARLÖR 1: Demeron? 602 00:25:09,410 --> 00:25:10,230 OK qədər gəlib. 603 00:25:10,230 --> 00:25:11,910 20 olmalıdır. 604 00:25:11,910 --> 00:25:14,720 Siz açıq-aydın edir 17 və 22 arasında məxsusdur. 605 00:25:14,720 --> 00:25:16,150 Belə ki, mənə dərs bildirin. 606 00:25:16,150 --> 00:25:18,150 Mən göstərici başlamaq üçün gidiyorum Brian da işarə. 607 00:25:18,150 --> 00:25:21,190 Mən sol əl üçün gidiyorum Mən hərəkət kimi yalnız Brian yeniləmə 608 00:25:21,190 --> 00:25:23,600 Jason, yoxlanılması doqquz 20-dən az edir? 609 00:25:23,600 --> 00:25:24,060 No 610 00:25:24,060 --> 00:25:25,430 17 20-dən azdır? 611 00:25:25,430 --> 00:25:25,880 No 612 00:25:25,880 --> 00:25:27,450 22 20-dən azdır? 613 00:25:27,450 --> 00:25:28,440 Bəli. 614 00:25:28,440 --> 00:25:34,070 Beləliklə, nə göstəricilərinə və ya əlləri dəyişdirmək lazımdır onlar indi işarə edirik? 615 00:25:34,070 --> 00:25:37,070 >> Beləliklə, biz 20 işarə 17 edə bilərsiniz. 616 00:25:37,070 --> 00:25:37,860 Belə ki, gözəl. 617 00:25:37,860 --> 00:25:40,080 Biz qeyd etmək istəyirik Sizin pointer indi? 618 00:25:40,080 --> 00:25:41,330 22. 619 00:25:41,330 --> 00:25:45,410 22 Harada və yenə, thanks bilirik mənim müvəqqəti göstərici üçün. 620 00:25:45,410 --> 00:25:46,760 Beləliklə, biz OK orada istəyirik. 621 00:25:46,760 --> 00:25:49,440 Belə ki, çünki bu müvəqqəti saxlama Mən hər kəs olduğu takip saxlanılır etdik. 622 00:25:49,440 --> 00:25:55,055 İndi siz vizual yerləşir daxil edə bilərsiniz Siz məxsusdur və indi 1, 2, 3, ehtiyac 623 00:25:55,055 --> 00:25:58,410 4, 5, 6, 7, 8, 9 stress top, və alqışlarla bir dəyirmi 624 00:25:58,410 --> 00:25:59,770 Bu uşaqlar, biz bilər. 625 00:25:59,770 --> 00:26:00,410 Qəşəng edilir. 626 00:26:00,410 --> 00:26:05,320 >> [Alqış] 627 00:26:05,320 --> 00:26:06,330 >> HOPARLÖR 1: Yaxşı. 628 00:26:06,330 --> 00:26:09,860 Və ədəd saxlaya bilər mementos kimi kağız. 629 00:26:09,860 --> 00:26:15,930 >> Bütün sağ, belə ki, bir çox var mənə etibar asan ilə vasitəsilə gəzmək 630 00:26:15,930 --> 00:26:17,680 faktiki kodu ilə daha insanlar. 631 00:26:17,680 --> 00:26:22,690 Amma nə bir an tapa bilərsiniz İndi ki, eyni - oh, təşəkkür edirəm. 632 00:26:22,690 --> 00:26:23,630 Təşəkkür edirik - 633 00:26:23,630 --> 00:26:29,360 siz eyni məlumat tapa bilərsiniz ki, strukturu, bir bağlı siyahı əslində bilər 634 00:26:29,360 --> 00:26:33,200 daha bir bina blok kimi istifadə edilə müasir data strukturlar. 635 00:26:33,200 --> 00:26:37,620 >> Və burada da mövzu dərk edir ki, biz tamamilə daha təqdim etdik 636 00:26:37,620 --> 00:26:40,060 yerinə mürəkkəbliyi Bu alqoritm. 637 00:26:40,060 --> 00:26:43,940 Durub, və biz onun vasitəsilə gedib, silinməsi və axtarış, bir az 638 00:26:43,940 --> 00:26:46,660 bu daha mürəkkəb bir sıra idi. 639 00:26:46,660 --> 00:26:48,040 Amma biz bir dinamizm qazanmaq. 640 00:26:48,040 --> 00:26:50,180 Biz adaptiv data structure almaq. 641 00:26:50,180 --> 00:26:54,010 >> Ancaq yenə də, bəzi olan bir qiymət ödəmək əlavə mürəkkəbliyi, həm də 642 00:26:54,010 --> 00:26:54,910 bunu həyata keçirir. 643 00:26:54,910 --> 00:26:56,750 Və biz rasgele erişim imtina edirik. 644 00:26:56,750 --> 00:27:00,450 Və vicdanlı olmaq, bəzi gözəl mövcud deyil slide təmiz Mən sizə verə bilər ki, 645 00:27:00,450 --> 00:27:03,120 burada deyir niyə bağlıdır siyahısı bir sıra daha yaxşıdır. 646 00:27:03,120 --> 00:27:04,100 Və onu buraxın. 647 00:27:04,100 --> 00:27:07,520 Mövzusunda, hətta indi reoccurring Çünki daha belə önümüzdəki həftə edir 648 00:27:07,520 --> 00:27:10,200 mütləq yoxdur ki, doğru cavab. 649 00:27:10,200 --> 00:27:13,830 >> Biz ayrı-ayrı ox niyə bu problem kümeleri üçün dizayn. 650 00:27:13,830 --> 00:27:17,700 Bu, çox kontekstində həssas olacaq Bu məlumatdan istifadə etmək istəyirəm olub 651 00:27:17,700 --> 00:27:21,750 strukturu və ya bir və olacaq baxımından sizə məsələ nə asılıdır 652 00:27:21,750 --> 00:27:24,620 resursları və mürəkkəblik. 653 00:27:24,620 --> 00:27:28,830 >> Amma mənə təklif edək ki, ideal data strukturu, müqəddəs grail olacağını 654 00:27:28,830 --> 00:27:32,200 daimi vaxt ki, bir şey, asılı olmayaraq, çox şeylər necə 655 00:27:32,200 --> 00:27:36,940 bu, daxili, gözəl ola bilməz ki, bir halda data structure cavab döndü 656 00:27:36,940 --> 00:27:37,920 daimi vaxt. 657 00:27:37,920 --> 00:27:38,330 Bəli. 658 00:27:38,330 --> 00:27:40,110 Bu söz üçün böyük lüğət edir. 659 00:27:40,110 --> 00:27:41,550 Və ya heç bu söz deyil. 660 00:27:41,550 --> 00:27:43,270 Yoxsa, hər hansı bu cür problem. 661 00:27:43,270 --> 00:27:46,360 Yaxşı görək biz ən azı əgər ki, doğru bir addım atmaq. 662 00:27:46,360 --> 00:27:50,190 >> Mənə bir yeni məlumatlar strukturu təklif edək ki, müxtəlif şeylər üçün istifadə edilə bilər, 663 00:27:50,190 --> 00:27:52,260 Bu halda bir hash masa çağırıb. 664 00:27:52,260 --> 00:27:55,590 Və belə ki, biz salan geri həqiqətən istəyirik bir bu halda dizi,, və 665 00:27:55,590 --> 00:28:00,550 qədər özbaşına, bu tərtib etdik bir növ ilə bir sıra kimi hash table 666 00:28:00,550 --> 00:28:02,810 iki ölçülü Array - 667 00:28:02,810 --> 00:28:05,410 daha doğrusu bir iki burada təsvir var ölçülü Array - ancaq bu yalnız 668 00:28:05,410 --> 00:28:10,770 Belə ölçüsü 26 bir sıra ki, əgər biz serialın masa, masa bracket zəng 669 00:28:10,770 --> 00:28:12,440 sıfır üst düzbucaqlı edir. 670 00:28:12,440 --> 00:28:15,090 Cədvəl bracket 25 düzbucaqlı edir alt. 671 00:28:15,090 --> 00:28:18,620 Bu Mən data çəkmək bilər necə Mən saxlamaq istədiyiniz strukturu 672 00:28:18,620 --> 00:28:19,790 insanların adları. 673 00:28:19,790 --> 00:28:24,370 >> Belə ki, məsələn, mən də cəlb edəcək burada hava haqqında bütün şey, əgər mən 674 00:28:24,370 --> 00:28:29,160 İndi gedirəm bu array var idi, bir hash masa zəng və bu, yenə 675 00:28:29,160 --> 00:28:31,360 yeri sıfır. 676 00:28:31,360 --> 00:28:34,840 Burada yeri, bir, və s. 677 00:28:34,840 --> 00:28:37,880 Mən bu məlumatdan istifadə etmək istəyirəm ki, iddia strukturu, müzakirə naminə, 678 00:28:37,880 --> 00:28:42,600 insanların adları saxlamaq üçün, Alice və Bob və Charlie və digər bu kimi adlar. 679 00:28:42,600 --> 00:28:46,110 Belə ki, başlanğıclar kimi indi bu hesab Bir lüğət, demək ki, 680 00:28:46,110 --> 00:28:47,520 sözləri çox. 681 00:28:47,520 --> 00:28:49,435 Onlar adları nə Burada nümunə. 682 00:28:49,435 --> 00:28:52,560 Və bu, bəlkə də, bütün çox ilgili edir biz, bir yazım checker həyata 683 00:28:52,560 --> 00:28:54,400 problem üçün altı müəyyən edə bilər. 684 00:28:54,400 --> 00:28:59,300 >> Biz ümumi ölçüsü 26 bir sıra var Belə ki, əgər Bu 25-ci yeri, belə ki, 685 00:28:59,300 --> 00:29:03,390 alt və mən Alice olduğunu iddia lüğətini ilk sözü 686 00:29:03,390 --> 00:29:07,260 Mən RAM daxil istəyirəm ki, adları, Bu data strukturu, harada var 687 00:29:07,260 --> 00:29:12,480 belirten instinktlərdən ki, Alice adı bu sıra getmək lazımdır? 688 00:29:12,480 --> 00:29:13,510 >> Biz 26 variantları var. 689 00:29:13,510 --> 00:29:14,990 Biz öz qoymaq istəyirik harada? 690 00:29:14,990 --> 00:29:16,200 Biz bracket sıfır onun istəyirsiniz mi? 691 00:29:16,200 --> 00:29:18,280 Alice üçün, ki, sıfır zəng edək. 692 00:29:18,280 --> 00:29:20,110 Və b biri olacaq və C iki olacaq. 693 00:29:20,110 --> 00:29:22,600 Beləliklə, biz yazmaq olacaq Burada Alice adı up. 694 00:29:22,600 --> 00:29:24,890 Sonra Bob onun daxil edin adı burada gedəcək. 695 00:29:24,890 --> 00:29:27,280 Charlie burada gedəcək. 696 00:29:27,280 --> 00:29:30,500 Və s down vasitəsilə Bu data quruluşu. 697 00:29:30,500 --> 00:29:32,090 >> Bu gözəl data strukturu. 698 00:29:32,090 --> 00:29:32,730 Niyə? 699 00:29:32,730 --> 00:29:37,460 Quyunun çalışan zaman nə bu bir insan adı daxil 700 00:29:37,460 --> 00:29:39,850 İndi data structure? 701 00:29:39,850 --> 00:29:43,702 Bu cədvəldə həyata keçirilir olduğunu nəzərə alaraq, həqiqətən, bir sıra kimi. 702 00:29:43,702 --> 00:29:44,940 Yaxşı daimi vaxt var. 703 00:29:44,940 --> 00:29:45,800 Bu, bir qaydası var. 704 00:29:45,800 --> 00:29:46,360 Niyə? 705 00:29:46,360 --> 00:29:48,630 >> Yaxşı necə müəyyən edirsiniz Alice aid olduğu? 706 00:29:48,630 --> 00:29:51,000 Siz onun adı olan məktub baxmaq? 707 00:29:51,000 --> 00:29:51,490 İlk. 708 00:29:51,490 --> 00:29:54,350 Bir string varsa və siz orada əldə edə bilərsiniz yalnız simli baxaraq 709 00:29:54,350 --> 00:29:55,200 bracket sıfır. 710 00:29:55,200 --> 00:29:57,110 Ki, simli zeroth xarakteri belə. 711 00:29:57,110 --> 00:29:57,610 Bu çox asandır. 712 00:29:57,610 --> 00:30:00,350 Biz gizli ki, etdi təyin həftə əvvəl. 713 00:30:00,350 --> 00:30:05,310 Və sonra bir dəfə ki, Alice bilirik məktub kapital, biz çıxmaq bilər 714 00:30:05,310 --> 00:30:08,160 65 və ya kapital A özü, off ki, sıfır verir. 715 00:30:08,160 --> 00:30:10,940 Beləliklə, biz indi Alice məxsusdur bilirik ki, yeri sıfır. 716 00:30:10,940 --> 00:30:14,240 >> Bu data göstərici verilir strukturu, bir növ, nə qədər görür 717 00:30:14,240 --> 00:30:18,840 o yeri tapmaq üçün mənə almaq bir sıra sıfıra? 718 00:30:18,840 --> 00:30:22,080 Yalnız bir addım, doğru daimi vaxt təsadüfi giriş çünki biz 719 00:30:22,080 --> 00:30:23,780 Təklif olunan bir sıra bir xüsusiyyət idi. 720 00:30:23,780 --> 00:30:28,570 Belə ki, qısa, figuring nə indeksi ALICE adını, olan deyil 721 00:30:28,570 --> 00:30:32,610 Bu halda, A, və ya edək yalnız həll sıfır olduğu B biridir və C ki, 722 00:30:32,610 --> 00:30:34,900 iki ki, figuring daimi dəfə. 723 00:30:34,900 --> 00:30:38,510 Mən yalnız onun ilk məktub baxmalıyıq sıfır olduğu figuring bir 724 00:30:38,510 --> 00:30:40,460 array də daimi dəfə. 725 00:30:40,460 --> 00:30:42,140 Belə ki, texniki var İndi iki addımlar kimi. 726 00:30:42,140 --> 00:30:43,330 Amma hələ də daimi deyil. 727 00:30:43,330 --> 00:30:46,880 Beləliklə, biz bir böyük O zəng ki, biz var Bu cədvəl daxil Alice daxil 728 00:30:46,880 --> 00:30:48,440 daimi vaxt. 729 00:30:48,440 --> 00:30:50,960 >> Amma əlbəttə, mən olan alıram burada sadəlövh, sağ? 730 00:30:50,960 --> 00:30:53,240 Nə sinif bir Aaron var əgər? 731 00:30:53,240 --> 00:30:53,990 Və ya Alicia? 732 00:30:53,990 --> 00:30:57,230 Və ya hər hansı digər adları ilə başlayan A. Biz qoymaq üçün gedir 733 00:30:57,230 --> 00:31:00,800 həmin şəxs, sağ? 734 00:31:00,800 --> 00:31:03,420 Mən demək, hazırda yalnız üç var masa insanlar, belə ki, bəlkə biz 735 00:31:03,420 --> 00:31:07,490 yer Aaron qoymalıdır sıfır bir iki üç. 736 00:31:07,490 --> 00:31:09,480 >> Sağ, burada A qoymaq bilər. 737 00:31:09,480 --> 00:31:13,350 Lakin sonra, biz daxil David əlavə etmək üçün cəhd edin Bu siyahıda, David nereye gidiyor? 738 00:31:13,350 --> 00:31:15,170 İndi bizim sistem qırılma başlayır aşağı, sağ? 739 00:31:15,170 --> 00:31:19,210 İndi David burada bitir Çünki Aaron burada əslində əgər. 740 00:31:19,210 --> 00:31:23,060 Malik və artıq bu bütün fikir bizə verir ki, təmiz data structure 741 00:31:23,060 --> 00:31:28,010 daimi vaxt insertions artıq Mən çünki daimi vaxt, 742 00:31:28,010 --> 00:31:31,240 yoxlamaq, oh, damnit, kimsə artıq var Alice in yerdə. 743 00:31:31,240 --> 00:31:35,320 >> Mənə Bu data qalan sonda edək strukturu, qoymaq üçün bir ləkə axtarır 744 00:31:35,320 --> 00:31:37,130 Harunun adı kimi kimsə. 745 00:31:37,130 --> 00:31:39,390 Və buna görə də başlayır ki, xətti vaxt. 746 00:31:39,390 --> 00:31:42,710 Bundan əlavə, indi tapmaq istəyirsinizsə, Bu data tərkibində Harun və siz 747 00:31:42,710 --> 00:31:45,430 yoxlamaq və Harunun adı burada deyil. 748 00:31:45,430 --> 00:31:47,960 İdeal halda, yalnız Harunun deyərdim deyil data strukturunda. 749 00:31:47,960 --> 00:31:51,530 Amma əgər üçün otaq edilməsi başlamaq Harun bir D olmalı idi 750 00:31:51,530 --> 00:31:55,600 və ya E, siz, ən pis halda, yoxlamaq üçün olan bütün məlumat strukturu, 751 00:31:55,600 --> 00:31:59,480 bir şey daxil devolves bu halda masanın ölçüsü xətti. 752 00:31:59,480 --> 00:32:00,920 >> Bütün sağ Belə ki, mən bu düzeltmek lazımdır. 753 00:32:00,920 --> 00:32:04,200 Burada problem var idi ki, Bu array 26 elementləri. 754 00:32:04,200 --> 00:32:05,000 Mənə dəyişdirmək edək. 755 00:32:05,000 --> 00:32:06,010 Whoops. 756 00:32:06,010 --> 00:32:10,600 Daha çox olan, belə ki, mənə dəyişdirmək imkan cəmi ölçüsü 26, alt qeyd 757 00:32:10,600 --> 00:32:12,720 index n mənfi 1 dəyişdirmək üçün gedir. 758 00:32:12,720 --> 00:32:16,610 26 insanların üçün aydın çox kiçik deyil adları, çünki minlərlə var 759 00:32:16,610 --> 00:32:20,830 Dünyanın adları, ədalətli edək 100 və ya 1000 və ya 10,000 edir. 760 00:32:20,830 --> 00:32:22,960 Ədalətli bir çox yer ayırmağa edək. 761 00:32:22,960 --> 00:32:27,230 >> Yaxşı mütləq azaltmaq deyil ki, iki olmayacaq ehtimalı 762 00:32:27,230 --> 00:32:31,510 adları ilə insanlar ilə başlayan və belə ki, siz qoymaq üçün cəhd gedirdi 763 00:32:31,510 --> 00:32:33,120 hələ yeri sıfır adları. 764 00:32:33,120 --> 00:32:36,850 Onlar hələ toqquşmaq olacaq olan biz hələ qoymaq üçün bir həll lazımdır deməkdir 765 00:32:36,850 --> 00:32:41,020 Alice və Harunun və Alicia və digər A başqa yerdə ilə başlayan adlar. 766 00:32:41,020 --> 00:32:43,460 Amma bu nə qədər problem var? 767 00:32:43,460 --> 00:32:46,870 Ehtimalı nədir ki, bir məlumatları toqquşma var 768 00:32:46,870 --> 00:32:48,240 bu kimi strukturu? 769 00:32:48,240 --> 00:32:52,570 >> Yaxşı, mənə bildirin - biz geri gəlmək lazımdır Burada sual. 770 00:32:52,570 --> 00:32:55,530 Və necə ola bilər baxmaq ilk həll edir. 771 00:32:55,530 --> 00:32:58,480 Məni bura bu təklifi qoparmaq edək. 772 00:32:58,480 --> 00:33:02,020 Biz yalnız təsvir bir alqoritmi belədir xətti adlı bir Heuristic 773 00:33:02,020 --> 00:33:05,030 Siz daxil cəhd əgər vasitəsi probing Bu data burada bir şey 774 00:33:05,030 --> 00:33:08,920 bir hash masa adlanan strukturu, və heç bir otaq var var 775 00:33:08,920 --> 00:33:12,000 həqiqətən data structure sonda yoxlanılması, bu mümkündür? 776 00:33:12,000 --> 00:33:13,430 Bu mövcud bu mümkün mü? 777 00:33:13,430 --> 00:33:13,980 Bu mövcud? 778 00:33:13,980 --> 00:33:17,550 Və nəhayət olduqda, siz daxil siz ilk nəzərdə ki, adı 779 00:33:17,550 --> 00:33:19,370 başqa yerdə ki, yer. 780 00:33:19,370 --> 00:33:23,360 Amma pis halda, yalnız spot məlumatların çox aşağı ola bilər 781 00:33:23,360 --> 00:33:25,090 strukturu, serialın çox sonunda. 782 00:33:25,090 --> 00:33:30,130 >> Belə ki, xətti, ən pis halda, probing, xətti alqoritm daxil devolves yerləşir 783 00:33:30,130 --> 00:33:34,500 Aaron, keçən daxil edilməlidir olur Bu data strukturu, o, güc 784 00:33:34,500 --> 00:33:39,540 Bu ilk yeri ilə toqquşmaq, lakin sonra çox sonunda pis luck ilə başa. 785 00:33:39,540 --> 00:33:43,940 Beləliklə, bu daimi deyil bizim üçün vaxt müqəddəs grail. 786 00:33:43,940 --> 00:33:47,650 Daxil elementlərinin Bu yanaşma nəzərə məlumat strukturu hash çağırıb 787 00:33:47,650 --> 00:33:52,050 masa daimi dəfə görünmür ən azı ümumi halda. 788 00:33:52,050 --> 00:33:54,000 Bu xətti bir şey qalmaq bilər. 789 00:33:54,000 --> 00:33:56,970 >> Biz toqquşma həll Yaxşı, əgər qədər fərqli? 790 00:33:56,970 --> 00:34:00,740 Belə ki, burada daha təcrübəli var hələ nə müraciət 791 00:34:00,740 --> 00:34:02,800 bir hash masa çağırıb. 792 00:34:02,800 --> 00:34:05,890 Və hash ilə bir kənara, nə kimi Hesab edirəm ki, index demək 793 00:34:05,890 --> 00:34:07,070 Mən əvvəllər edilir. 794 00:34:07,070 --> 00:34:09,810 Etmək üçün hash bir şey ola bilər bir verb kimi düşündüm. 795 00:34:09,810 --> 00:34:13,690 >> Əgər hash Alice bir adı var Belə ki, bir hash funksiyası, belə danışmaq, 796 00:34:13,690 --> 00:34:14,710 bir sıra qaytarmalıdır. 797 00:34:14,710 --> 00:34:18,199 O da məxsusdur Bu halda əgər sıfır o da aiddir, əgər yeri sıfır, bir 798 00:34:18,199 --> 00:34:20,000 yeri bir, və s. 799 00:34:20,000 --> 00:34:24,360 Belə ki, mənim hash funksiyası belə uzaq olub super sadə, yalnız baxaraq 800 00:34:24,360 --> 00:34:26,159 Birinin adı ilk məktubu. 801 00:34:26,159 --> 00:34:29,090 Amma hash funksiyası kimi görür input data bir parça, bir 802 00:34:29,090 --> 00:34:30,210 simli, bir int, nə. 803 00:34:30,210 --> 00:34:32,239 Və adətən bir sıra spits. 804 00:34:32,239 --> 00:34:35,739 Və ki sayı olduğu məlumatlar element data structure məxsusdur 805 00:34:35,739 --> 00:34:37,800 bir hash masa kimi burada bilinir. 806 00:34:37,800 --> 00:34:41,400 >> Belə ki, yalnız daxilən, bu, az fərqli kontekstində. 807 00:34:41,400 --> 00:34:44,170 Bu əslində bir nümunə istinad cəlb ad günü olduğu 808 00:34:44,170 --> 00:34:46,850 kimi bir çox ola bilər Ay 31 gün. 809 00:34:46,850 --> 00:34:52,239 Lakin bu şəxs nə qərar verdiniz bir toqquşma halında nə? 810 00:34:52,239 --> 00:34:55,304 Context indi bir toqquşma olmayan adları, lakin ad günləri toqquşma, 811 00:34:55,304 --> 00:35:00,760 iki nəfər eyni ad varsa Məsələn oktyabr 2-ci. 812 00:35:00,760 --> 00:35:02,120 >> TƏLƏBƏ: [işitilemez]. 813 00:35:02,120 --> 00:35:05,010 >> HOPARLÖR 1: Bəli, belə ki, burada biz bağlı siyahılarının yararlanarak. 814 00:35:05,010 --> 00:35:07,830 Belə ki, fərqli bir az görünür biz əvvəllər cəlb edir. 815 00:35:07,830 --> 00:35:10,790 Amma biz bir sıra üçün görünür sol tərəfində. 816 00:35:10,790 --> 00:35:13,230 Bu heç, bir index var xüsusi səbəb. 817 00:35:13,230 --> 00:35:14,630 Amma hələ bir sıra var. 818 00:35:14,630 --> 00:35:16,160 Bu göstəricilər bir sıra var. 819 00:35:16,160 --> 00:35:20,670 Və hər bir bu elementlərin hər biri Bu dairələr və ya slashes - Bu çizgi 820 00:35:20,670 --> 00:35:23,970 təmsil null - bu hər göstəricilərinə yəqin işarə edir 821 00:35:23,970 --> 00:35:25,730 nə data structure? 822 00:35:25,730 --> 00:35:26,890 A bağlıdır siyahısı. 823 00:35:26,890 --> 00:35:30,530 >> Belə ki, indi biz imkanı var bizim proqram ağır kodu 824 00:35:30,530 --> 00:35:32,010 Tablonun ölçüsü. 825 00:35:32,010 --> 00:35:35,360 Bu halda, biz heç vaxt olduğunu bilirik bir ay çox 31 gün. 826 00:35:35,360 --> 00:35:38,480 Belə ağır 31 kimi bir dəyəri coding Bu kontekstdə müvafiq. 827 00:35:38,480 --> 00:35:42,700 Adları kontekstində, ağır kodlaşdırma 26 əsassız deyil insanların 828 00:35:42,700 --> 00:35:46,340 adları yalnız, məsələn, ilə başlamaq Z. vasitəsilə cəlb əlifbası 829 00:35:46,340 --> 00:35:50,180 >> Biz ki, data onları bütün CRAM bilər strukturu belə uzun biz zaman kimi 830 00:35:50,180 --> 00:35:55,330 toqquşma, biz burada adları qoymaq deyil, yerine bu hüceyrələr hesab 831 00:35:55,330 --> 00:36:00,270 deyil strings özləri, lakin kimi Məsələn, Alice göstəricilərinə. 832 00:36:00,270 --> 00:36:03,660 Və sonra Alice başqa bir pointer ola bilər ilə başlayan başqa adı 833 00:36:03,660 --> 00:36:06,150 A. Və Bob həqiqətən burada üzərində gedir. 834 00:36:06,150 --> 00:36:10,850 >> Və başlanğıc başqa bir ad var, əgər B ilə, o burada bitər. 835 00:36:10,850 --> 00:36:15,070 Və belə bu elementlərin hər birindən biz bu nəzərdə əgər masa iki, 836 00:36:15,070 --> 00:36:17,350 az daha ağıllı - 837 00:36:17,350 --> 00:36:18,125 gəlib - 838 00:36:18,125 --> 00:36:22,950 Biz bu bir az daha nəzərdə əgər ağılla, indi bir adaptiv data çevrilir 839 00:36:22,950 --> 00:36:27,720 heç bir ağır limit var olduğu quruluşu, Siz əlavə edə bilərsiniz neçə elementləri 840 00:36:27,720 --> 00:36:30,700 onu Əgər çünki bir toqquşma ki, gözəl. 841 00:36:30,700 --> 00:36:34,690 Yalnız irəli getmək və ona əlavə biz idi bir az əvvəl gördüyüm 842 00:36:34,690 --> 00:36:38,290 bir bağlı siyahı kimi tanınır. 843 00:36:38,290 --> 00:36:39,690 >> Yaxşı, yalnız bir an nin fasilə edək. 844 00:36:39,690 --> 00:36:42,570 Bir toqquşma ehtimalı nədir ilk növbədə? 845 00:36:42,570 --> 00:36:45,480 Sağ, bəlkə artıq, bəlkə düşünür alıram Mən bu problem Engineering artıq Ben 846 00:36:45,480 --> 00:36:46,370 nə bilirlər? 847 00:36:46,370 --> 00:36:49,070 Bəli, mən özbaşına ilə gəlmək olar kimi mənim baş üst off nümunələri 848 00:36:49,070 --> 00:36:52,870 Allison və Harun, lakin əslində, vahid paylanması verilmişdir 849 00:36:52,870 --> 00:36:56,990 bəzi təsadüfi insertions ki, giriş, məlumat strukturu, həqiqətən nə 850 00:36:56,990 --> 00:36:58,580 bir toqquşma ehtimalının? 851 00:36:58,580 --> 00:37:01,670 Yaxşı çıxır, bu, həqiqətən var super yüksək. 852 00:37:01,670 --> 00:37:03,850 Bu mənə ümumiləşdirmək edək problem bu deyil. 853 00:37:03,850 --> 00:37:08,890 >> Belə n bir otaqda CS50 tələbələr, var ehtimal ki, ən azı 854 00:37:08,890 --> 00:37:11,010 otaqda iki tələbə eyni ad var? 855 00:37:11,010 --> 00:37:13,346 Belə ki, nə var. bir neçə Hund - 856 00:37:13,346 --> 00:37:16,790 Burada bir neçə 200, 300 nəfər Bu gün evdə yüz nəfər. 857 00:37:16,790 --> 00:37:20,670 Siz nə özümüzü soruşmaq istəyirdi Belə ki, əgər iki nəfər ehtimalı 858 00:37:20,670 --> 00:37:23,930 eyni ad günü olan bu otaqda, biz bu anlamaq bilər. 859 00:37:23,930 --> 00:37:26,250 Və mən iki var həqiqətən iddia eyni ad günü insanlar. 860 00:37:26,250 --> 00:37:29,560 >> Məsələn, hər kəs edir Bu gün ad günü var? 861 00:37:29,560 --> 00:37:31,340 Dünən? 862 00:37:31,340 --> 00:37:32,590 Sabah? 863 00:37:32,590 --> 00:37:35,980 Gedirəm kimi bütün hüququ, belə ki, hiss daha bu 363 və ya bunu etmək 864 00:37:35,980 --> 00:37:39,500 dəfə həqiqətən anlamaq üçün biz bir toqquşma var. 865 00:37:39,500 --> 00:37:42,350 Və ya biz yalnız riyazi bunu edə bilər daha maraqsız çox 866 00:37:42,350 --> 00:37:43,200 bunu. 867 00:37:43,200 --> 00:37:44,500 Və aşağıdakı təklif edirik. 868 00:37:44,500 --> 00:37:48,740 >> Ona görə də mən, biz model ola bilər ki, təklif Əyalətin iki nəfər ehtimalı 869 00:37:48,740 --> 00:37:55,320 1 ehtimalı eyni ad günü olan heç bir mənfi ehtimalı 870 00:37:55,320 --> 00:37:56,290 eyni ad. 871 00:37:56,290 --> 00:37:59,960 Belə ki, bu almaq üçün və bu yalnız edir üçün Bu yazı xülya yolu, 872 00:37:59,960 --> 00:38:03,090 oda ilk şəxs, o, mümkün hər hansı bir ola bilər 873 00:38:03,090 --> 00:38:07,370 ad günləri, ildə 365 gün hərfinin şəxslər üçün üzr ilə 874 00:38:07,370 --> 00:38:08,760 Fevral 29 doğum günüdür. 875 00:38:08,760 --> 00:38:13,470 >> Belə ki, bu otaq ilk adam pulsuz Ad günləri hər hansı bir sayı üçün 876 00:38:13,470 --> 00:38:18,280 həyata 365 imkanlarının ki, biz, 365 ilə 365 ayırmış edəcəyik 877 00:38:18,280 --> 00:38:18,990 olan biridir. 878 00:38:18,990 --> 00:38:22,700 Oda növbəti şəxs, əgər məqsəd bir toqquşma qarşısını almaq üçün, yalnız 879 00:38:22,700 --> 00:38:26,460 necə onun ad günü var çox müxtəlif mümkün gün? 880 00:38:26,460 --> 00:38:27,610 364. 881 00:38:27,610 --> 00:38:31,430 Belə ki, bu ifadə ikinci dövr mahiyyətcə bizim üçün ki, riyaziyyat bunu 882 00:38:31,430 --> 00:38:33,460 bir mümkün günü çıxarılaraq. 883 00:38:33,460 --> 00:38:36,390 Və sonra növbəti gün, növbəti gün, aşağı ümumi sayına Növbəti gün 884 00:38:36,390 --> 00:38:38,100 oda insanların. 885 00:38:38,100 --> 00:38:41,290 >> Və biz sonra nəzərə alsaq, onda nə olmayan hər kəs ehtimalı 886 00:38:41,290 --> 00:38:45,265 unikal ad günləri, lakin yenə 1 minus ki, biz əldə ifadə 887 00:38:45,265 --> 00:38:47,810 çox fancifully bilər bu kimi görünür. 888 00:38:47,810 --> 00:38:50,330 Amma daha maraqlı var vizual baxmaq. 889 00:38:50,330 --> 00:38:55,120 Bu x-ox üzrə olduğu bir chart edir oda insanların sayı, 890 00:38:55,120 --> 00:38:56,180 Ad günləri sayı. 891 00:38:56,180 --> 00:38:59,840 Y-ox üzrə ehtimalı bir vuruşma, iki nəfər 892 00:38:59,840 --> 00:39:01,230 eyni ad günü olan. 893 00:39:01,230 --> 00:39:05,020 >> Bu əyri olan paket edir ki, siz 40 kimi almaq kimi tezliklə 894 00:39:05,020 --> 00:39:11,110 tələbələr, siz 90% ehtimal da hazır combinatorically iki 895 00:39:11,110 --> 00:39:13,550 insanların və ya daha çox olan eyni ad. 896 00:39:13,550 --> 00:39:18,600 Və sonra bu 58 adam kimi almaq bir şans iki təxminən 100% 897 00:39:18,600 --> 00:39:21,310 oda insanlar üçün gedir eyni ad var olsa belə, 898 00:39:21,310 --> 00:39:26,650 365 və ya 366 mümkün buketler və otaqda yalnız 58 nəfər. 899 00:39:26,650 --> 00:39:29,900 Yalnız statistik siz güman etdiyiniz , toqquşma almaq qısa 900 00:39:29,900 --> 00:39:31,810 Bu müzakirə motive. 901 00:39:31,810 --> 00:39:35,890 Biz burada xülya almaq, hətta ki, əgər Bu zəncirlər olan başlamaq, biz hələ istəyirik 902 00:39:35,890 --> 00:39:36,950 toqquşma edəcəyik. 903 00:39:36,950 --> 00:39:42,710 >> Sualına begs Belə ki, nə edir insertions ve silme bunu dəyəri 904 00:39:42,710 --> 00:39:44,850 bu kimi bir veri strukturu? 905 00:39:44,850 --> 00:39:46,630 Yaxşı mənə təklif edək - 906 00:39:46,630 --> 00:39:51,570 və mənə üzərində ekrana geri gidelim burada - biz elementlərinin N əgər 907 00:39:51,570 --> 00:39:56,330 siyahısı, biz daxil çalışdığınız əgər n elementləri, və biz 908 00:39:56,330 --> 00:39:58,050 neçə ümumi buketler? 909 00:39:58,050 --> 00:40:03,450 Gəlin 31 cəmi buketler Cavab Ad günləri halda. 910 00:40:03,450 --> 00:40:09,240 Bir maksimum uzunluğu nədir potensial bu zəncirlər? 911 00:40:09,240 --> 00:40:12,670 >> Daha mümkün 31 varsa müəyyən bir ayda ad günü. 912 00:40:12,670 --> 00:40:14,580 Və biz yalnız hər kəs clumping edirik - 913 00:40:14,580 --> 00:40:15,580 əslində bir axmaq nümunə var. 914 00:40:15,580 --> 00:40:16,960 Əvəzinə 26 etmək edək. 915 00:40:16,960 --> 00:40:20,890 Həqiqətən adları adam var Belə ki, əgər bununla verilməsi, Z vasitəsilə başlamaq 916 00:40:20,890 --> 00:40:22,780 Bizi 26 imkanları. 917 00:40:22,780 --> 00:40:25,920 Və biz kimi bir veri strukturu istifadə etdiyiniz biz qovuşdurmağımız biz yalnız gördüm bir, 918 00:40:25,920 --> 00:40:30,210 göstəricilərinə bir sıra, o cümlədən hər bir burada bir bağlı siyahısına bal 919 00:40:30,210 --> 00:40:32,360 ilk siyahısı hər kəs adı Alice ilə. 920 00:40:32,360 --> 00:40:35,770 İkinci siyahı hər ilə başlayaraq, A ilə başlayan ad 921 00:40:35,770 --> 00:40:36,980 B, və s. 922 00:40:36,980 --> 00:40:41,020 >> Hər ehtimal uzunluğu nədir həmin siyahıların biz gözəl təmiz fərz əgər 923 00:40:41,020 --> 00:40:45,410 A-dan Z vasitəsilə adları bölüşdürülməsi bütün data structure arasında? 924 00:40:45,410 --> 00:40:50,210 Veri strukturu n insanlar var onlar qəşəng istəyirsinizsə, 26 bölünür 925 00:40:50,210 --> 00:40:52,110 bütün üzərində yayılmışdır data structure. 926 00:40:52,110 --> 00:40:54,970 Belə ki, bu hər birinin uzunluğu zəncirlər 26 bölünür n. 927 00:40:54,970 --> 00:40:57,380 Lakin böyük O notation ki, nədir? 928 00:40:57,380 --> 00:41:00,100 929 00:41:00,100 --> 00:41:02,440 Həqiqətən nədir? 930 00:41:02,440 --> 00:41:04,150 Belə ki, sağ, həqiqətən yalnız n var? 931 00:41:04,150 --> 00:41:06,620 Biz keçmişdə deyib sonra Çünki, uf siz 26 bölmək ki. 932 00:41:06,620 --> 00:41:08,710 Bəli, əslində daha sürətli edir. 933 00:41:08,710 --> 00:41:12,720 Lakin nəzəriyyəsi, o, əsaslı deyil bütün sürətli. 934 00:41:12,720 --> 00:41:16,040 >> Belə ki, biz bütün ki, çox ola görünmüyor yaxın bu müqəddəs grail üçün. 935 00:41:16,040 --> 00:41:17,750 Əslində, bu, yalnız xətti dəfə. 936 00:41:17,750 --> 00:41:20,790 Heck, bu nöqtədə, nə biz bunu yalnız bir böyük bağlı siyahısını istifadə edin? 937 00:41:20,790 --> 00:41:23,510 Niyə biz bir böyük istifadə etməyin adları saxlamaq üçün array 938 00:41:23,510 --> 00:41:25,010 otaqda hər kəs? 939 00:41:25,010 --> 00:41:28,280 Yaxşı, bir şey hələ də var bir hash masa haqqında çekici? 940 00:41:28,280 --> 00:41:30,810 Çekici bir şey hələ də məlumat strukturu haqqında 941 00:41:30,810 --> 00:41:33,940 bu kimi görünür? 942 00:41:33,940 --> 00:41:35,182 Bu. 943 00:41:35,182 --> 00:41:37,050 >> TƏLƏBƏ: [işitilemez]. 944 00:41:37,050 --> 00:41:39,840 >> HOPARLÖR 1: yalnız hüququ və yenə əgər xətti vaxt alqoritm və 945 00:41:39,840 --> 00:41:42,780 xətti vaxt data strukturu, nə deyil yalnız böyük hər kəsin adı saxlamaq 946 00:41:42,780 --> 00:41:44,210 dizi, və ya böyük bağlı siyahıda? 947 00:41:44,210 --> 00:41:47,010 Və belə çox çətindir CS edilməsi dayandırmaq bu olmalıdır çox? 948 00:41:47,010 --> 00:41:49,600 949 00:41:49,600 --> 00:41:53,190 Hətta bu barədə çekici nədir Mən onu cızıqlanmış baxmayaraq? 950 00:41:53,190 --> 00:41:54,930 >> TƏLƏBƏ: [işitilemez]. 951 00:41:54,930 --> 00:41:57,040 >> HOPARLÖR 1: Insertions deyil? 952 00:41:57,040 --> 00:41:58,140 Artıq bahalı. 953 00:41:58,140 --> 00:42:03,390 Belə ki, insertions potensial hələ ola bilər , daimi vaxt ola bile data 954 00:42:03,390 --> 00:42:07,910 struktur, bu kimi bir sıra görünür göstəricilər də işarə edir hər biri 955 00:42:07,910 --> 00:42:09,550 potensial bağlı siyahısı. 956 00:42:09,550 --> 00:42:15,220 Necə sabit nail adları vaxtı durub? 957 00:42:15,220 --> 00:42:16,280 Sağ, qarşısında qalmaq? 958 00:42:16,280 --> 00:42:19,290 >> Biz bir dizayn qol qurban edin əvvəllər, biz saxlamaq istəyirdi yerləşir 959 00:42:19,290 --> 00:42:22,650 hər kəsin adı, məsələn, sorted, və ya səhnədə ədəd bütün sıralanır 960 00:42:22,650 --> 00:42:25,020 biz ki, güman çeşidlənməmiş bağlı siyahısı. 961 00:42:25,020 --> 00:42:29,960 Bu, yalnız, bizə bir-iki addım xərcləri Ben və Brian halda olduğu kimi 962 00:42:29,960 --> 00:42:32,750 əvvəllər bir element əlavə etmək üçün siyahının başında. 963 00:42:32,750 --> 00:42:36,090 Biz bütün çeşidlənməsi haqqında qayğı yoxdur Belə ki, əgər ilə başlayan adlar A və ya bütün 964 00:42:36,090 --> 00:42:39,660 B ilə başlayan adlar, biz hələ də bilər daimi vaxt durub nail olmaq. 965 00:42:39,660 --> 00:42:43,900 İndi Alice ya Bob və ya hər hansı bir ad ararken ümumiyyətlə hələ nədir? 966 00:42:43,900 --> 00:42:48,100 Bu 26 bölünür n böyük O, var hər kəs bərabər olduğu ideal halda 967 00:42:48,100 --> 00:42:51,190 paylanmış, kimi bir çox A var olduğu Z-nin, yəqin olan var 968 00:42:51,190 --> 00:42:52,220 qeyri-real. 969 00:42:52,220 --> 00:42:53,880 Amma hələ xətti var. 970 00:42:53,880 --> 00:42:57,120 >> Amma burada, biz nöqtəsinə geri gəlmək olan asimptotik notation və 971 00:42:57,120 --> 00:42:58,600 nəzəri doğrudur. 972 00:42:58,600 --> 00:43:02,960 Lakin real dünyada, əgər mən iddia mənim proqram 26 dəfə bir şey edə bilərsiniz 973 00:43:02,960 --> 00:43:06,210 olan proqram sizin, çox daha sürətli istifadə tercih edir? 974 00:43:06,210 --> 00:43:09,660 Sizin və ya mina, hansı 26 dəfə sürətli? 975 00:43:09,660 --> 00:43:14,320 Real, onun şəxs 26 dəfə daha sürətli, hətta nəzəri cəhətdən əgər 976 00:43:14,320 --> 00:43:18,790 bizim alqoritmlər eyni çalışır vaxt çalışan asimptotik. 977 00:43:18,790 --> 00:43:20,940 >> Mənə bir fərqli təklif edək cəmi həlli. 978 00:43:20,940 --> 00:43:24,380 Və bu fikrinizi əsəcək deyilsə, biz data strukturların bitti. 979 00:43:24,380 --> 00:43:27,420 Beləliklə, bu bir trie deyil - 980 00:43:27,420 --> 00:43:28,520 bir axmaq adı cür. 981 00:43:28,520 --> 00:43:32,880 Bu söz alımları gəlir və çünki trie, t-r-i-e, yazıldığına 982 00:43:32,880 --> 00:43:34,450 Əlbəttə axtarış trie kimi səslənir. 983 00:43:34,450 --> 00:43:36,580 Amma bu tarixi sözü trie edir. 984 00:43:36,580 --> 00:43:40,980 >> Belə bir trie, həqiqətən ağac bir növ edir və bu da ki, söz bir oyun var. 985 00:43:40,980 --> 00:43:46,330 Və çox görmək bilməz, baxmayaraq ki, Bu vizual ilə bir trie bir 986 00:43:46,330 --> 00:43:50,790 ağac ilə bir ailə ağac kimi, strukturlaşdırılmış üst və çox bir əcdad 987 00:43:50,790 --> 00:43:54,530 nəvəsi və böyük nəvəsi kimi alt yaradır. 988 00:43:54,530 --> 00:43:58,100 Amma trie hər node bir sıra edir. 989 00:43:58,100 --> 00:44:00,680 Və bir sıra var - və Haydi bir an oversimplify - Bu bir 990 00:44:00,680 --> 00:44:04,600 dizi, bu halda, ölçüsü 26, harada hər node yenidən ölçüsü bir sıra edir 991 00:44:04,600 --> 00:44:09,000 26 olduğu ildə zeroth element array A təmsil və son 992 00:44:09,000 --> 00:44:11,810 hər belə element array Z. təmsil 993 00:44:11,810 --> 00:44:15,520 >> Buna görə, sonra təklif Bu data bir trie kimi tanınan quruluşu, ola bilər 994 00:44:15,520 --> 00:44:17,600 sözləri saxlamaq üçün də istifadə olunur. 995 00:44:17,600 --> 00:44:21,740 Biz saxlamaq necə bir an əvvəl gördüm sözlər, və ya bu halda adlar və biz 996 00:44:21,740 --> 00:44:25,440 , biz nömrələri saxlaya bilərsiniz necə daha əvvəl gördüm ancaq adları və ya strings diqqət əgər 997 00:44:25,440 --> 00:44:27,460 Burada maraqlı nə görürsünüz. 998 00:44:27,460 --> 00:44:32,210 Mən ad Maxwell olduğunu iddia Bu data strukturu daxilində. 999 00:44:32,210 --> 00:44:33,730 Harada Maxwell görürsünüz? 1000 00:44:33,730 --> 00:44:35,140 >> TƏLƏBƏ: [işitilemez]. 1001 00:44:35,140 --> 00:44:36,240 >> HOPARLÖR 1: Sol. 1002 00:44:36,240 --> 00:44:39,910 Belə Bu data maraqlı nə var strukturu deyil, mağaza daha 1003 00:44:39,910 --> 00:44:46,200 string M-A-X-W-E-L-L backslash sıfır, bütün contiguously, yerine nə 1004 00:44:46,200 --> 00:44:46,890 izləyir. 1005 00:44:46,890 --> 00:44:50,510 Bu data strukturu kimi bir trie varsa, olan qovşaqlarının hər birinin yenidən bir sıra edir 1006 00:44:50,510 --> 00:44:54,650 və Maxwell saxlamaq istəyirəm ki, siz ilk index və o qədər kök-nin sözlə, 1007 00:44:54,650 --> 00:44:57,810 , topmost node danışmaq sağ, belə yer M, at 1008 00:44:57,810 --> 00:44:59,160 təxminən ortasına. 1009 00:44:59,160 --> 00:45:03,740 Və oradan, bir edin bir uşaq qovşağına pointer, belə danışmaq. 1010 00:45:03,740 --> 00:45:06,150 Belə ki, ailə ağacının mənada, Siz aşağı bunu edin. 1011 00:45:06,150 --> 00:45:09,030 Və başqa bir node sizə rəhbərlik olan orada sol haqqında 1012 00:45:09,030 --> 00:45:10,540 yalnız bir sıra. 1013 00:45:10,540 --> 00:45:14,710 >> Və sonra, Maksvell saxlamaq istəyirsinizsə, Əgər təmsil göstərici tapmaq 1014 00:45:14,710 --> 00:45:16,430 A, burada bu biridir. 1015 00:45:16,430 --> 00:45:17,840 Sonra növbəti node gedin. 1016 00:45:17,840 --> 00:45:20,100 Və xəbərdarlıq - bu nə şəkil Agentliyi bir az aldatma - 1017 00:45:20,100 --> 00:45:21,990 Bu node kiçik super baxmaq. 1018 00:45:21,990 --> 00:45:26,050 Amma bu hüququ Y və Z. edir Bu, yalnız müəllif kesilir etmişdir oldu 1019 00:45:26,050 --> 00:45:27,630 şəkil ki, həqiqətən, şeyi görürük. 1020 00:45:27,630 --> 00:45:30,400 Əks halda bu şəkil natarazcasına geniş olardı. 1021 00:45:30,400 --> 00:45:36,180 Sonra yeri X daxil Belə ki, indi indeksi, Sonra sonra W, sonra E, L, L. var 1022 00:45:36,180 --> 00:45:37,380 bu marağı? 1023 00:45:37,380 --> 00:45:41,250 >> Yaxşı, biz yeni bu cür kullanıyorsanız bir simli saxlamaq üçün necə götürmək 1024 00:45:41,250 --> 00:45:44,500 data structure, hələ lazımdır mahiyyətcə məlumatlara off yoxlamaq 1025 00:45:44,500 --> 00:45:47,250 Bir sözlə, burada bitir quruluşu. 1026 00:45:47,250 --> 00:45:50,830 Başqa sözlə, bu qovşaqlarının hər birtəhər unutmayın ki, biz 1027 00:45:50,830 --> 00:45:53,500 həqiqətən sonra bu göstəricilər bütün və bir az tərk edir 1028 00:45:53,500 --> 00:45:58,370 Bu burada altındakı çörək qırıntı M-A-X-W-E-L-L göstərir strukturu 1029 00:45:58,370 --> 00:46:00,230 həqiqətən Bu data quruluşu. 1030 00:46:00,230 --> 00:46:02,040 >> Beləliklə, biz aşağıdakı kimi bunu bilər. 1031 00:46:02,040 --> 00:46:06,810 Biz yalnız şəkil qovşaqlarının hər gördüm bir, ölçüsü 27 bir sıra var. 1032 00:46:06,810 --> 00:46:10,550 P altı müəyyən çünki, indi 27 var Biz, həqiqətən, bir Apostrof verəcəyik 1033 00:46:10,550 --> 00:46:13,590 biz O'Reilly kimi adları ola bilər apostrophes və s. 1034 00:46:13,590 --> 00:46:14,820 Amma eyni fikir. 1035 00:46:14,820 --> 00:46:17,710 Ki, həmin elementlərin hər biri bir struct üçün array bal 1036 00:46:17,710 --> 00:46:19,320 node, belə ki, yalnız bir node. 1037 00:46:19,320 --> 00:46:21,430 Belə ki, bu çox xatırladan Bizim bağlı siyahısı. 1038 00:46:21,430 --> 00:46:24,550 >> Və sonra bir Boolean var, I will söz zəng olan yalnız olacaq 1039 00:46:24,550 --> 00:46:29,120 Bir sözlə, bu bitir doğru əgər ağac ilə node. 1040 00:46:29,120 --> 00:46:32,870 Bu səmərəli az təmsil üçbucaq biz bir an əvvəl gördüm. 1041 00:46:32,870 --> 00:46:37,190 Bir söz ki, node başa çatır Belə ki, əgər ağac, söz sahəsində, doğru olacaq 1042 00:46:37,190 --> 00:46:41,990 olan konseptual off yoxlanılması, və ya biz bəli var, bu üçbucaq rəsm edirik 1043 00:46:41,990 --> 00:46:44,080 burada söz. 1044 00:46:44,080 --> 00:46:45,120 >> Belə ki, bu trie edir. 1045 00:46:45,120 --> 00:46:48,540 İndi isə sual nə onun çalışan? 1046 00:46:48,540 --> 00:46:49,930 O n böyük o? 1047 00:46:49,930 --> 00:46:51,410 Başqa bir şey mi? 1048 00:46:51,410 --> 00:46:57,330 Yaxşı, siz Bu data adları N əgər strukturu, Maxwell yalnız biri olan 1049 00:46:57,330 --> 00:47:02,330 onlara da çalışan zaman nə daxil və ya Maxwell tapmaq? 1050 00:47:02,330 --> 00:47:06,230 1051 00:47:06,230 --> 00:47:09,050 Çalışan zaman nədir Maxwell olunsa? 1052 00:47:09,050 --> 00:47:11,740 N başqa adlar varsa artıq cədvəldə? 1053 00:47:11,740 --> 00:47:12,507 Bəli? 1054 00:47:12,507 --> 00:47:15,429 >> TƏLƏBƏ: [işitilemez]. 1055 00:47:15,429 --> 00:47:17,550 >> HOPARLÖR 1: Bəli, uzunluğu var adı, sağ? 1056 00:47:17,550 --> 00:47:24,420 M-a-x-w-e-l-l Belə ki, bu kimi hiss Belə ki, alqoritm yeddi böyük Ey edir. 1057 00:47:24,420 --> 00:47:26,580 İndi, əlbəttə, adı uzunluğu dəyişir. 1058 00:47:26,580 --> 00:47:27,380 Bəlkə bir qısa adı var. 1059 00:47:27,380 --> 00:47:28,600 Bəlkə uzun adı var. 1060 00:47:28,600 --> 00:47:33,390 Bəs burada əsas var ki, bir sabit bir sayı var. 1061 00:47:33,390 --> 00:47:36,810 Və bəlkə, həqiqətən daimi deyil Allah, real, əgər bir 1062 00:47:36,810 --> 00:47:41,570 lüğət, bəzi limit yəqin ki, yoxdur bir hərflərin sayı 1063 00:47:41,570 --> 00:47:43,820 məxsusi ölkədə şəxsin adı. 1064 00:47:43,820 --> 00:47:46,940 >> Və biz güman edə bilər dəyər və daimidir. 1065 00:47:46,940 --> 00:47:47,750 Mən bunu nə bilmirəm. 1066 00:47:47,750 --> 00:47:50,440 Yəqin ki, daha böyük var biz bunu hesab edirəm. 1067 00:47:50,440 --> 00:47:52,720 Bəzi künc həmişə var, çünki dəli uzun adı ilə halda. 1068 00:47:52,720 --> 00:47:56,360 Belə ki, İT k deyirik, lakin o, hələ də var daimi ehtimalla, hər çünki 1069 00:47:56,360 --> 00:48:00,190 ən azı bir dünyada, adını ölkənin ki, uzunluğu və ya 1070 00:48:00,190 --> 00:48:01,780 qısa, buna görə də daimi deyil. 1071 00:48:01,780 --> 00:48:04,490 Amma biz bildirib etdiyiniz zaman böyük bir şey deyil Sabit dəyər O, nə ki, 1072 00:48:04,490 --> 00:48:07,760 həqiqətən ekvivalent? 1073 00:48:07,760 --> 00:48:10,420 Bu həqiqətən eyni şey daimi zaman deyib. 1074 00:48:10,420 --> 00:48:11,530 >> İndi aldadıcı cür haklýsýn? 1075 00:48:11,530 --> 00:48:15,340 Biz bəzi nəzəriyyəsi yararlanarak cür istəyirik burada yaxşı, k üçün deyil ki, 1076 00:48:15,340 --> 00:48:17,450 həqiqətən, yalnız bir sifariş və bu daimi vaxt var. 1077 00:48:17,450 --> 00:48:18,200 Amma bu, həqiqətən. 1078 00:48:18,200 --> 00:48:22,550 Burada əsas fikir Çünki biz bu artıq adları N əgər 1079 00:48:22,550 --> 00:48:26,010 data structure, biz insert Maxwell, bu bizə edir zaman məbləği 1080 00:48:26,010 --> 00:48:29,530 təsirə məruz qalan bütün at Maxwell daxil necə bir çox digər insanlar tərəfindən 1081 00:48:29,530 --> 00:48:31,100 veri strukturu var? 1082 00:48:31,100 --> 00:48:31,670 Olmaq görünmür. 1083 00:48:31,670 --> 00:48:36,280 Mən bu bir milyard elementləri olsaydı sonra trie və Maxwell olunur daxil 1084 00:48:36,280 --> 00:48:38,650 o bütün təsir? 1085 00:48:38,650 --> 00:48:39,050 No 1086 00:48:39,050 --> 00:48:42,950 Və bu gün göstərilən hər hansı fərqli var biz, bu günə qədər gördüm strukturları 1087 00:48:42,950 --> 00:48:46,820 Sizin alqoritm çalışan zaman nə qədər tamamilə müstəqil 1088 00:48:46,820 --> 00:48:51,430 heyəti və ya artıq deyil ki, data strukturunda. 1089 00:48:51,430 --> 00:48:54,650 >> Bu imkan və belə artıq deyil p set altı imkan verəcək 1090 00:48:54,650 --> 00:48:58,310 yenə öz həyata cəlb 150,000 oxu İmla kontrolü, 1091 00:48:58,310 --> 00:49:01,050 sözlər, nə yaxşı ki, saxlamaq üçün mütləq aydın deyil. 1092 00:49:01,050 --> 00:49:04,030 Və mən tapmaq talib etdik baxmayaraq müqəddəs grail, mən bunu 1093 00:49:04,030 --> 00:49:05,330 bir trie olduğunu iddia. 1094 00:49:05,330 --> 00:49:09,810 Əslində, bir hash table çox yaxşı bilər daha səmərəli olduğunu sübut edir. 1095 00:49:09,810 --> 00:49:10,830 Ancaq o yalnız var - 1096 00:49:10,830 --> 00:49:14,620 ki, yalnız dizayn qərarlardan biri Bunu etmək olacaq. 1097 00:49:14,620 --> 00:49:18,920 >> Lakin yekun bir-qoy 50 və ya belə saniyə yalan nə bir peek almaq 1098 00:49:18,920 --> 00:49:22,190 irəli həftə növbəti və biz keçid kənarda Bu skript satırı 1099 00:49:22,190 --> 00:49:26,220 şeyi web dünya C proqramları əgər əsaslanır və PHP kimi dil və 1100 00:49:26,220 --> 00:49:30,350 JavaScript və internet özü, Siz etdiyiniz HTTP kimi protokolları, 1101 00:49:30,350 --> 00:49:32,870 il göydən hər əksəriyyəti və çap 1102 00:49:32,870 --> 00:49:34,440 gün, bəlkə, və ya görüldü. 1103 00:49:34,440 --> 00:49:37,420 Və biz soymaq geri başlarsınız nə qat internet edir. 1104 00:49:37,420 --> 00:49:40,650 Və kodu nedir ki, yatan bugünkü alətlər. 1105 00:49:40,650 --> 00:49:43,230 Bu teaser belə 50 saniyə. 1106 00:49:43,230 --> 00:49:46,570 Mən sizə Çəkisi Warriors verir. 1107 00:49:46,570 --> 00:49:51,370 >> [Video playback] 1108 00:49:51,370 --> 00:49:56,764 >> O, bir mesaj gəldi. 1109 00:49:56,764 --> 00:50:00,687 Protokol bütün öz ilə. 1110 00:50:00,687 --> 00:50:13,370 1111 00:50:13,370 --> 00:50:19,780 O, qəddar firewall dünya gəldi əhəmiyyət verməz yönlendirici və təhlükələr uzaq 1112 00:50:19,780 --> 00:50:22,600 ölümdən betər. 1113 00:50:22,600 --> 00:50:23,590 O, sürətli. 1114 00:50:23,590 --> 00:50:25,300 O, güclü var. 1115 00:50:25,300 --> 00:50:27,700 O Tcpip var. 1116 00:50:27,700 --> 00:50:30,420 O ünvanı var. 1117 00:50:30,420 --> 00:50:32,920 1118 00:50:32,920 --> 00:50:34,590 Net döyüşçülər. 1119 00:50:34,590 --> 00:50:35,290 >> [END video playback] 1120 00:50:35,290 --> 00:50:38,070 >> HOPARLÖR 1: Bu necə internet Gələn həftə kimi işləməlidir. 1121 00:50:38,070 --> 00:50:40,406