1 00:00:00,000 --> 00:00:03,423 >> [Daqq tal-mużika] 2 00:00:03,423 --> 00:00:05,380 3 00:00:05,380 --> 00:00:08,210 >> ANDI Peng: Merħba għal 6 ġimgħa tas-sezzjoni. 4 00:00:08,210 --> 00:00:11,620 Aħna ddevjat mill-istandard tagħna taqsima ħin tat-Tlieta 5 00:00:11,620 --> 00:00:14,130 wara nofsinhar għal dan Ħadd filgħodu sabiħ. 6 00:00:14,130 --> 00:00:17,330 Grazzi għal kulħadd li ssieħbu lili llum, iżda serjament, 7 00:00:17,330 --> 00:00:18,170 rawnd ta 'applause. 8 00:00:18,170 --> 00:00:20,600 >> Li sforz pretty big. 9 00:00:20,600 --> 00:00:23,600 I kważi ma anki li jrendi din up fil-ħin, iżda Kien OK. 10 00:00:23,600 --> 00:00:27,520 So I jafu li kollha inti għadhom kemm għamilha biex l-kwizz. 11 00:00:27,520 --> 00:00:30,370 L-ewwelnett, merħba lill in-naħa flip ta 'dak. 12 00:00:30,370 --> 00:00:32,917 >> It-tieni, aħna ser nitkellmu dwar dan. 13 00:00:32,917 --> 00:00:34,000 Aħna ser jitkellmu dwar il-kwizz. 14 00:00:34,000 --> 00:00:35,700 Aħna ser jitkellmu dwar kif li qed isir fil-klassi. 15 00:00:35,700 --> 00:00:36,550 Int ser tkun multa. 16 00:00:36,550 --> 00:00:39,080 Għandi kwizzijiet tiegħek għall inti fl-aħħar minn hawn, 17 00:00:39,080 --> 00:00:42,120 hekk jekk inti guys tixtieq li tieħu a tħares lejn din, totalment multa. 18 00:00:42,120 --> 00:00:46,590 >> Allura malajr qabel nibdew, l Aġenda għal-lum hija kif ġej. 19 00:00:46,590 --> 00:00:48,430 Kif tistgħu taraw, aħna qed isparar mgħaġġel bażikament 20 00:00:48,430 --> 00:00:52,120 permezz mazz sħiħ ta 'strutturi ta' dejta tassew, tassew, tassew malajr. 21 00:00:52,120 --> 00:00:54,380 Allura bħala tali, mhux se jkun illum super interattivi. 22 00:00:54,380 --> 00:00:59,620 Dan ser ikun biss me tip ta 'shouting affarijiet li inti, u jekk I jħawdu inti, 23 00:00:59,620 --> 00:01:02,680 jekk jien ser wisq malajr, let me know. 24 00:01:02,680 --> 00:01:05,200 Huma qed data biss varji istrutturi, u bħala parti 25 00:01:05,200 --> 00:01:07,070 ta pset tiegħek għal dan ġimgħa li jmiss, inti ser 26 00:01:07,070 --> 00:01:10,340 jkunu mitluba li jimplimentaw waħda minnhom, aktarx tnejn mill them-- tnejn minnhom 27 00:01:10,340 --> 00:01:12,319 fil pset tiegħek. 28 00:01:12,319 --> 00:01:14,610 OK, hekk jien biss se tibda b'xi avviżi. 29 00:01:14,610 --> 00:01:19,070 Aħna ser jmorru fuq stacks u kjuwijiet aktar fil fond minn dak li għamilna qabel l-kwizz. 30 00:01:19,070 --> 00:01:20,990 Aħna ser jmorru fuq marbuta lista darb'oħra, għal darb'oħra, 31 00:01:20,990 --> 00:01:23,899 aktar fil-fond minn dak li kellna qabel l-kwizz. 32 00:01:23,899 --> 00:01:26,440 U allura aħna ser nitkellmu dwar hash tabelli, siġar u jipprova, li 33 00:01:26,440 --> 00:01:28,890 huma kollha pretty meħtieġa għall pset tiegħek. 34 00:01:28,890 --> 00:01:32,925 U allura aħna ser jmorru fuq xi pariri utli għall pset5. 35 00:01:32,925 --> 00:01:37,360 >> OK, hekk kwizz 0. 36 00:01:37,360 --> 00:01:41,090 Il-medja kien 58%. 37 00:01:41,090 --> 00:01:45,370 Huwa kien baxx ħafna, u għalhekk inti guys kollha ma ħafna, tajjeb ħafna skond 38 00:01:45,370 --> 00:01:46,510 ma 'dak. 39 00:01:46,510 --> 00:01:49,970 >> Pretty ħafna, ir-regola ta 'thumb huwa jekk int fi devjazzjoni standard tal-medja 40 00:01:49,970 --> 00:01:52,990 speċjalment peress li aħna qed fl għal inqas taqsima comfy, int totalment multa. 41 00:01:52,990 --> 00:01:54,120 Inti fuq il-binarji. 42 00:01:54,120 --> 00:01:55,190 Life hija tajba. 43 00:01:55,190 --> 00:01:58,952 >> Naf huwa scary biex jaħsbu li I ltqajna bħal 40% fuq dan il-kwizz. 44 00:01:58,952 --> 00:02:00,160 Jien ser jonqsu din il-klassi. 45 00:02:00,160 --> 00:02:02,243 I wegħda inti, int mhux ser jonqsu l-klassi. 46 00:02:02,243 --> 00:02:03,680 Inti totalment multa. 47 00:02:03,680 --> 00:02:06,850 >> Għal dawk minnkom li ltqajna fuq il-medja, impressjonanti, impressjonanti, 48 00:02:06,850 --> 00:02:08,780 bħal, magħmul serjament ukoll. 49 00:02:08,780 --> 00:02:09,689 I jkollhom magħhom miegħi. 50 00:02:09,689 --> 00:02:11,730 Ħossok liberu li ġejjin tikseb minnhom fl-aħħar tat-taqsima. 51 00:02:11,730 --> 00:02:14,520 Let me know jekk għandek xi kwistjonijiet, mistoqsijiet magħhom. 52 00:02:14,520 --> 00:02:17,204 Jekk aħna żid punteġġ tiegħek ħażin, let us know. 53 00:02:17,204 --> 00:02:21,240 >> OK, hekk pset5, dan huwa verament ġimgħa stramb għall Yale fis-sens 54 00:02:21,240 --> 00:02:24,240 li pset tagħna huwa dovut L-Erbgħa f'nofsinhar inkluża 55 00:02:24,240 --> 00:02:27,317 il ġurnata tard, dan huwa attwalment teoretikament dovut it-Tlieta f'nofsinhar. 56 00:02:27,317 --> 00:02:29,150 Probabbilment ebda wieħed lest fil it-Tlieta f'nofsinhar. 57 00:02:29,150 --> 00:02:30,830 C'est totalment multa. 58 00:02:30,830 --> 00:02:33,700 Aħna ser ikollhom ħinijiet tal-uffiċċju tonight kif ukoll it-Tnejn filgħaxija. 59 00:02:33,700 --> 00:02:36,810 U kollha tat-taqsimiet din il-ġimgħa se fil-fatt jiġu trasformati workshops, 60 00:02:36,810 --> 00:02:38,800 hekk li tħossok liberu li pop kwalunkwe taqsima trid, 61 00:02:38,800 --> 00:02:42,810 u dawn ser ikunu tip ta 'mini-pset workshops għall-għajnuna fuq dik. 62 00:02:42,810 --> 00:02:45,620 Allura bħala tali, dan huwa l-uniku sezzjoni fejn aħna qed materjal ta 'tagħlim. 63 00:02:45,620 --> 00:02:49,220 L-taqsimiet l-oħra se jkun qed jiffoka esklussivament fuq għajnuna għall-pset. 64 00:02:49,220 --> 00:02:50,146 Yeah? 65 00:02:50,146 --> 00:02:52,000 >> UDJENZA: Fejn huma ħinijiet tal-uffiċċju? 66 00:02:52,000 --> 00:02:56,120 >> ANDI Peng: Uffiċċju siegħa tonight-- oh, mistoqsija tajba. 67 00:02:56,120 --> 00:03:00,580 Naħseb ħinijiet tal-uffiċċju tonight huma Teal jew fuq Commons. 68 00:03:00,580 --> 00:03:02,984 Jekk inti tiċċekkja CS50 online u inti tmur ħinijiet tal-uffiċċju, 69 00:03:02,984 --> 00:03:05,650 għandu jkun hemm skeda li jgħidlek fejn kollha kemm huma. 70 00:03:05,650 --> 00:03:07,954 >> Naf kemm tonight jew għada huwa Teal, 71 00:03:07,954 --> 00:03:10,120 u I think we jista 'jkollhom commons għall oħra bil-lejl. 72 00:03:10,120 --> 00:03:11,020 M'inix ċert. 73 00:03:11,020 --> 00:03:11,700 Tajba kwistjoni. 74 00:03:11,700 --> 00:03:14,430 Iċċekkja fuq CS50. 75 00:03:14,430 --> 00:03:18,780 >> Kessaħ, xi mistoqsijiet rigward il iskeda għal dak li jmiss simili tlett ijiem? 76 00:03:18,780 --> 00:03:21,690 I wegħda inti guys bħal David qal, dan huwa l-quċċata tal-hill. 77 00:03:21,690 --> 00:03:23,050 You guys huma kważi hemm. 78 00:03:23,050 --> 00:03:24,644 Just tlett ijiem aktar. 79 00:03:24,644 --> 00:03:26,310 Naslu s'hemm, u allura aħna ser kollha jiġu stabbiliti. 80 00:03:26,310 --> 00:03:28,114 Aħna ser ikollhom break CS-free sbieħ. 81 00:03:28,114 --> 00:03:28,780 Aħna ser jiġu lura. 82 00:03:28,780 --> 00:03:30,779 Aħna ser adsa fis web ipprogrammar u l-iżvilupp, 83 00:03:30,779 --> 00:03:35,150 affarijiet li huma ħafna gost meta mqabbla xi wħud mill-psets oħra. 84 00:03:35,150 --> 00:03:37,974 U dan ser ikun chill, u aħna ser ikollhom lottijiet ta 'gost. 85 00:03:37,974 --> 00:03:38,890 Aħna ser ikollhom aktar kandju. 86 00:03:38,890 --> 00:03:39,730 Sorry għall-ħelu. 87 00:03:39,730 --> 00:03:40,945 I nesa kandju. 88 00:03:40,945 --> 00:03:43,310 Kien filgħodu rough. 89 00:03:43,310 --> 00:03:46,340 Allura inti guys huma kważi hemm, u jien verament kburi inti guys. 90 00:03:46,340 --> 00:03:49,570 >> OK, hekk stacks. 91 00:03:49,570 --> 00:03:53,331 Min iħobb il-mistoqsija dwar Jack u ħwejjeġ tiegħu fuq l-kwizz? 92 00:03:53,331 --> 00:03:53,830 Hadd? 93 00:03:53,830 --> 00:03:56,500 OK, li l-multa. 94 00:03:56,500 --> 00:04:00,200 >> Allura essenzjalment kemm tista ' stampa Jack, dan Guy hawn, 95 00:04:00,200 --> 00:04:03,350 tant iħobb li jieħdu l-ħwejjeġ mill-quċċata tal-munzell, 96 00:04:03,350 --> 00:04:05,750 u hu tqiegħdu lura fuq il-munzell wara li isir. 97 00:04:05,750 --> 00:04:07,600 Allura b'dan il-mod, hu qatt jidher li jkollna 98 00:04:07,600 --> 00:04:10,090 għall-qiegħ tal- munzell fil-ħwejjeġ tiegħu. 99 00:04:10,090 --> 00:04:12,600 Allura dan it-tip ta tiddeskrivi l-istruttura bażika tad-data 100 00:04:12,600 --> 00:04:16,610 ta 'kif munzell tiġi implimentata. 101 00:04:16,610 --> 00:04:20,060 >> Essenzjalment, think ta ' munzell bħala kwalunkwe munzell ta 'oġġetti 102 00:04:20,060 --> 00:04:24,900 fejn inti tpoġġi l-affarijiet fuq il-quċċata, u allura inti pop minnhom barra mill-quċċata. 103 00:04:24,900 --> 00:04:28,600 Allura LIFO huwa l-akronimu aħna nixtiequ li use-- Aħħar, First Out. 104 00:04:28,600 --> 00:04:32,480 U hekk aħħar fil-quċċata ta 'l- munzell hija l-ewwel waħda li toħroġ. 105 00:04:32,480 --> 00:04:34,260 U għalhekk iż-żewġ termini aħna nixtiequ li jassoċjaw 106 00:04:34,260 --> 00:04:36,190 ma 'dak huma msejħa push u pop. 107 00:04:36,190 --> 00:04:39,790 Meta timbotta xi ħaġa fuq il- munzell, u inti pop lura up. 108 00:04:39,790 --> 00:04:43,422 >> U so I raden dan huwa tip ta ' kunċett astratt għal dawk minnkom 109 00:04:43,422 --> 00:04:45,630 li jixtiequ jaraw bħal implimentazzjoni attwali ta 'din 110 00:04:45,630 --> 00:04:46,740 fid-dinja reali. 111 00:04:46,740 --> 00:04:50,170 Kemm inti ktibt esej forsi bħal siegħa qabel din kienet dovuta, 112 00:04:50,170 --> 00:04:54,510 u inti aċċidentalment mħassra enormi blokki ta 'dan, bħal aċċidentalment? 113 00:04:54,510 --> 00:04:58,560 U allura dak il-kontroll do nużaw biex jitqiegħdu lura? 114 00:04:58,560 --> 00:05:00,030 Kontroll Z, yeah? 115 00:05:00,030 --> 00:05:03,640 Kontroll Z, għalhekk l-ammont ta 'drabi li Control-Z ffranka-ħajja tiegħi, 116 00:05:03,640 --> 00:05:08,820 ffranka ħmar tiegħi, kull darba li l-implimentazzjoni minn ċumnija. 117 00:05:08,820 --> 00:05:13,020 >> Essenzjalment l-informazzjoni kollha li fuq id-dokument Word tiegħek, 118 00:05:13,020 --> 00:05:15,080 jiġrilha mbuttati u popped fil-se. 119 00:05:15,080 --> 00:05:19,460 U hekk essenzjalment kull meta inti tħassar xejn, inti pop lura up. 120 00:05:19,460 --> 00:05:22,820 U allura jekk għandek bżonn lura fuq, inti timbotta lilha, li huwa dak ta 'Kontroll-C ma. 121 00:05:22,820 --> 00:05:26,770 U funzjoni dinja hekk reali ta 'struttura data kif sempliċi 122 00:05:26,770 --> 00:05:28,690 jistgħu jgħinu bl ħajja ta 'kuljum tiegħek. 123 00:05:28,690 --> 00:05:31,710 124 00:05:31,710 --> 00:05:40,150 >> Allura Struct huwa l-mod li aħna fil-fatt joħolqu munzell. 125 00:05:40,150 --> 00:05:44,720 Aħna tip jiddefinixxu Struct, u mbagħad aħna sejħa hija munzell fil-qiegħ. 126 00:05:44,720 --> 00:05:47,440 U fil-munzell, għandna żewġ parametri 127 00:05:47,440 --> 00:05:51,580 li nistgħu essenzjalment timmanipola, hekk aħna char kapaċità kordi stilel. 128 00:05:51,580 --> 00:05:55,150 >> Dak kollu li huwa qed tagħmel qed toħloq firxa 129 00:05:55,150 --> 00:05:58,835 li nistgħu jaħżen xi trid li nistgħu jiddeterminaw kapaċità tagħha. 130 00:05:58,835 --> 00:06:01,990 Kapaċità hija biss l-ammont ta 'max oġġetti nistgħu npoġġu fis dan array. 131 00:06:01,990 --> 00:06:05,660 daqs int huwa l-counter li jżomm rekord ta 'kemm oġġetti huma attwalment 132 00:06:05,660 --> 00:06:07,850 fil-ċmieni. 133 00:06:07,850 --> 00:06:11,860 Allura allura aħna tista 'żżomm rekord ta', A, kemm kemm tkun kbira l munzell attwali hija, 134 00:06:11,860 --> 00:06:14,850 u, B, kemm ta 'dak munzell aħna mimlija għaliex aħna ma rridux 135 00:06:14,850 --> 00:06:18,800 li jfur fuq dak kapaċità tagħna huwa. 136 00:06:18,800 --> 00:06:24,340 >> Hekk per eżempju, dan sabiħ kwistjoni kienet fuq kwizz tiegħek. 137 00:06:24,340 --> 00:06:28,160 Essenzjalment kif nistgħu push fuq il-quċċata ta 'ċumnija. 138 00:06:28,160 --> 00:06:28,830 Pretty sempliċi. 139 00:06:28,830 --> 00:06:30,621 Jekk inti tħares lejn din, aħna ser jimxu permezz ta 'dan. 140 00:06:30,621 --> 00:06:32,640 Jekk [inaudible] size-- ftakar, kull meta inti 141 00:06:32,640 --> 00:06:35,300 jridu aċċess għal kull parametru fi Struct, 142 00:06:35,300 --> 00:06:40,320 inti tagħmel l-isem tal-struct.parameter. 143 00:06:40,320 --> 00:06:42,720 >> F'dan il-każ, s hija l-isem ta 'munzell tagħna. 144 00:06:42,720 --> 00:06:46,230 Aħna rridu li l-aċċess tad-daqs ta 'dan, hekk nagħmlu s.size. 145 00:06:46,230 --> 00:06:50,280 Dan sakemm id-daqs mhuwiex daqs kapaċità jew sakemm 146 00:06:50,280 --> 00:06:52,940 kif huwa inqas minn kapaċità, jew tkun taħdem hawn. 147 00:06:52,940 --> 00:06:57,180 >> Inti tixtieq li aċċess għall-ġewwa tal munzell tiegħek, so s.strings, 148 00:06:57,180 --> 00:07:00,790 u int se timplimenta dak in-numru ġdid li inti tixtieq li ddaħħal fil hemmhekk. 149 00:07:00,790 --> 00:07:05,030 Ejja ngħidu biss aħna se tkun trid daħħal int n fuq il-munzell, 150 00:07:05,030 --> 00:07:08,905 stajna nagħmlu s.strings, parentesi, s.size ugwali n. 151 00:07:08,905 --> 00:07:11,030 Minħabba d-daqs huwa fejn aħna bħalissa huma fil-ċmieni 152 00:07:11,030 --> 00:07:14,590 jekk aħna qed tmur biex timbotta fuq, aħna biss aċċess 153 00:07:14,590 --> 00:07:17,370 kull fejn id-daqs huwa, l- milja attwali tal-munzell, 154 00:07:17,370 --> 00:07:21,729 u aħna imbotta l-n int fuq dan. 155 00:07:21,729 --> 00:07:24,770 U allura aħna tixtieq li tagħmel ċert li aħna wkoll qed inkrementazzjoni daqs tal-n, 156 00:07:24,770 --> 00:07:27,436 hekk aħna tista 'żżomm rekord ta konna miżjud ħaġa żejda għall-munzell. 157 00:07:27,436 --> 00:07:29,660 Issa għandna daqs akbar. 158 00:07:29,660 --> 00:07:33,196 Does this hawn jagħmilx sens li kulħadd, kif loġikament taħdem? 159 00:07:33,196 --> 00:07:34,160 Kien tip ta 'malajr. 160 00:07:34,160 --> 00:07:39,535 161 00:07:39,535 --> 00:07:42,160 UDJENZA: Tista tmur fuq l s.stringss.strings [s.size] mill-ġdid? 162 00:07:42,160 --> 00:07:45,808 ANDI Peng: Sure, iva, liema ma s.size bħalissa tagħtina? 163 00:07:45,808 --> 00:07:47,440 UDJENZA: Hu l-daqs attwali. 164 00:07:47,440 --> 00:07:50,890 ANDI Peng: Eżattament, sabiex il- indiċi attwali li d-daqs tagħna hija fil- 165 00:07:50,890 --> 00:07:57,780 u hekk irridu li tqiegħed il-numru sħiħ l-ġdida li aħna rridu li ddaħħal fil s.size. 166 00:07:57,780 --> 00:07:58,760 Does li jagħmel sens? 167 00:07:58,760 --> 00:08:01,110 Minħabba s.strings, dak kollu li huwa huwa l-isem tal-firxa. 168 00:08:01,110 --> 00:08:03,510 Kollox huwa huwa aċċess għall- firxa fi ħdan Istituzzjonjijiet tagħna, 169 00:08:03,510 --> 00:08:06,030 u għalhekk jekk irridu post n f'dak l-indiċi, 170 00:08:06,030 --> 00:08:09,651 nistgħu biss aċċess għaliha jużaw parentesi s.size. 171 00:08:09,651 --> 00:08:10,150 Kessaħ. 172 00:08:10,150 --> 00:08:13,580 173 00:08:13,580 --> 00:08:18,916 >> Dritt kollox, pop, I pseudocode out għalik guys, iżda kunċett simili. 174 00:08:18,916 --> 00:08:19,790 Does li jagħmel sens? 175 00:08:19,790 --> 00:08:22,310 Jekk id-daqs huwa akbar minn żero, allura inti 176 00:08:22,310 --> 00:08:25,350 taf li inti tixtieq li tieħu xi ħaġa barra minħabba jekk id-daqs ma tkunx 177 00:08:25,350 --> 00:08:27,620 akbar minn żero, allura inti m'għandhom xejn in-munzell. 178 00:08:27,620 --> 00:08:29,840 >> Allura inti biss tixtieq li tesegwixxi dan il-kodiċi, jista biss 179 00:08:29,840 --> 00:08:32,320 pop jekk hemm xi ħaġa li pop. 180 00:08:32,320 --> 00:08:35,830 Mela jekk id-daqs huwa akbar minn 0, aħna nieqes id-daqs. 181 00:08:35,830 --> 00:08:40,020 Aħna decrement-daqs u mbagħad jirritornaw dak kollu li huwa ġewwa ta 'dan minħabba 182 00:08:40,020 --> 00:08:42,710 billi popping, irridu aċċess kollu li huwa maħżun 183 00:08:42,710 --> 00:08:45,694 fl-indiċi tal-quċċata tal-munzell. 184 00:08:45,694 --> 00:08:46,610 Kollox jagħmel sens? 185 00:08:46,610 --> 00:08:49,693 Jekk I magħmula inti guys tikteb dan out, Kieku inti guys tkun tista 'tikteb it out? 186 00:08:49,693 --> 00:08:52,029 187 00:08:52,029 --> 00:08:53,570 OK, inti guys tista 'tilgħab madwar magħha. 188 00:08:53,570 --> 00:08:55,252 Nru inkwiet jekk inti ma ġġibu. 189 00:08:55,252 --> 00:08:57,460 Aħna ma jkollhom il-ħin għall-kodiċi it out illum għaliex konna 190 00:08:57,460 --> 00:08:59,959 qbilna ħafna ta 'dawn l-istrutturi jgħaddu, iżda essenzjalment 191 00:08:59,959 --> 00:09:02,214 pseudocode, ħafna, simili ħafna biex timbotta. 192 00:09:02,214 --> 00:09:03,380 Just isegwu tul il-loġika. 193 00:09:03,380 --> 00:09:06,092 Kun żgur li int qed jaċċessaw l- karatteristiċi ta 'Struct tiegħek b'mod korrett. 194 00:09:06,092 --> 00:09:06,574 Yeah? 195 00:09:06,574 --> 00:09:09,282 >> UDJENZA: Se dawn slides u din il-ħaġa sħiħa tkun aġġornata llum ish? 196 00:09:09,282 --> 00:09:11,586 ANDI Peng: Dejjem, Yep. 197 00:09:11,586 --> 00:09:13,710 Jien ser tipprova tpoġġi dan up bħal siegħa wara. 198 00:09:13,710 --> 00:09:16,626 I ser email David, David se tipprova poġġih bħal siegħa wara dan. 199 00:09:16,626 --> 00:09:20,040 200 00:09:20,040 --> 00:09:25,470 >> OK, hekk allura aħna qed jersqu lejn din oħra istruttura tad-data sabiħ imsejħa kju. 201 00:09:25,470 --> 00:09:30,140 Kif inti guys tista 'tara hawn, a kju, għall-British fostna, 202 00:09:30,140 --> 00:09:32,010 kollox huwa hija linja. 203 00:09:32,010 --> 00:09:34,680 Allura kuntrarjament għal dak taħseb munzell hu, 204 00:09:34,680 --> 00:09:37,750 kju huwa eżattament dak li loġikament inti taħseb li hu. 205 00:09:37,750 --> 00:09:41,914 Huwa miżmuma mir-regoli ta 'FIFO, li hija l-Ewwel Fil, L-ewwel Out. 206 00:09:41,914 --> 00:09:43,705 Jekk int l-ewwel wieħed fil-linja, int 207 00:09:43,705 --> 00:09:46,230 l-ewwel waħda li toħroġ mill-linja. 208 00:09:46,230 --> 00:09:49,680 >> Allura dak li aħna nixtiequ sejħa dan huwa dequeueing u enqueueing. 209 00:09:49,680 --> 00:09:52,380 Jekk irridu li żżid xi ħaġa li kju tagħna, aħna enqueue. 210 00:09:52,380 --> 00:09:55,690 Jekk irridu li dequeue, jew jieħdu xi ħaġa bogħod, aħna dequeue. 211 00:09:55,690 --> 00:10:03,350 >> Allura istess sens li aħna qed tip ta ' ħolqien Elementi daqs fiss li aħna 212 00:10:03,350 --> 00:10:06,500 jista 'jaħżen ċerti affarijiet, iżda nistgħu wkoll 213 00:10:06,500 --> 00:10:10,100 bidla fejn aħna qed tqegħid parametri ġewwa minnhom 214 00:10:10,100 --> 00:10:13,140 ibbażati fuq liema tip ta ' funzjonalità rridu. 215 00:10:13,140 --> 00:10:16,700 Allura stacks, ridna l-aħħar wieħed, N tkun l-ewwel wieħed out. 216 00:10:16,700 --> 00:10:19,800 Kju huwiex irridu l-ewwel ħaġa fil li tkun l-ewwel ħaġa out. 217 00:10:19,800 --> 00:10:22,510 218 00:10:22,510 --> 00:10:26,710 >> Allura l--tip Istituzzjonjijiet jiddefinixxu, kif tistgħu taraw, 219 00:10:26,710 --> 00:10:29,470 huwa xi ftit differenti minn dak il-munzell kien 220 00:10:29,470 --> 00:10:33,120 għaliex mhux biss għandna għandhom iżommu kont ta 'fejn id-daqs huwa attwalment, 221 00:10:33,120 --> 00:10:37,420 aħna rridu wkoll li jżommu rekord tar-ras kif ukoll fejn aħna bħalissa. 222 00:10:37,420 --> 00:10:39,580 So I think it'sa aktar faċli jekk I tfassal dan up. 223 00:10:39,580 --> 00:10:53,270 Mela ejja jimmaġina konna ltqajna kju, so ejja ngħidu l-kap huwa dritt hawn. 224 00:10:53,270 --> 00:10:55,811 225 00:10:55,811 --> 00:10:58,310 Il-kap tal-linja, ejja biss jgħidu li bħalissa hemm, 226 00:10:58,310 --> 00:11:01,809 u rridu li daħħal xi ħaġa fil-kju. 227 00:11:01,809 --> 00:11:04,350 Jien ser sejħa daqs essenzjalment huwa l-istess ħaġa bħat denb, 228 00:11:04,350 --> 00:11:06,314 l-aħħar tal kulfejn kju tiegħek. 229 00:11:06,314 --> 00:11:07,730 Ejja ngħidu biss daqs huwa dritt hawn. 230 00:11:07,730 --> 00:11:14,380 231 00:11:14,380 --> 00:11:18,400 >> Allura kif ma possibbilment wieħed daħħal xi ħaġa fi kju? 232 00:11:18,400 --> 00:11:21,000 233 00:11:21,000 --> 00:11:24,130 Dak indiċi irridu li ssir fejn irridu li ddaħħal fil. 234 00:11:24,130 --> 00:11:29,320 Jekk dan huwa l-bidu ta 'tiegħek kju u dan huwa l-aħħar ta 'dan 235 00:11:29,320 --> 00:11:31,860 jew id-daqs ta 'dan, fejn do we trid iżżid l-oġġett li jmiss? 236 00:11:31,860 --> 00:11:32,920 >> UDJENZA: [inaudible] 237 00:11:32,920 --> 00:11:35,920 ANDI Peng: Eżattament, inti trid iżżid dan jiddependi fuq usted miktuba fuqha. 238 00:11:35,920 --> 00:11:37,840 Jew tapplika din huwa vojt jew li huwa vojt. 239 00:11:37,840 --> 00:11:42,630 Allura inti trid iżżid hija probabbilment hawnhekk għaliex jekk id-daqs is-- 240 00:11:42,630 --> 00:11:50,540 jekk dawn huma kollha sħiħa, inti tixtieq li żżid dan id-dritt hawn, id-dritt? 241 00:11:50,540 --> 00:11:57,150 >> U hekk dan huwa, filwaqt li ħafna, ħafna sempliċi, pjuttost mhux dejjem korretta 242 00:11:57,150 --> 00:12:00,690 minħabba d-differenza ewlenija bejn kju u munzell 243 00:12:00,690 --> 00:12:04,350 huwa li l-kju jista fil-fatt jiġu manipulati 244 00:12:04,350 --> 00:12:06,980 sabiex it-tibdiliet ras jiddependi fuq fejn inti tixtieq 245 00:12:06,980 --> 00:12:08,650 il-bidu ta 'CUÉ tiegħek biex tibda. 246 00:12:08,650 --> 00:12:11,900 U bħala riżultat, denb tiegħek huwa wkoll se jibdlu. 247 00:12:11,900 --> 00:12:14,770 U hekk tagħti ħarsa lejn dan il-kodiċi dritt issa. 248 00:12:14,770 --> 00:12:18,620 Kif inti guys kienu mitluba wkoll biex jikteb fuq il-kwizz, enqueue. 249 00:12:18,620 --> 00:12:22,580 Forsi aħna ser nitkellmu permezz għaliex ir-risposta kienet dak li kien. 250 00:12:22,580 --> 00:12:26,790 >> I ma setgħux pjuttost tajbin din il-linja fuq naħa waħda, iżda essenzjalment din il-biċċa ta 'kodiċi 251 00:12:26,790 --> 00:12:29,030 għandha tkun fuq linja waħda. 252 00:12:29,030 --> 00:12:30,140 Onfoq bħal 30 sekonda. 253 00:12:30,140 --> 00:12:33,000 Agħti ħarsa, u ara għaliex dan huwa l-mod li jkun. 254 00:12:33,000 --> 00:12:50,030 255 00:12:50,030 --> 00:12:55,420 >> Ħafna, Struct simili ħafna, ħafna, ħafna struttura simili bħala l-preċedenti 256 00:12:55,420 --> 00:12:58,090 munzell ħlief għall forsi linja waħda tal-kodiċi. 257 00:12:58,090 --> 00:13:01,190 U li linja waħda tal-kodiċi jiddetermina l-funzjonalità. 258 00:13:01,190 --> 00:13:03,900 U verament tiddistingwi kju minn munzell. 259 00:13:03,900 --> 00:13:18,510 260 00:13:18,510 --> 00:13:22,010 >> Kull min jixtiequ li tieħu stab li tispjega għaliex inti ħadthom 261 00:13:22,010 --> 00:13:24,980 sibt dan ħaġa kkumplikata fil hawn? 262 00:13:24,980 --> 00:13:27,845 Naraw ir-ritorn ta 'tagħna modulus ħabib isbaħ. 263 00:13:27,845 --> 00:13:31,020 Kif inti guys dalwaqt se jidħlu li jirrikonoxxu fl-ipprogrammar, 264 00:13:31,020 --> 00:13:34,910 kważi ghaċ għandek bżonn xi ħaġa biex nagħlaq madwar xejn, 265 00:13:34,910 --> 00:13:36,850 modulus se jkun il-mod biex tagħmel dan. 266 00:13:36,850 --> 00:13:40,510 Allura jafu li, ma kull min jixtiequ li tipprova tispjega dik il-linja tal-kodiċi? 267 00:13:40,510 --> 00:13:44,060 268 00:13:44,060 --> 00:13:47,507 Yeah, tweġibiet kollha huma aċċettati u jilqgħu. 269 00:13:47,507 --> 00:13:48,840 UDJENZA: Inti titkellem lili? 270 00:13:48,840 --> 00:13:49,506 ANDI Peng: Yeah. 271 00:13:49,506 --> 00:13:56,200 UDJENZA: Oh, no sorry. 272 00:13:56,200 --> 00:14:00,250 ANDI Peng: OK, so ejja jimxu permezz ta 'dan il-kodiċi. 273 00:14:00,250 --> 00:14:03,642 Allura meta inti qed tipprova żid xi ħaġa fuq kju, 274 00:14:03,642 --> 00:14:08,510 fil-każ sabiħ li l-kap jiġri li jkun dritt hawn, huwa faċli ħafna għalina 275 00:14:08,510 --> 00:14:10,960 li jmorru biss l-aħħar daħħal xi ħaġa, id-dritt? 276 00:14:10,960 --> 00:14:14,690 Iżda l-punt kollu ta 'kju huwiex li l-kap jista 'attwalment dinamiku 277 00:14:14,690 --> 00:14:17,280 jinbidlu skond fejn aħna jridu li l-bidu ta 'q tagħna li tkun, 278 00:14:17,280 --> 00:14:19,880 u bħala tali, il-denb huwa wkoll se jibdlu. 279 00:14:19,880 --> 00:14:31,100 >> U hekk jimmaġina li dan ma kienx il- kju, iżda pjuttost dan kien il-kju. 280 00:14:31,100 --> 00:14:37,900 281 00:14:37,900 --> 00:14:39,330 Ejja ngħidu l-kap huwa dritt hawn. 282 00:14:39,330 --> 00:14:54,900 283 00:14:54,900 --> 00:14:56,980 Ejja ngħidu kju tagħna dehru qishom dan. 284 00:14:56,980 --> 00:15:00,190 Jekk ridna li ċċaqlaq fejn il-bidu tal-linja hija, 285 00:15:00,190 --> 00:15:03,400 ejja ngħidu aħna qalbu ras B'dan il-mod u daqsijiet hawn. 286 00:15:03,400 --> 00:15:07,100 >> Issa rridu li żżid xi ħaġa li dan kju, iżda bħala inti guys tista 'tara, 287 00:15:07,100 --> 00:15:11,150 mhuwiex daqshekk sempliċi kemm biss żid dak kollu li huwa wara l-daqs 288 00:15:11,150 --> 00:15:13,630 għaliex allura aħna jispiċċaw ta ' limiti ta 'firxa attwali tagħna. 289 00:15:13,630 --> 00:15:16,190 Fejn irridu verament jżidu huwa hawnhekk. 290 00:15:16,190 --> 00:15:18,610 Dik hija l-sbuħija ta 'kju hija li lilna, viżwalment it 291 00:15:18,610 --> 00:15:22,380 qisu l-linja tmur bħal dan, iżda meta maħżuna fi struttura tad-data, 292 00:15:22,380 --> 00:15:29,370 dawn jagħtu bħala simili ċiklu. 293 00:15:29,370 --> 00:15:32,360 Hija tip ta 'garżi madwar il-quddiem bl-istess mod 294 00:15:32,360 --> 00:15:34,780 li linja tista 'wkoll wrap madwar jiddependi fuq fejn inti 295 00:15:34,780 --> 00:15:36,279 jridu bidu tal-linja li tkun. 296 00:15:36,279 --> 00:15:38,630 U hekk jekk nieħdu tfittex l isfel hawn, ejja 297 00:15:38,630 --> 00:15:40,880 ngħidu aħna riedu joħolqu funzjoni msejħa enqueue. 298 00:15:40,880 --> 00:15:43,980 Ridna li jżidu int n f'dak q. 299 00:15:43,980 --> 00:15:49,250 Jekk q.size q-- aħna ser sejħa li data tagħna structure-- jekk queue.size tagħna ma 300 00:15:49,250 --> 00:15:52,520 daqs kapaċità jew jekk huwa inqas minn kapaċità, 301 00:15:52,520 --> 00:15:55,120 q.strings huwa l-firxa fi ħdan q tagħna. 302 00:15:55,120 --> 00:15:58,380 Aħna qed tmur biex jistabbilixxu li daqs q.heads, 303 00:15:58,380 --> 00:16:02,730 li huwa dritt hawn, plus q.size modulus bil-kapaċità li 304 00:16:02,730 --> 00:16:04,290 wrap us lura madwar hawn. 305 00:16:04,290 --> 00:16:08,040 >> Allura f'dan l-eżempju, indiċi ta 'ras huwa 1, id-dritt? 306 00:16:08,040 --> 00:16:11,480 L-indiċi ta 'daqs huwa ta' 0, 1, 2, 3, 4. 307 00:16:11,480 --> 00:16:19,500 Allura nistgħu nagħmlu 1 plus 4 modulus mill-kapaċità tagħna li huwa 5. 308 00:16:19,500 --> 00:16:20,920 Xi jfisser li tagħtina? 309 00:16:20,920 --> 00:16:23,270 X'inhu l-indiċi li toħroġ ta 'dan? 310 00:16:23,270 --> 00:16:24,080 >> UDJENZA: 0. 311 00:16:24,080 --> 00:16:27,870 >> ANDI Peng: 0, li jiġri li jkun dritt hawn, 312 00:16:27,870 --> 00:16:30,640 u għalhekk irridu nkunu kapaċi li ddaħħal fil dritt hawn. 313 00:16:30,640 --> 00:16:34,730 U hekk din l-ekwazzjoni hawn it-tip ta 'ftit jaħdem ma' kull numri 314 00:16:34,730 --> 00:16:36,750 jiddependi fuq fejn tiegħek ras u daqs tiegħek huma. 315 00:16:36,750 --> 00:16:38,541 Jekk inti taf x'inhuma dawn affarijiet huma, inti taf 316 00:16:38,541 --> 00:16:43,170 eżattament fejn inti tixtieq li daħħal dak kollu li huwa wara kju tiegħek. 317 00:16:43,170 --> 00:16:44,640 Does li jagħmel sens għal kulħadd? 318 00:16:44,640 --> 00:16:48,560 >> Naf tip ta 'brain teaser speċjalment peress li dan 319 00:16:48,560 --> 00:16:50,512 daħal fil-konsegwenzi tal kwizz tiegħek. 320 00:16:50,512 --> 00:16:52,220 Iżda nisperaw kulħadd issa tista 'tifhem 321 00:16:52,220 --> 00:16:57,800 għaliex din is-soluzzjoni jew dan funzjoni huwa l-mod li jkun. 322 00:16:57,800 --> 00:16:59,840 Kulħadd daqsxejn mhux ċari fuq dan? 323 00:16:59,840 --> 00:17:03,471 324 00:17:03,471 --> 00:17:03,970 KOLLOX SEW. 325 00:17:03,970 --> 00:17:07,109 326 00:17:07,109 --> 00:17:09,970 >> U hekk issa, jekk inti riedu dequeue, dan 327 00:17:09,970 --> 00:17:15,240 huwa fejn ras tagħna tkun ċaqliq għaliex jekk konna biex dequeue, 328 00:17:15,240 --> 00:17:17,030 ma neħdux off-aħħar tal-q. 329 00:17:17,030 --> 00:17:19,130 Aħna rridu li jieħdu off-ras, id-dritt? 330 00:17:19,130 --> 00:17:24,260 Allura bħala riżultat, ras huwa se jibdlu, u huwa għalhekk li meta inti enqueue, 331 00:17:24,260 --> 00:17:26,800 inti stajt ltqajna biex iżommu kont ta ' fejn ras tiegħek u d-daqs tiegħek 332 00:17:26,800 --> 00:17:29,450 għandhom ikunu kapaċi li daħħal fil-pożizzjoni korretta. 333 00:17:29,450 --> 00:17:32,740 >> U hekk meta inti dequeue, I wkoll pseudocode out. 334 00:17:32,740 --> 00:17:35,480 Ħossok liberu li jekk inti tixtieq li tipprova kodifikazzjoni dan out. 335 00:17:35,480 --> 00:17:36,980 Inti tixtieq li jċaqalqu l-ras, id-dritt? 336 00:17:36,980 --> 00:17:39,320 Jekk jien ridt li dequeue, I se jimxu l fuq ras. 337 00:17:39,320 --> 00:17:40,800 Dan ikun il-kap. 338 00:17:40,800 --> 00:17:45,617 >> U d-daqs attwali tagħna se naqqas għaliex aħna m'għadx 339 00:17:45,617 --> 00:17:46,950 jkollhom erba 'elementi fil-firxa. 340 00:17:46,950 --> 00:17:51,370 Aħna biss tlieta, u mbagħad irridu li jirritornaw x'ikun kien maħżun ġewwa 341 00:17:51,370 --> 00:17:56,260 tar-ras għaliex irridu li jieħdu din valur hekk simili ħafna għall-munzell. 342 00:17:56,260 --> 00:17:58,010 Just tkun qed tieħu minn post differenti, 343 00:17:58,010 --> 00:18:01,770 u inti għandek jassenja mill-ġdid pointer tiegħek għall-post differenti bħala riżultat. 344 00:18:01,770 --> 00:18:03,890 Loġikament, kulħadd jsegwu? 345 00:18:03,890 --> 00:18:05,690 Great. 346 00:18:05,690 --> 00:18:10,156 >> OK, hekk aħna qed tmur biex jitkellmu ftit aktar fil-fond dwar listi marbuta 347 00:18:10,156 --> 00:18:13,280 minħabba dawn ser ikunu ħafna, ħafna valur għalik fil-kors ta 'din il-ġimgħa 348 00:18:13,280 --> 00:18:14,964 psets. 349 00:18:14,964 --> 00:18:17,130 Listi marbuta, kif inti guys tistax tiftakar, kollox huma 350 00:18:17,130 --> 00:18:22,570 huma lymph nodes li huma ta 'ċerti Valuri kemm ta 'valur u pointer 351 00:18:22,570 --> 00:18:26,290 li huma marbuta flimkien minn dawk pointers. 352 00:18:26,290 --> 00:18:29,880 U għalhekk l-Istituzzjonjijiet dwar kif noħolqu node hawnhekk hija li aħna 353 00:18:29,880 --> 00:18:33,569 jkollhom int n, li hija tkun xi tkun il-valur fil-maħżen jew string n 354 00:18:33,569 --> 00:18:35,610 jew kwalunkwe inti tixtieq li sejħa hija, il n istilla char. 355 00:18:35,610 --> 00:18:41,482 Struct star node, li hija l-pointer li inti tixtieq li jkollok f'kull node, 356 00:18:41,482 --> 00:18:43,690 int ser ikollhom li punt pointer lejn jmiss. 357 00:18:43,690 --> 00:18:48,207 358 00:18:48,207 --> 00:18:50,040 Int ser ikollok l-kap ta 'lista marbuta li l- 359 00:18:50,040 --> 00:18:53,140 ser punt li l-bqija ta ' il-valuri hekk u ibqa 'sejjer hekk 360 00:18:53,140 --> 00:18:55,290 sakemm inti eventwalment jilħqu t-tmiem. 361 00:18:55,290 --> 00:18:58,040 U dan l-aħħar node huwa biss se ma jkollhomx pointer. 362 00:18:58,040 --> 00:18:59,952 Li għaddej biex jindika null, u li meta 363 00:18:59,952 --> 00:19:01,910 inti taf li inti ħadthom laqat il- tmiem tal-lista marbuta tiegħek 364 00:19:01,910 --> 00:19:04,076 huwa meta l-aħħar pointer tiegħek ma jwassalx għal xi ħaġa. 365 00:19:04,076 --> 00:19:06,670 366 00:19:06,670 --> 00:19:10,990 >> Allura aħna qed tmur biex jmorru daqsxejn aktar fil fond dwar kif wieħed ikun possibilment 367 00:19:10,990 --> 00:19:12,400 tfittxija lista marbuta. 368 00:19:12,400 --> 00:19:15,460 Ftakar liema huma wħud mill- iżvantaġġi tal-listi marbuta 369 00:19:15,460 --> 00:19:19,340 versi firxa rigward tfittxijiet. 370 00:19:19,340 --> 00:19:22,565 Firxa Tista 'tfittex binarja, iżda għaliex ma tistax inti tagħmel dan fil-lista marbuta? 371 00:19:22,565 --> 00:19:26,834 372 00:19:26,834 --> 00:19:30,320 >> UDJENZA: Minħabba dawn qed kollha konnessi, imma inti ma pjuttost taf fejn 373 00:19:30,320 --> 00:19:31,330 [Inaudible]. 374 00:19:31,330 --> 00:19:34,600 >> ANDI Peng: Yeah, eżattament sabiex tiftakar li l-brilliance ta 'firxa 375 00:19:34,600 --> 00:19:37,190 kien il-fatt li kellna memorja t'aċċess bl-addoċċ fejn 376 00:19:37,190 --> 00:19:41,580 jekk jien ridt il-valur mill-indiċi sitt, I tista 'biss jgħidu indiċi sitt, 377 00:19:41,580 --> 00:19:42,407 tagħti me dak il-valur. 378 00:19:42,407 --> 00:19:45,240 U dan għaliex arrays huma magħżula fi spazju kontigwi ta 'memorja 379 00:19:45,240 --> 00:19:48,020 f'post wieħed, filwaqt tip ta 'listi marbuta 380 00:19:48,020 --> 00:19:52,820 huma saltwarjament b'intervall kollha madwar, u l-uniku mod inti tista 'ssib wieħed 381 00:19:52,820 --> 00:19:56,890 huwa permezz ta 'werrej li jgħidlek l-indirizz ta 'fejn dik node li jmiss huwa. 382 00:19:56,890 --> 00:20:00,290 >> U hekk bħala riżultat, l-uniku mod tiftix permezz ta 'lista marbuta 383 00:20:00,290 --> 00:20:01,560 huwa tfittxija lineari. 384 00:20:01,560 --> 00:20:05,890 Minħabba I ma jafu eżattament fejn il-valur 12 fil-lista marbuta hi, 385 00:20:05,890 --> 00:20:08,780 Għandi biex travers il intier ta 'li wieħed lista marbuta 386 00:20:08,780 --> 00:20:12,450 billi wieħed mill-ras għall-ewwel node, għat-tieni node, għat-tielet node, 387 00:20:12,450 --> 00:20:17,690 it-triq kollha sal I finalment nikseb fejn dak node jien infittxu huwa. 388 00:20:17,690 --> 00:20:22,110 U hekk f'dan is-sens, tfittxija fuq lista marbut huwa dejjem n. 389 00:20:22,110 --> 00:20:23,040 Huwa dejjem n. 390 00:20:23,040 --> 00:20:25,690 Huwa dejjem fil-ħin lineari. 391 00:20:25,690 --> 00:20:28,470 >> U għalhekk il-kodiċi li fih nimplimentaw dan, u dan 392 00:20:28,470 --> 00:20:32,620 huwa daqsxejn ġdida għalik guys peress li inti guys ma verament tkellem dwar jew qatt 393 00:20:32,620 --> 00:20:35,000 pointers dehru fil kif tfittxija permezz pointers, 394 00:20:35,000 --> 00:20:37,670 hekk aħna ser jimxu permezz dan ħafna, bil-mod ħafna. 395 00:20:37,670 --> 00:20:40,200 Allura tfittxija BOOL, id-dritt, ejja jimmaġina li rridu 396 00:20:40,200 --> 00:20:42,820 biex joħolqu funzjoni msejħa tfittxija li jirritorna veru 397 00:20:42,820 --> 00:20:46,820 jekk inti sibt valur ġewwa l-marbutin lista, u dan jirritorna falza mod ieħor. 398 00:20:46,820 --> 00:20:50,030 Lista star Node hija bħalissa biss il-pointer 399 00:20:50,030 --> 00:20:52,960 li l-ewwel punt fil-lista marbuta tiegħek. 400 00:20:52,960 --> 00:20:56,700 int n huwa l-valur li int tiftix għal f'dik il-lista. 401 00:20:56,700 --> 00:20:58,770 >> Allura star node pointer ugwali lista. 402 00:20:58,770 --> 00:21:00,970 Dan ifisser li aħna qed jistabbilixxu u l-ħolqien ta 'pointer 403 00:21:00,970 --> 00:21:03,592 għal dak l-ewwel node ġewwa tal-lista. 404 00:21:03,592 --> 00:21:04,300 Kulħadd miegħi? 405 00:21:04,300 --> 00:21:06,530 Hekk jekk konna biex tmur lura hawn, I jkollhom 406 00:21:06,530 --> 00:21:13,850 initialized pointer li l-punti li il-kap ta 'kwalunkwe dik il-lista hija. 407 00:21:13,850 --> 00:21:18,600 >> U mbagħad darba inti tikseb l isfel hawn, filwaqt pointer ma null ugwali, 408 00:21:18,600 --> 00:21:22,160 b'tali mod li huwa l-linja li aħna se tkun sussegwentement jaqsmu 409 00:21:22,160 --> 00:21:25,940 il-bqija tal-lista tagħna għaliex dak jiġri meta pointer ugwali null? 410 00:21:25,940 --> 00:21:27,550 Aħna nafu li aħna have-- 411 00:21:27,550 --> 00:21:28,450 >> UDJENZA: [inaudible] 412 00:21:28,450 --> 00:21:31,491 >> ANDI Peng: Eżattament, hekk aħna nafu li konna laħqu t-tmiem tal-lista, id-dritt? 413 00:21:31,491 --> 00:21:34,470 Jekk inti tmur lura hawn, kull node għandhom ikunu tipponta lejn ieħor node 414 00:21:34,470 --> 00:21:36,550 u hekk u ibqa 'sejjer hekk sakemm inti hit eventwalment 415 00:21:36,550 --> 00:21:41,589 l denb tal-lista marbuta tiegħek, li għandha pointer li ftit 416 00:21:41,589 --> 00:21:43,130 ma punt kullimkien minbarra ebda. 417 00:21:43,130 --> 00:21:47,510 U għalhekk inti bażikament taf li lista tiegħek għadu hemm sa 418 00:21:47,510 --> 00:21:50,900 sakemm pointer ma tkunx daqs nulla minħabba li ladarba tkun ugwali null, 419 00:21:50,900 --> 00:21:53,310 inti taf li hemm l-ebda Jittieħed aktar. 420 00:21:53,310 --> 00:21:56,930 >> B'tali mod li huwa l-linja li aħna qed se jkollhom it-tfittxija attwali. 421 00:21:56,930 --> 00:22:01,690 U jekk il-Pointer do tara dak it-tip ta 'funzjoni vleġġa hemm? 422 00:22:01,690 --> 00:22:06,930 Mela jekk punti pointer li n, jekk il pointer fuq n ugwali ugwali n, 423 00:22:06,930 --> 00:22:09,180 sabiex ifisser li jekk il pointer li int 424 00:22:09,180 --> 00:22:13,420 tiftix għal spezzjonijiet fuq il-aħħar ta 'kull node huwa attwalment daqs il-valur 425 00:22:13,420 --> 00:22:15,990 inti qed tfittex, allura inti tixtieq li jirritornaw veru. 426 00:22:15,990 --> 00:22:19,280 Allura bażikament, jekk int fuq node li għandu l-valur li inti qed tfittex, 427 00:22:19,280 --> 00:22:23,550 inti taf li inti kont qed kapaċi li jfittxu b'suċċess. 428 00:22:23,550 --> 00:22:27,150 >> Inkella, inti tixtieq li twaqqaf pointer tiegħek għall-node li jmiss. 429 00:22:27,150 --> 00:22:28,850 Dan huwa dak li dik il-linja hawnhekk qed tagħmel. 430 00:22:28,850 --> 00:22:31,750 Pointer ugwali pointer li jmiss. 431 00:22:31,750 --> 00:22:33,360 Kulħadd jara kif dan ta 'ħidma? 432 00:22:33,360 --> 00:22:36,580 >> U essenzjalment int ser biss travers-totalità tal-lista, 433 00:22:36,580 --> 00:22:41,920 resetting pointer tiegħek kull darba sakemm inti eventwalment laqat il-aħħar tal-lista. 434 00:22:41,920 --> 00:22:45,030 U inti taf li hemm l-ebda aktar lymph li tfittex, 435 00:22:45,030 --> 00:22:47,999 u allura inti tista 'tmur lura falza għax inti taf li, oh, ukoll, 436 00:22:47,999 --> 00:22:50,540 jekk I kont qed kapaċi li jfittxu permezz tal-intier tal-lista. 437 00:22:50,540 --> 00:22:54,530 Jekk f'dan l-eżempju, jekk jien ridt li tfittex l-valur ta '10, 438 00:22:54,530 --> 00:22:57,250 u I tibda fil-ras, u I tfittxija kollha 'l isfel, 439 00:22:57,250 --> 00:23:00,550 u I eventwalment ltqajna biex dan, li a pointer li l-punti li nulla, 440 00:23:00,550 --> 00:23:04,415 Naf li, ħażin, I raden 10 mhux fil din il-lista għaliex I ma setgħetx issib lilha. 441 00:23:04,415 --> 00:23:06,520 U jien fl-aħħar tal-lista. 442 00:23:06,520 --> 00:23:11,040 U f'liema każ inti taf Jien ser jirritornaw falza. 443 00:23:11,040 --> 00:23:12,900 >> Ħalli li soak fl għal ftit. 444 00:23:12,900 --> 00:23:17,350 Dan se jkun pjuttost importanti għall pset tiegħek. 445 00:23:17,350 --> 00:23:21,140 Il-loġika ta 'dan huwa sempliċi ħafna, forsi sintattikament biss jimplimentawh. 446 00:23:21,140 --> 00:23:23,365 You guys tixtieq li tagħmel żgur li tifhem. 447 00:23:23,365 --> 00:23:25,870 448 00:23:25,870 --> 00:23:27,650 Kessaħ. 449 00:23:27,650 --> 00:23:32,560 >> OK, hekk kif irridu jkunu ddaħħal lymph, id-dritt, 450 00:23:32,560 --> 00:23:35,380 fi lista għaliex ftakar liema huma l-dak tal-benefiċċji 451 00:23:35,380 --> 00:23:39,230 li jkun hemm lista marbuta versus firxa f'termini tal-ħażna? 452 00:23:39,230 --> 00:23:41,110 >> UDJENZA: Huwa dinamiku, għalhekk huwa aktar faċli to-- 453 00:23:41,110 --> 00:23:43,180 >> ANDI Peng: Eżattament, dan huwa dinamiku, li 454 00:23:43,180 --> 00:23:46,880 ifisser li tista 'tespandi u tiċkien jiddependi fuq l-utent. 455 00:23:46,880 --> 00:23:56,570 U għalhekk, f'dan is-sens, ma kellniex bżonn iskart memorja żejda minħabba I 456 00:23:56,570 --> 00:24:00,850 jekk I do not know kif ħafna valuri irrid taħżen, ma jagħmilx sens għalija 457 00:24:00,850 --> 00:24:04,310 li toħloq firxa għaliex jekk I tixtieq li taħżen 10 valuri 458 00:24:04,310 --> 00:24:08,380 u I joħolqu firxa ta '1000, li ħafna ta 'memorja moħlija, allokat. 459 00:24:08,380 --> 00:24:11,180 C'est pourquoi irridu li tuża marbuta lista biex ikunu jistgħu dinamikament 460 00:24:11,180 --> 00:24:13,860 bidla jew tiċkien daqs tagħna. 461 00:24:13,860 --> 00:24:17,040 >> U hekk li jagħmel inserzjoni daqsxejn aktar ikkumplikata. 462 00:24:17,040 --> 00:24:20,810 Minħabba li aħna ma tistax saltwarjament aċċess elementi il-mod li aħna se fi skjerament. 463 00:24:20,810 --> 00:24:24,270 Jekk irrid li daħħal element fil-seba 'indiċi, 464 00:24:24,270 --> 00:24:26,930 I biss tista 'daħħal dan fil-seba 'indiċi. 465 00:24:26,930 --> 00:24:30,020 Fuq lista marbuta, ma pjuttost jaħdmu bħala faċilment, 466 00:24:30,020 --> 00:24:34,947 u hekk jekk ridna li daħħal l-waħda hawn fil-lista marbuta, 467 00:24:34,947 --> 00:24:36,280 viżwalment, huwa faċli ħafna biex tara. 468 00:24:36,280 --> 00:24:39,363 Aħna biss trid daħħalha hemm dritt, dritt fil-bidu tal-lista, 469 00:24:39,363 --> 00:24:40,840 dritt wara ras. 470 00:24:40,840 --> 00:24:44,579 >> Iżda l-mod li bih irridu jassenja mill-ġdid l-pointers huwa daqsxejn convoluted 471 00:24:44,579 --> 00:24:47,620 jew, loġikament, jagħmel sens, iżda inti tixtieq li tagħmel ċert li ikollok 472 00:24:47,620 --> 00:24:50,250 kompletament fl għaliex l-aħħar ħaġa li trid 473 00:24:50,250 --> 00:24:52,990 huwa li terġa 'tassenja pointer l mod li aħna qed tagħmel hawn. 474 00:24:52,990 --> 00:24:58,170 Jekk inti dereference l pointer minn ras għal 1, 475 00:24:58,170 --> 00:25:01,086 mbagħad kollha f'daqqa bqija tal-lista marbuta tiegħek 476 00:25:01,086 --> 00:25:04,680 tintilef minħabba int ma attwalment ħolqot xejn temporanju. 477 00:25:04,680 --> 00:25:06,220 Li indikat il-2. 478 00:25:06,220 --> 00:25:10,080 Jekk inti jassenja mill-ġdid l-pointer, allura l- bqija tal-lista tiegħek hija totalment mitlufa. 479 00:25:10,080 --> 00:25:13,310 Allura inti tixtieq li tkun ħafna, ferm attent hawn 480 00:25:13,310 --> 00:25:17,010 l-ewwel tassenja l- pointer minn kwalunkwe inti 481 00:25:17,010 --> 00:25:20,150 tixtieq li daħħal fis kulfejn inti trid, u mbagħad inti 482 00:25:20,150 --> 00:25:22,710 tista dereference-bqija tal-lista tiegħek. 483 00:25:22,710 --> 00:25:25,250 >> Allura dan japplika għall kull fejn inti qed tipprova ddaħħal fil. 484 00:25:25,250 --> 00:25:27,520 Jekk inti tixtieq li daħħal fil- ras, jekk inti tixtieq li tingħata risposta hawn, 485 00:25:27,520 --> 00:25:29,455 jekk inti tixtieq li daħħal fil l-aħħar, ukoll, l-aħħar I 486 00:25:29,455 --> 00:25:30,910 raden inti biss jkollhom l-ebda pointer, iżda inti 487 00:25:30,910 --> 00:25:33,830 tixtieq li tagħmel ċert li inti ma jitilfu l-bqija tal-lista tiegħek. 488 00:25:33,830 --> 00:25:36,640 Int dejjem tixtieq li tagħmel ċert node ġdid tiegħek hija li tipponta 489 00:25:36,640 --> 00:25:39,330 lejn kwalunkwe inti tixtieq li daħħal fis- 490 00:25:39,330 --> 00:25:42,170 u allura inti tista 'żżid l-ikkatenar fuq. 491 00:25:42,170 --> 00:25:43,330 Kulħadd ċara? 492 00:25:43,330 --> 00:25:45,427 >> Dan se jkun waħda mill-kwistjonijiet reali. 493 00:25:45,427 --> 00:25:48,010 Waħda mill-kwistjonijiet l-aktar importanti int ser jkollhom fuq pset tiegħek 494 00:25:48,010 --> 00:25:51,340 hija li inti qed tmur biex tipprova toħloq lista marbuta u affarijiet daħħal 495 00:25:51,340 --> 00:25:53,340 iżda mbagħad biss jitilfu l- bqija tal-lista marbuta tiegħek. 496 00:25:53,340 --> 00:25:54,900 U int se tkun simili, I ma nafx għaliex dan qed jiġri? 497 00:25:54,900 --> 00:25:58,040 U huwa uġigħ li jmorru permezz u tfittxija kollha tal pointers tiegħek. 498 00:25:58,040 --> 00:26:02,100 >> U I garanzija li inti fuq dan pset, kitba u tpinġija dawn in-nodi out 499 00:26:02,100 --> 00:26:03,344 se jkun ħafna, utli ħafna. 500 00:26:03,344 --> 00:26:06,010 Allura inti tista 'kollox żżomm rekord ta 'fejn pointers kollha tiegħek huma, 501 00:26:06,010 --> 00:26:08,540 x'inhu għaddej ħażin, fejn lymph kollha tiegħek huma, 502 00:26:08,540 --> 00:26:12,660 dak li għandek bżonn tagħmel biex jaċċessaw jew daħħal jew tħassar jew xi wieħed minnhom. 503 00:26:12,660 --> 00:26:14,550 Kulħadd tajba ma 'dak? 504 00:26:14,550 --> 00:26:15,050 Kessaħ. 505 00:26:15,050 --> 00:26:19,300 506 00:26:19,300 --> 00:26:22,600 >> Mela jekk ridna li tħares lejn il-kodiċi? 507 00:26:22,600 --> 00:26:24,470 Oh, I do not know jekk aħna jista 'jara the-- OK, so 508 00:26:24,470 --> 00:26:27,940 fil-quċċata kollox huwa huwa funzjoni jismu daħħal fejn irridu 509 00:26:27,940 --> 00:26:31,365 li daħħal int n fil-lista marbuta. 510 00:26:31,365 --> 00:26:32,740 Aħna qed tmur biex jimxu permezz ta 'dan. 511 00:26:32,740 --> 00:26:34,770 Huwa ħafna ta 'kodiċi, lott ta' sintassi ġdida. 512 00:26:34,770 --> 00:26:36,220 Aħna ser tkun OK. 513 00:26:36,220 --> 00:26:39,120 >> Allura fil-quċċata, kull meta irridu noħolqu xi ħaġa 514 00:26:39,120 --> 00:26:42,380 dak li rridu nagħmlu, speċjalment jekk inti jriduhom m'għandhom ikunu maħżuna fuq il-munzell 515 00:26:42,380 --> 00:26:43,920 iżda fil-borġ? 516 00:26:43,920 --> 00:26:45,460 Immorru lil malloc, right? 517 00:26:45,460 --> 00:26:48,240 Allura aħna qed tmur biex joħolqu pointer. 518 00:26:48,240 --> 00:26:52,074 Node, pointer, ugwali ġodda malloc-daqs ta 'node 519 00:26:52,074 --> 00:26:53,740 għaliex irridu li node li jiġu maħluqa. 520 00:26:53,740 --> 00:26:56,720 Aħna rridu l-ammont ta ' memorja li node jieħu 521 00:26:56,720 --> 00:26:59,300 li jridu jiġu assenjati għall- ħolqien tal-node ġdid. 522 00:26:59,300 --> 00:27:02,270 >> U allura aħna qed tmur biex tikkontrolla biex ara jekk ugwali ġodda ugwali null. 523 00:27:02,270 --> 00:27:03,370 Ftakar dak li għidna? 524 00:27:03,370 --> 00:27:06,470 Tkun xi tkun inti malloc, dak li għandu inti dejjem tagħmel? 525 00:27:06,470 --> 00:27:09,490 Għandek dejjem tikkontrolla biex tara jekk dan huwa null. 526 00:27:09,490 --> 00:27:13,620 >> Per eżempju, jekk operattiva tiegħek sistema kienet kompletament sħiħa, 527 00:27:13,620 --> 00:27:17,060 jekk kellek memorja mhux aktar mill- kulħadd u inti tipprova malloc, 528 00:27:17,060 --> 00:27:18,410 dan se jerġa 'lura null għalik. 529 00:27:18,410 --> 00:27:21,094 U hekk jekk inti tipprova tagħmel użu minnha meta kien tipponta lejn null, 530 00:27:21,094 --> 00:27:23,260 int mhux se kapaċi għall-aċċess dik l-informazzjoni. 531 00:27:23,260 --> 00:27:27,010 U hekk bħala tali, ridna li jagħmlu żgur li kull meta inti qed mallocing, 532 00:27:27,010 --> 00:27:30,500 int dejjem verifika biex tara jekk li l-memorja mogħtija lilek huwa null. 533 00:27:30,500 --> 00:27:33,670 U jekk mhuwiex, allura nistgħu jimxu fuq mal-bqija tal-kodiċi tagħna. 534 00:27:33,670 --> 00:27:36,140 >> Allura aħna qed tmur biex initialize l node ġdid. 535 00:27:36,140 --> 00:27:39,050 Aħna qed tmur biex tagħmel n ġdida ugwali n. 536 00:27:39,050 --> 00:27:42,390 U allura aħna qed tmur biex tagħmel sett ġdid il-pointer fuq l-ġdida 537 00:27:42,390 --> 00:27:46,900 li null għaliex dritt issa aħna ma jridu xejn biex din għall-punt li. 538 00:27:46,900 --> 00:27:48,755 Aħna għandna ebda idea fejn li għaddej biex tpoġġi lilek, 539 00:27:48,755 --> 00:27:50,630 u mbagħad jekk irridu daħħalha fil-ras, 540 00:27:50,630 --> 00:27:53,820 allura nistgħu jassenja mill-ġdid l pointer lill-kap. 541 00:27:53,820 --> 00:27:58,530 Ma kulħadd isegwu l-loġika ta 'fejn dik jiġri? 542 00:27:58,530 --> 00:28:02,502 >> Kollha għandna qed tagħmel huwa ħolqien ġdid node, li jistabbilixxi l-pointer li nulla, 543 00:28:02,502 --> 00:28:04,210 u mbagħad jassenjaw mill-ġdid lill-kap jekk irridu 544 00:28:04,210 --> 00:28:06,320 jafu irridu li daħħalha fil-kap. 545 00:28:06,320 --> 00:28:09,420 U allura l-ras se punt lejn dak node ġdid. 546 00:28:09,420 --> 00:28:11,060 Kulħadd OK ma 'dak? 547 00:28:11,060 --> 00:28:12,380 >> Allura huwa proċess f'żewġ stadji. 548 00:28:12,380 --> 00:28:14,760 You ħadthom ltqajna biex tassenja ewwel tkun xi tkun qed jinħolqu. 549 00:28:14,760 --> 00:28:18,260 Set li pointer għall- referenza, u allura inti 550 00:28:18,260 --> 00:28:21,400 tista tip ta 'dereference l-ewwel pointer 551 00:28:21,400 --> 00:28:22,972 u punt hija lejn il-node ġdid. 552 00:28:22,972 --> 00:28:25,680 Kull fejn inti tixtieq li daħħal dan, li l-loġika se treġix. 553 00:28:25,680 --> 00:28:27,530 >> Huwa tip ta 'prodotti simili assenjazzjoni varjabbli temporanji. 554 00:28:27,530 --> 00:28:28,700 Ftakar, inti ħadthom ltqajna biex taċċerta ruħek li 555 00:28:28,700 --> 00:28:30,346 ma jitilfu l-mogħdija ta 'jekk int iskambji. 556 00:28:30,346 --> 00:28:33,470 Inti tixtieq tagħmel ċert li inti għandek varjabbli temporanju dak it-tip ta żżomm 557 00:28:33,470 --> 00:28:35,620 kont ta 'fejn dik ħaġa hija maħżuna sabiex inti 558 00:28:35,620 --> 00:28:41,190 ma jitlef l-ebda valur fil-kors ta 'prodotti simili messing madwar magħha. 559 00:28:41,190 --> 00:28:42,710 >> OK, so kodiċi se jkun hawn. 560 00:28:42,710 --> 00:28:45,020 You guys tagħti ħarsa wara taqsima. 561 00:28:45,020 --> 00:28:48,060 Se jkun hemm. 562 00:28:48,060 --> 00:28:50,280 >> So I raden kif ma Din tvarja jekk ridna 563 00:28:50,280 --> 00:28:52,300 li ddaħħal fil-nofs jew fl-aħħar? 564 00:28:52,300 --> 00:28:57,892 Ħadd ma jkollu idea ta 'x'inhu l- pseudocode bħala r-referenza loġiku 565 00:28:57,892 --> 00:29:00,350 li aħna se tieħu jekk ridna li daħħalha fil-nofs? 566 00:29:00,350 --> 00:29:03,391 Mela jekk ridna li daħħalha fil- ras,-nagħmlu hu li toħloq node ġdid. 567 00:29:03,391 --> 00:29:06,311 Waqqafna l-pointer ta 'dak node ġdid ma 'kwalunkwe ħaġa ir-ras, 568 00:29:06,311 --> 00:29:08,310 u mbagħad aħna waqqafna l-kap għall-node ġdid, id-dritt? 569 00:29:08,310 --> 00:29:11,560 Jekk ridna li daħħalha fil-nofs tal-lista, dak li għandna nagħmlu? 570 00:29:11,560 --> 00:29:14,108 571 00:29:14,108 --> 00:29:16,110 >> UDJENZA: Ikun għadu jkun proċess simili 572 00:29:16,110 --> 00:29:19,114 ta 'prodotti simili assenjazzjoni pointer u imbagħad assenjazzjoni li pointer, 573 00:29:19,114 --> 00:29:20,530 imma rridu naraw li jillokalizza hemmhekk. 574 00:29:20,530 --> 00:29:23,560 >> ANDI Peng: Eżattament, so eżattament l-istess proċess ħlief int 575 00:29:23,560 --> 00:29:27,820 ikollhom biex jillokalizza fejn eżattament inti tixtieq li pointer ġdida li jmorru fi, 576 00:29:27,820 --> 00:29:44,790 hekk jekk irrid li ddaħħal fil f'nofs marbuta list-- OK, 577 00:29:44,790 --> 00:29:46,370 ejja ngħidu li l-lista marbuta tagħna. 578 00:29:46,370 --> 00:29:49,500 Jekk irridu li daħħal dan id-dritt hawn, aħna qed tmur biex jinħoloq node ġdid. 579 00:29:49,500 --> 00:29:50,520 Aħna qed tmur biex malloc. 580 00:29:50,520 --> 00:29:52,220 Aħna qed tmur biex jinħoloq node ġdid. 581 00:29:52,220 --> 00:29:55,940 Aħna qed tmur biex jassenja l- pointer ta 'dan node hawn. 582 00:29:55,940 --> 00:29:58,335 >> Iżda l-problema li hija differenti minn fejn ir-ras hija 583 00:29:58,335 --> 00:30:00,490 hija li aħna kien jaf eżattament fejn ir-ras hija. 584 00:30:00,490 --> 00:30:01,930 Kien id-dritt fl-ewwel, id-dritt? 585 00:30:01,930 --> 00:30:04,870 Iżda hawnhekk konna ltqajna biex iżommu kont ta 'fejn aħna qed ddaħħal dan fis. 586 00:30:04,870 --> 00:30:07,930 Jekk aħna qed tiddaħħal tagħna node hawn, konna ltqajna 587 00:30:07,930 --> 00:30:12,270 biex tiżgura li l- ta 'qabel sabiex dan node 588 00:30:12,270 --> 00:30:14,172 huwa dak li reassigns l pointer. 589 00:30:14,172 --> 00:30:16,380 Mela allura inti għandek tip ta ' iżżomm kont ta 'żewġ affarijiet. 590 00:30:16,380 --> 00:30:19,420 Jekk inti żżomm kont ta 'fejn dan node bħalissa ddaħħal fis. 591 00:30:19,420 --> 00:30:23,280 Inti ukoll għandek biex iżommu kont ta 'fejn l node preċedenti li qed tfittex fi 592 00:30:23,280 --> 00:30:24,340 kien ukoll hemm. 593 00:30:24,340 --> 00:30:25,830 Kulħadd tajba ma 'dak? 594 00:30:25,830 --> 00:30:26,500 KOLLOX SEW. 595 00:30:26,500 --> 00:30:28,000 >> Kif dwar ddaħħal fit-tarf? 596 00:30:28,000 --> 00:30:34,220 Jekk jien ridt li jżidu here-- jekk jien ridt li żżid node ġdid sa l-aħħar ta 'lista, 597 00:30:34,220 --> 00:30:37,009 kif jista I tmur dwar kif isir dan? 598 00:30:37,009 --> 00:30:39,300 UDJENZA: Allura bħalissa, il- aħħar wieħed indikat null. 599 00:30:39,300 --> 00:30:40,960 ANDI Peng: Yeah. 600 00:30:40,960 --> 00:30:43,560 Eżattament, għalhekk dan wieħed bħalissa huwa indikat taf, 601 00:30:43,560 --> 00:30:46,720 u so I raden, f'dan is-sens, huwa faċli ħafna li żżid mal-aħħar ta 'lista. 602 00:30:46,720 --> 00:30:51,810 Kulma għandek tagħmel huwa stabbilit dan daqs null u mbagħad boom. 603 00:30:51,810 --> 00:30:53,070 Hemm dritt, faċli ħafna. 604 00:30:53,070 --> 00:30:53,960 Sempliċi ħafna. 605 00:30:53,960 --> 00:30:56,430 >> Simili ħafna għall- ras, imma loġikament inti 606 00:30:56,430 --> 00:30:59,690 jixtiequ jagħmlu ċert li l-passi tieħu lejn tagħmel xi wieħed minn dan, 607 00:30:59,690 --> 00:31:01,500 int wara flimkien. 608 00:31:01,500 --> 00:31:04,420 Huwa faċli ħafna li, fin-nofs tal-kodiċi tiegħek, nikseb maqbuda fuq, 609 00:31:04,420 --> 00:31:05,671 oh, I ħadthom ltqajna tant pointers. 610 00:31:05,671 --> 00:31:07,461 I do not know fejn xejn hija li tipponta lejn. 611 00:31:07,461 --> 00:31:09,170 I lanqas biss jafu liema node jien fuq. 612 00:31:09,170 --> 00:31:11,490 X'qed jiġri? 613 00:31:11,490 --> 00:31:13,620 >> Jirrilassaw, jikkalma, tieħu nifs fil-fond. 614 00:31:13,620 --> 00:31:15,530 Tfassal l-lista marbuta tiegħek. 615 00:31:15,530 --> 00:31:18,800 Jekk inti tgħidli, naf fejn eżattament I-ħtieġa li daħħal dan in 616 00:31:18,800 --> 00:31:22,970 u naf eżattament kif assenjati mill-ġdid tiegħi pointers, ħafna, ħafna aktar faċli biex stampa 617 00:31:22,970 --> 00:31:27,200 out-- ħafna, ħafna aktar faċli biex ma jintilfu fl-bugs tal-kodiċi tiegħek. 618 00:31:27,200 --> 00:31:29,410 Kulħadd OK ma 'dak? 619 00:31:29,410 --> 00:31:31,380 KOLLOX SEW. 620 00:31:31,380 --> 00:31:35,120 >> So I raden kunċett li aħna ma verament tkellem dwar qabel issa, 621 00:31:35,120 --> 00:31:38,131 u I raden inti probabilment mhux se jiltaqgħu yet-- ħafna 622 00:31:38,131 --> 00:31:40,880 huwa tip ta 'concept-- avvanzat hija li għandna attwalment ikollhom data 623 00:31:40,880 --> 00:31:43,900 istruttura imsejħa lista marbuta doppjament. 624 00:31:43,900 --> 00:31:46,390 Allura kif inti guys tista 'tara, kollha għandna qed tagħmel qed joħloq 625 00:31:46,390 --> 00:31:50,400 ta 'valur attwali, extra pointer fuq kull wieħed lymph tagħna 626 00:31:50,400 --> 00:31:52,660 li jindika wkoll l-node preċedenti. 627 00:31:52,660 --> 00:31:58,170 Allura mhux biss għandna tagħna lymph punt għal dak li jmiss. 628 00:31:58,170 --> 00:32:01,430 Huma wkoll il-punt għall-ewwel waħda. 629 00:32:01,430 --> 00:32:04,310 Jien ser tinjora dawn iż-żewġ dritt issa. 630 00:32:04,310 --> 00:32:06,740 >> Mela allura inti għandek katina li tista 'timxi żewġ modi, 631 00:32:06,740 --> 00:32:09,630 u allura huwa daqsxejn aktar faċli li loġikament ssegwi tul. 632 00:32:09,630 --> 00:32:11,896 Bħal hawn, minflok iżżomm rekord ta ', oh, I 633 00:32:11,896 --> 00:32:14,520 għandek tkun taf li dan node huwa il-wieħed li I għandhom jassenja mill-ġdid, 634 00:32:14,520 --> 00:32:17,532 I tista 'biss tmur hawn u biss iġbed il-preċedenti. 635 00:32:17,532 --> 00:32:19,490 Imbagħad I jafu eżattament fejn jiġifieri, u allura inti 636 00:32:19,490 --> 00:32:21,130 ma jkollhom travers il- intier tal-lista marbuta. 637 00:32:21,130 --> 00:32:22,180 Huwa daqsxejn aktar faċli. 638 00:32:22,180 --> 00:32:24,960 >> Iżda bħala tali, inti għandek doppjament l-ammont ta 'pointers, 639 00:32:24,960 --> 00:32:26,960 dak l-doppju tal-ammont tal-memorja. 640 00:32:26,960 --> 00:32:28,950 Huwa ħafna pointers li jżommu rekord ta '. 641 00:32:28,950 --> 00:32:32,140 Huwa daqsxejn aktar kumplessi, imma hija daqsxejn aktar faċli għall-utent jiddependi 642 00:32:32,140 --> 00:32:34,080 fuq dak li qed tipprova tlesti. 643 00:32:34,080 --> 00:32:36,910 >> Allura dan it-tip ta 'data istruttura totalment teżisti, 644 00:32:36,910 --> 00:32:40,280 u l-istruttura għall huwa ħafna, ħafna sempliċi ħlief kollu int wara hi, 645 00:32:40,280 --> 00:32:43,850 minflok sempliċiment pointer li jmiss, inti jkollok ukoll pointer biex preċedenti. 646 00:32:43,850 --> 00:32:45,940 Dik hija d-differenza kienet. 647 00:32:45,940 --> 00:32:47,740 Kulħadd tajba ma 'dak? 648 00:32:47,740 --> 00:32:48,240 Kessaħ. 649 00:32:48,240 --> 00:32:50,940 650 00:32:50,940 --> 00:32:53,280 >> Kull dritt, hekk issa jien biex verament jonfqu probabbilment 651 00:32:53,280 --> 00:32:56,870 bħal 15 sa 20 minuta jew il-massa tal-bqija tal-ħin fit-taqsima 652 00:32:56,870 --> 00:32:58,360 jitkellem dwar it-tabelli hash. 653 00:32:58,360 --> 00:33:02,590 Kemm inti guys qrajt spec pset5? 654 00:33:02,590 --> 00:33:03,620 Dritt kollox, tajjeb. 655 00:33:03,620 --> 00:33:06,160 Dik hija ogħla mill-50% li normalment. 656 00:33:06,160 --> 00:33:07,560 Orrajt. 657 00:33:07,560 --> 00:33:10,345 >> Allura kif inti guys se tara, int l-isfida fil pset5 658 00:33:10,345 --> 00:33:16,790 huwa li jiġu implimentati dizzjunarju fejn inti tagħbija fuq 140,000 kliem 659 00:33:16,790 --> 00:33:20,610 li aħna nagħtuk u kontroll jespliċitaw dan fid-dawl tal-test. 660 00:33:20,610 --> 00:33:22,580 Aħna ser jagħtuk każwali biċċiet tal-letteratura. 661 00:33:22,580 --> 00:33:23,520 Aħna ser jagħtuk Il Odyssey. 662 00:33:23,520 --> 00:33:24,561 Aħna ser jagħtuk Il Iliad. 663 00:33:24,561 --> 00:33:26,350 Aħna ser jagħtuk Poteri Austin. 664 00:33:26,350 --> 00:33:28,220 >> U l-isfida tiegħek se jkun li jespliċitaw check 665 00:33:28,220 --> 00:33:31,760 kull kelma waħda fl- ta 'dawk dizzjunarji 666 00:33:31,760 --> 00:33:34,960 essenzjalment ma jespliċitaw tagħna. 667 00:33:34,960 --> 00:33:38,620 U hekk hemm ftit partijiet ta jinħoloq dan pset, 668 00:33:38,620 --> 00:33:41,970 ewwel inti tixtieq li tkun tista 'attwalment tagħbija 669 00:33:41,970 --> 00:33:43,970 il-kliem kollha fis tiegħek dizzjunarju, u allura inti 670 00:33:43,970 --> 00:33:45,530 tixtieq li tkun tista ' jespliċitaw check kollha kemm huma. 671 00:33:45,530 --> 00:33:48,780 U hekk bħala tali, int ser jeħtieġu struttura data li tista 'tagħmel dan malajr 672 00:33:48,780 --> 00:33:50,790 u b'mod effiċjenti u dinamiku. 673 00:33:50,790 --> 00:33:52,900 >> So I jissoponi l-eħfef mod biex isir dan, inti 674 00:33:52,900 --> 00:33:55,010 probabbilment toħloq firxa, id-dritt? 675 00:33:55,010 --> 00:33:58,910 L-eħfef mod ta 'ħażna huwa inti jistgħu joħolqu firxa ta '140,000 kliem 676 00:33:58,910 --> 00:34:03,400 u biss tpoġġihom kollha hemm u imbagħad travers lilhom mill tfittxija binarja 677 00:34:03,400 --> 00:34:06,780 jew minn selezzjonijiet jew not-- sorry li l-issortjar. 678 00:34:06,780 --> 00:34:10,729 Tista sort lilhom u mbagħad travers minnhom billi tfittxija binarju jew tfittxija eżatt lineari 679 00:34:10,729 --> 00:34:13,730 u biss finali l-kliem, iżda li jieħu ammont kbir ta 'memorja, 680 00:34:13,730 --> 00:34:15,190 u mhuwiex effiċjenti ħafna. 681 00:34:15,190 --> 00:34:18,350 >> U hekk aħna qed tmur biex tibda jitkellem dwar modi ta 'teħid 682 00:34:18,350 --> 00:34:20,110 running time tagħna aktar effiċjenti. 683 00:34:20,110 --> 00:34:23,190 U l-għan tagħna huwa li tikseb ħin kostanti fejn 684 00:34:23,190 --> 00:34:25,810 huwa kważi simili arrays, fejn ikollok aċċess istantanja. 685 00:34:25,810 --> 00:34:28,560 Jekk jien ridt li tfittex għal xejn, Irrid li tkun tista 'biss, 686 00:34:28,560 --> 00:34:30,810 boom, isibuha eżattament, u iġbed it out. 687 00:34:30,810 --> 00:34:34,100 U hekk struttura li fiha aħna ser tkun isir viċin ħafna 688 00:34:34,100 --> 00:34:37,569 li jkun kapaċi jaċċessa kostanti time, din Grail qaddis 689 00:34:37,569 --> 00:34:41,370 fl-ipprogrammar ta 'kostanti ħin tissejjaħ tabella hash. 690 00:34:41,370 --> 00:34:45,370 U hekk David imsemmi qabel il- [Inaudible] ftit fil lecture, 691 00:34:45,370 --> 00:34:49,100 imma aħna qed tmur biex verament adsa fil-fond din il-ġimgħa 692 00:34:49,100 --> 00:34:51,780 fuq biċċa li fir-rigward kif tabella hash xogħlijiet. 693 00:34:51,780 --> 00:34:53,949 >> Allura l-mod li hash xogħlijiet mejda, per eżempju, 694 00:34:53,949 --> 00:35:00,230 jekk jien ridt li jaħżen mazz ta 'kliem, a mazz ta 'kliem fil-lingwa Ingliża, 695 00:35:00,230 --> 00:35:02,940 I tista 'tpoġġi teoretikament banana, tuffieħ, kiwi, mango, par, 696 00:35:02,940 --> 00:35:04,980 u cantaloupe kollha fuq biss firxa. 697 00:35:04,980 --> 00:35:07,044 Huma kollha tista 'toqgħod tajjeb fi u jiġu ssib. 698 00:35:07,044 --> 00:35:09,210 Hija d jkun it-tip ta 'uġigħ li tfittxija permezz ta 'u aċċess, 699 00:35:09,210 --> 00:35:12,920 iżda l-mod aktar faċli ta 'kif isir dan huwa li nistgħu noħolqu attwalment struttura 700 00:35:12,920 --> 00:35:15,680 imsejħa tabella hash fejn aħna hash. 701 00:35:15,680 --> 00:35:19,880 We run kollha ta 'ċwievet tagħna permezz funzjoni hash, ekwazzjoni, 702 00:35:19,880 --> 00:35:22,600 li jixgħel lilhom kollha fis xi tip ta 'valur 703 00:35:22,600 --> 00:35:28,740 li allura aħna jista 'jaħżen fuq essenzjalment firxa ta 'lista marbuta. 704 00:35:28,740 --> 00:35:32,570 >> U hekk hawn, jekk ridna biex jaħżnu kliem Ingliż, 705 00:35:32,570 --> 00:35:37,250 nistgħu potenzjalment biss, jien ma jafu, dawwar l-ewwel ittri 706 00:35:37,250 --> 00:35:39,630 għal xi tip ta 'numru. 707 00:35:39,630 --> 00:35:43,140 U għalhekk, per eżempju, jekk jien ridt A sabiex ikunu sinonimi ma 'apple-- 708 00:35:43,140 --> 00:35:47,460 jew bl-indiċi ta '0, u B sabiex ikunu sinonimi ma '1, 709 00:35:47,460 --> 00:35:51,030 li jista 'jkollna 26 iskrizzjonijiet li tista 'biss jaħżen 710 00:35:51,030 --> 00:35:53,610 kollha tal-ittri tal- alfabett li aħna ser tibda bil. 711 00:35:53,610 --> 00:35:56,130 U allura jista 'jkollna tuffieħ fil-indiċi 0. 712 00:35:56,130 --> 00:35:59,160 Jista 'jkollna banana fil-indiċi tal 1, cantaloupe fil-indiċi ta '2, 713 00:35:59,160 --> 00:36:00,540 u hekk u ibqa 'sejjer hekk. 714 00:36:00,540 --> 00:36:04,460 U għalhekk jekk jien ridt li tfittex hash tiegħi mejda u l-aċċess tat-tuffieħ, 715 00:36:04,460 --> 00:36:07,560 Naf tuffieħ jibda bil A, u naf eżattament 716 00:36:07,560 --> 00:36:10,860 li għandu jkun u l-hash tabella li tinsab fil-indiċi 0 għaliex 717 00:36:10,860 --> 00:36:13,620 tal-funzjoni assenjat preċedentement. 718 00:36:13,620 --> 00:36:16,572 >> So I do not know, aħna programm utent fejn 719 00:36:16,572 --> 00:36:18,780 inti ser tingħata l-inkarigu arbitrarily-- mhux arbitrarju, 720 00:36:18,780 --> 00:36:22,530 ma tipprova thoughtfully think ta 'ekwazzjonijiet tajba 721 00:36:22,530 --> 00:36:25,460 biex ikunu jistgħu jinfirxu kollha ta 'valuri tiegħek 722 00:36:25,460 --> 00:36:29,370 b'mod li faċilment tista 'aċċess dan aktar tard ma bħall-ekwazzjoni 723 00:36:29,370 --> 00:36:31,130 li inti, lilek innifsek, jafu. 724 00:36:31,130 --> 00:36:35,210 Allura fis-sens jekk jien ridt li jmorru lil mango, I know, oh, li jibda bil m. 725 00:36:35,210 --> 00:36:37,134 Għandu jkun fil-indiċi tat-12. 726 00:36:37,134 --> 00:36:38,800 I ma jkollhom tfittxija permezz xejn. 727 00:36:38,800 --> 00:36:42,080 I know exactly-- I jistgħu biss jmorru għall l-indiċi tat-12 u iġbed dan out. 728 00:36:42,080 --> 00:36:45,520 >> Kulħadd ċara dwar kif funzjoni tabella hash tal jaħdem? 729 00:36:45,520 --> 00:36:48,380 Huwa tip ta 'ftit firxa aktar kumplessi. 730 00:36:48,380 --> 00:36:50,010 Li kollox huwa. 731 00:36:50,010 --> 00:36:51,630 KOLLOX SEW. 732 00:36:51,630 --> 00:36:57,690 >> So I raden we run fis din il-kwistjoni ta 'liema 733 00:36:57,690 --> 00:37:06,390 jiġri jekk għandek affarijiet multipli li jagħtuk l-istess indiċi? 734 00:37:06,390 --> 00:37:10,570 Allura ngħid funzjoni tagħna, kollox ma kien jieħu dik l-ewwel ittra 735 00:37:10,570 --> 00:37:14,490 u dawwar li fi rispettiv 0 permezz 25 indiċi. 736 00:37:14,490 --> 00:37:17,137 C'est totalment multa jekk inti biss għandek wieħed kull wieħed. 737 00:37:17,137 --> 00:37:18,970 Iżda t-tieni tibda li jkollhom aktar, int 738 00:37:18,970 --> 00:37:20,910 ser ikollhom dak li sejjaħ 'ħabta. 739 00:37:20,910 --> 00:37:25,580 >> Mela jekk jien nipprova daħħal midfuna ġo hash tabella li diġà għandu banana fuqha, 740 00:37:25,580 --> 00:37:27,870 x'inhu jiġri meta inti tipprova biex jiddaħħal li? 741 00:37:27,870 --> 00:37:30,930 Affarijiet ħżiena minħabba banana diġà jeżisti fi ħdan l-indiċi 742 00:37:30,930 --> 00:37:33,800 li inti tixtieq li jaħżen fil. 743 00:37:33,800 --> 00:37:35,560 Berry tip ta 'huwa simili, ah, x'għandi nagħmel? 744 00:37:35,560 --> 00:37:37,080 I do not know fejn imorru. 745 00:37:37,080 --> 00:37:38,410 Kif nista issolvi din? 746 00:37:38,410 --> 00:37:41,150 >> U hekk inti guys tip se ta tara nagħmlu dan ħaġa delikata 747 00:37:41,150 --> 00:37:44,810 fejn nistgħu tip ta 'fatt joħolqu lista marbuta arrays tagħna. 748 00:37:44,810 --> 00:37:46,840 U għalhekk l-eħfef mod biex jaħsbu dwar dan, 749 00:37:46,840 --> 00:37:50,830 kollha tabella hash hija firxa ta 'listi marbuta. 750 00:37:50,830 --> 00:37:55,670 U għalhekk, f'dan is-sens, għandek dan firxa sabiħa ta 'pointers, 751 00:37:55,670 --> 00:37:58,740 u mbagħad kull pointer fil dan il-valur, f'dak l-indiċi, 752 00:37:58,740 --> 00:38:00,740 jistgħu iwasslu għall-affarijiet oħra. 753 00:38:00,740 --> 00:38:05,720 U hekk ikollok dawn kollha separata ktajjen ġejjin off ta 'matriċi semikonduttur wieħed big. 754 00:38:05,720 --> 00:38:07,960 >> U hekk hawn, jekk I riedu li daħħal berry, 755 00:38:07,960 --> 00:38:11,220 Naf, OK, jien ser input permezz funzjoni hash tiegħi. 756 00:38:11,220 --> 00:38:15,070 Jien ser jispiċċaw ma 'l-indiċi ta' 1, u mbagħad jien ser ikunu jistgħu jkollhom 757 00:38:15,070 --> 00:38:20,410 biss subsett iżgħar ta 'din ġgant dizzjunarju 140,000 kelma. 758 00:38:20,410 --> 00:38:24,220 U allura nista 'tfittex biss permezz 26/01 ta 'dak. 759 00:38:24,220 --> 00:38:27,910 >> U hekk allura I tista 'biss daħħal berry jew qabel jew wara banana 760 00:38:27,910 --> 00:38:28,820 f'dan il-każ? 761 00:38:28,820 --> 00:38:29,700 Wara, id-dritt? 762 00:38:29,700 --> 00:38:33,920 U hekk int tmur jridu daħħal dan node wara banana, 763 00:38:33,920 --> 00:38:36,667 u għalhekk inti qed tmur biex tiddaħħal fil-denb ta 'dik il-lista marbuta. 764 00:38:36,667 --> 00:38:38,500 Jien se jmorru lura għal dan slide preċedenti, 765 00:38:38,500 --> 00:38:40,680 sabiex inti guys tista 'tara kif funzjoni hash xogħlijiet. 766 00:38:40,680 --> 00:38:43,980 >> Allura funzjoni hash hija din l-ekwazzjoni li int taħdem tip ta 'input tiegħek 767 00:38:43,980 --> 00:38:46,940 permezz biex jiksbu dak kollu indiċi inti tixtieq li tassenja din lejn. 768 00:38:46,940 --> 00:38:51,130 U għalhekk, f'dan l-eżempju, kollha ridna tagħmel kien jieħu l-ewwel ittra, 769 00:38:51,130 --> 00:38:55,890 dawran dan in indiċi, allura aħna jista 'jaħżen li fil-funzjoni hash tagħna. 770 00:38:55,890 --> 00:39:00,160 Kollha għandna qed tagħmel hawnhekk hija li aħna qed konverżjoni l-ewwel ittra. 771 00:39:00,160 --> 00:39:04,770 Allura keykey [0] huwa biss l-ewwel ittra ta 'kwalunkwe string qed ikollna, 772 00:39:04,770 --> 00:39:05,720 aħna qed tgħaddi fil. 773 00:39:05,720 --> 00:39:09,740 Aħna qed konverżjoni li biex fuq, u aħna qed jitnaqqas mill uppercase A, 774 00:39:09,740 --> 00:39:11,740 sabiex dak kollu li qed tagħmel qed tagħti us numru 775 00:39:11,740 --> 00:39:13,670 li bihom nistgħu hash valuri tagħna fuq. 776 00:39:13,670 --> 00:39:16,550 >> U allura aħna qed tmur biex ritorn DAQS modulus hash. 777 00:39:16,550 --> 00:39:19,340 Be ħafna, ferm attent għaliex, teoretikament, hawn 778 00:39:19,340 --> 00:39:21,870 valur hash tiegħek jista 'jkun infinita. 779 00:39:21,870 --> 00:39:23,660 Hija tista 'biss tmur fuq u fuq u fuq. 780 00:39:23,660 --> 00:39:26,080 Jista 'jkun hemm xi verament, verament valur kbir, 781 00:39:26,080 --> 00:39:29,849 iżda minħabba tabella hash tiegħek li inti stajt maħluqa biss għandha 26 indiċijiet, 782 00:39:29,849 --> 00:39:31,890 inti tixtieq li tagħmel ċert tiegħek modulusing sabiex inti 783 00:39:31,890 --> 00:39:33,848 ma run-- huwa l-istess ħaġa bħala queue-- tiegħek 784 00:39:33,848 --> 00:39:36,320 sabiex inti ma run off l qiegħ tal-funzjoni hash tiegħek. 785 00:39:36,320 --> 00:39:39,210 >> Inti tixtieq li wrap lura madwar bl-istess mod fl [inaudible] meta 786 00:39:39,210 --> 00:39:41,750 kellek bħal ħafna, ittra kbir ħafna, inti 787 00:39:41,750 --> 00:39:43,740 ma riedx li biex biss run off-aħħar. 788 00:39:43,740 --> 00:39:46,948 L-istess ħaġa hawn, inti tixtieq li tagħmel ċert ma tmurx off-aħħar mill tgeżwir 789 00:39:46,948 --> 00:39:48,330 madwar l-quċċata tat-tabella. 790 00:39:48,330 --> 00:39:50,530 Allura dan huwa biss ħafna funzjoni hash sempliċi. 791 00:39:50,530 --> 00:39:56,570 Dak kollu li ma kien jieħu l-ewwel ittra ta 'kwalunkwe input tagħna kien 792 00:39:56,570 --> 00:40:01,660 u dawwar dan in indiċi li nistgħu jitqiegħed fis-mejda hash tagħna. 793 00:40:01,660 --> 00:40:05,450 >> Yeah, u għalhekk kif għidt qabel, il-mod li aħna isolvu ħabtiet 794 00:40:05,450 --> 00:40:09,330 fil hash tagħna tabelli huma jkollhom, dak li nsejħu, ikkatenar. 795 00:40:09,330 --> 00:40:13,860 Mela jekk inti tipprova li daħħal multipli kliem li jibdew bl-istess ħaġa, 796 00:40:13,860 --> 00:40:16,145 int se jkollhom valur hash wieħed. 797 00:40:16,145 --> 00:40:18,770 Avokado u tuffieħ, jekk inti stajt run permezz funzjoni hash tagħna, 798 00:40:18,770 --> 00:40:21,450 huma ser jagħtuk l- istess numru, l-għadd ta '0. 799 00:40:21,450 --> 00:40:24,550 U għalhekk l-mod kif aħna issolvi din hija li nistgħu ngħidu tip ta 'jorbtuhom 800 00:40:24,550 --> 00:40:27,010 flimkien permezz listi marbuta. 801 00:40:27,010 --> 00:40:29,600 >> U hekk f'dan is-sens, inti guys tista 'tara tip 802 00:40:29,600 --> 00:40:32,640 ta 'kif data strutturi li aħna kont qed preċedentement ikun ingħata 803 00:40:32,640 --> 00:40:35,870 bħal żbib marbut lista tip ta jistgħu jiltaqgħu f'waħda. 804 00:40:35,870 --> 00:40:38,860 U allura inti tista 'toħloq ħafna strutturi tad-dejta aktar effiċjenti 805 00:40:38,860 --> 00:40:43,350 li jistgħu jieħdu ammonti akbar ta ' data, li dinamikament resize jiddependi 806 00:40:43,350 --> 00:40:44,870 fuq il-bżonnijiet tiegħek. 807 00:40:44,870 --> 00:40:45,620 Kulħadd ċara? 808 00:40:45,620 --> 00:40:47,580 Kulħadd tip ta 'kriterji ċari fuq dak li jiġri hawn? 809 00:40:47,580 --> 00:40:52,110 >> Jekk jien ridt li insert-- x'hemm frott li tibda bi, I do not know, 810 00:40:52,110 --> 00:40:54,726 B, minbarra berry, banana. 811 00:40:54,726 --> 00:40:55,710 >> UDJENZA: tut. 812 00:40:55,710 --> 00:40:57,910 >> ANDI Peng: tut, tut. 813 00:40:57,910 --> 00:41:00,530 Fejn ma tut mur hawn? 814 00:41:00,530 --> 00:41:04,251 Well, aħna fil-fatt ma jkunux magħżula dan s'issa, iżda teoretikament 815 00:41:04,251 --> 00:41:06,250 jekk ridna li jkollhom din f'ordni alfabetiku, 816 00:41:06,250 --> 00:41:07,944 fejn għandhom tut imorru? 817 00:41:07,944 --> 00:41:09,210 >> UDJENZA: [inaudible] 818 00:41:09,210 --> 00:41:11,100 >> ANDI Peng: Eżattament, wara hawn, id-dritt? 819 00:41:11,100 --> 00:41:14,950 Iżda peress li huwa diffiċli ħafna li reorder-- I raden huwa sa inti guys. 820 00:41:14,950 --> 00:41:17,920 You guys tista totalment jimplimentaw xi trid. 821 00:41:17,920 --> 00:41:20,730 Il-mod aktar effiċjenti kif isir dan forsi 822 00:41:20,730 --> 00:41:24,570 Ikun biex issolvi marbuta tiegħek lista fl-ordni alfabetiku, 823 00:41:24,570 --> 00:41:26,520 u hekk meta int ddaħħal affarijiet, inti tixtieq 824 00:41:26,520 --> 00:41:28,632 biex tkun żgur li daħħal fl-ordni alfabetiku 825 00:41:28,632 --> 00:41:30,590 b'tali mod li allura meta int jippruvaw tiftix għalihom, 826 00:41:30,590 --> 00:41:32,410 inti ma għandekx travers kollox. 827 00:41:32,410 --> 00:41:35,290 Inti taf eżattament fejn huwa, u huwa aktar faċli. 828 00:41:35,290 --> 00:41:39,100 >> Imma jekk inti tip ta 'għandek affarijiet b'intervall saltwarjament, 829 00:41:39,100 --> 00:41:41,420 int xorta se jkollhom travers anyways. 830 00:41:41,420 --> 00:41:44,990 U hekk jekk jien ridt li biss daħħal blackberry hawn 831 00:41:44,990 --> 00:41:47,470 u jien ridt li tfittxija għal dan, I know, oh, tut 832 00:41:47,470 --> 00:41:52,012 għandu jibda bl-indiċi ta '1, so I taf istantanjament biss tfittxija fuq 1. 833 00:41:52,012 --> 00:41:53,970 U allura nista tip ta ' travers il-lista marbuta 834 00:41:53,970 --> 00:41:56,120 sakemm nasal biex tut, u then-- yeah? 835 00:41:56,120 --> 00:41:59,550 >> UDJENZA: Jekk inti qed tipprova create-- I raden bħal din hija hash sempliċi ħafna 836 00:41:59,550 --> 00:42:00,050 funzjoni. 837 00:42:00,050 --> 00:42:02,835 U jekk ridna li tagħmel saffi multipli ta 'dak simili, 838 00:42:02,835 --> 00:42:05,870 OK, irridu biex tkun separata fi bħall l-ittri alfabetiċi 839 00:42:05,870 --> 00:42:09,040 u mbagħad għal darb'oħra li bħal sett ieħor ta 'ittri alfabetiċi fi ħdan dak, 840 00:42:09,040 --> 00:42:11,715 aħna tqegħid bħal hash mejda fit-tabella hash, 841 00:42:11,715 --> 00:42:13,256 jew bħal funzjoni fi ħdan funzjoni? 842 00:42:13,256 --> 00:42:14,880 Jew hija that-- 843 00:42:14,880 --> 00:42:17,510 >> ANDI Peng: Allura hash tiegħek function-- tabella hash tiegħek 844 00:42:17,510 --> 00:42:19,360 jista 'jkun kbir kemm inti tixtieq li. 845 00:42:19,360 --> 00:42:21,930 Allura f'dan is-sens, ħsibt kien faċli ħafna, ħafna 846 00:42:21,930 --> 00:42:25,320 sempliċi biex nagħmel bbażata biss tip fuq l-ittri ta 'l-ewwel kelma. 847 00:42:25,320 --> 00:42:28,690 U hekk hemm biss 26 għażliet. 848 00:42:28,690 --> 00:42:32,650 I tista 'biss tikseb 26 għażliet minn 0-25 għaliex dawn jistgħu biss 849 00:42:32,650 --> 00:42:36,510 tibda minn A sa Z. Imma Jekk int riedu li jżid, forsi, aktar kumplessità 850 00:42:36,510 --> 00:42:39,260 jew il-ħin aktar mgħaġġel run biex tiegħek tabella hash, inti assolutament 851 00:42:39,260 --> 00:42:40,760 jistgħu jagħmlu kull tip ta 'affarijiet. 852 00:42:40,760 --> 00:42:43,330 Inti tista 'tagħmel tiegħek ekwazzjoni li jagħtik 853 00:42:43,330 --> 00:42:48,000 distribuzzjoni aktar fil tiegħek kliem, allura meta inti tfittex, 854 00:42:48,000 --> 00:42:49,300 li għaddej biex jkun aktar mgħaġġel. 855 00:42:49,300 --> 00:42:52,100 >> Huwa totalment sa inti guys kif inti tixtieq li jimplimentaw dik. 856 00:42:52,100 --> 00:42:55,140 Jaħsbu li bħala biss bramel. 857 00:42:55,140 --> 00:42:57,376 Jekk jien ridt li jkollhom 26 bramel, jien ser 858 00:42:57,376 --> 00:42:59,420 biex issolvi l-affarijiet f'dawn is bramel. 859 00:42:59,420 --> 00:43:02,980 Imma jien ser ikollhom mazz ta 'għalf f'kull barmil, 860 00:43:02,980 --> 00:43:05,890 hekk jekk inti tixtieq li tagħmel dan aktar mgħaġġla u aktar effiċjenti, 861 00:43:05,890 --> 00:43:07,190 let me jkollhom mitt bramel. 862 00:43:07,190 --> 00:43:09,290 >> Imma mbagħad għandek biex insemmu mod biex issolvi l-affarijiet sabiex ikunu 863 00:43:09,290 --> 00:43:11,040 fil-barmil xierqa għandhom ikunu fil. 864 00:43:11,040 --> 00:43:13,331 Imma mbagħad meta inti fil-fatt trid tħares lejn dak barmil, 865 00:43:13,331 --> 00:43:16,410 huwa ħafna aktar malajr għaliex hemm Jittieħed inqas f'kull barmil. 866 00:43:16,410 --> 00:43:20,250 U għalhekk, yeah, li fil-fatt l-trick għalik guys fil pset5 867 00:43:20,250 --> 00:43:22,360 hija li inti ser tkun isfida li jinħolqu biss 868 00:43:22,360 --> 00:43:26,170 tkun xi tkun l-aktar effiċjenti funzjoni inti tista 'taħseb li jkun 869 00:43:26,170 --> 00:43:28,520 kapaċi jaħżen u jiċċekkjaw dawn il-valuri. 870 00:43:28,520 --> 00:43:30,840 >> Totalment sa inti guys madankollu inti tixtieq li tagħmel dan, 871 00:43:30,840 --> 00:43:32,229 iżda li l-punt verament tajba. 872 00:43:32,229 --> 00:43:34,520 Li t-tip ta 'loġika inti tixtieq li tibda taħseb dwar 873 00:43:34,520 --> 00:43:37,236 hija, ukoll, għaliex ma nista 'tagħmel aktar bramel. 874 00:43:37,236 --> 00:43:39,527 U mbagħad I jkollhom tfittxija affarijiet inqas, u mbagħad forsi I 875 00:43:39,527 --> 00:43:41,640 għandhom funzjoni hash differenti. 876 00:43:41,640 --> 00:43:45,500 >> Yeah, hemm ħafna ta 'modi biex tagħmel dan pset, xi wħud huma aktar malajr minn oħrajn. 877 00:43:45,500 --> 00:43:50,630 Jien totalment ser biss tara kif fast kien l-aktar mgħaġġla inti guys se 878 00:43:50,630 --> 00:43:55,170 tkun kapaċi tikseb l-funzjonijiet tiegħek biex jaħdmu. 879 00:43:55,170 --> 00:43:58,176 OK, kulħadd fuq tajba Katinar u hash tabelli? 880 00:43:58,176 --> 00:44:00,800 Huwa fil-fatt simili sempliċi ħafna kunċett jekk inti taħseb dwarha. 881 00:44:00,800 --> 00:44:05,160 Kull ma huwa huwa tissepara x'ikun inputs tiegħek huma fis bramel, 882 00:44:05,160 --> 00:44:10,670 għażla tagħhom, u mbagħad tfittex l- jelenka li hemm assoċjati magħhom. 883 00:44:10,670 --> 00:44:11,852 >> Kessaħ. 884 00:44:11,852 --> 00:44:18,160 Kull dritt, issa għandna tip differenti ta 'struttura data li sejjaħ siġra. 885 00:44:18,160 --> 00:44:20,850 Ejja jmorru fuq u jitkellmu dwar tipprova li huma distintament differenti, 886 00:44:20,850 --> 00:44:22,330 iżda fl-istess kategorija. 887 00:44:22,330 --> 00:44:29,010 Essenzjalment, kollha siġra hija minflok li jorganizzaw data fil-mod lineari 888 00:44:29,010 --> 00:44:32,560 li t-tabella hash does-- inti jafu, huwa ltqajna top u qiegħ 889 00:44:32,560 --> 00:44:37,900 u allura inti tip ta 'rabta off ta it-- a siġra għandha top li inti sejħa l-għeruq, 890 00:44:37,900 --> 00:44:40,220 u allura weraq kollu madwaru. 891 00:44:40,220 --> 00:44:42,390 >> U għalhekk kull ma għandek hawn huwa biss il-node quċċata 892 00:44:42,390 --> 00:44:45,980 li l-punti li lymph oħra, li l-punti għal aktar lymph, u hekk u ibqa 'sejjer hekk. 893 00:44:45,980 --> 00:44:48,130 U għalhekk inti biss għandek fergħat qsim. 894 00:44:48,130 --> 00:44:53,255 Huwa biss mod differenti ta 'organizzazzjoni data, u għaliex aħna sejħa hija siġra, 895 00:44:53,255 --> 00:44:56,270 inti guys just-- huwa biss immudellat out tfittex bħal siġra. 896 00:44:56,270 --> 00:44:57,670 C'est pourquoi nagħmlu sejħa hija siġar. 897 00:44:57,670 --> 00:44:59,370 >> Tabella hash qisu tabella. 898 00:44:59,370 --> 00:45:01,310 A siġra biss qisu siġra. 899 00:45:01,310 --> 00:45:03,300 Kull ma huwa hija separata mod kif jiġi organizzat lymph 900 00:45:03,300 --> 00:45:06,020 jiddependi fuq liema bżonnijiet tiegħek. 901 00:45:06,020 --> 00:45:11,810 >> Allura inti għandek għerq u imbagħad inti għandek weraq. 902 00:45:11,810 --> 00:45:15,380 Il-mod li nistgħu partikolarment taħseb dwarha hija siġra binarju, 903 00:45:15,380 --> 00:45:18,150 siġra binarju huwa biss tip speċifiku ta 'siġra 904 00:45:18,150 --> 00:45:22,450 fejn kull node punti biss li, fil max, żewġ punti strateġiċi oħrajn. 905 00:45:22,450 --> 00:45:25,434 U hekk hawn ikollok distinti simetrija fil siġra tiegħek 906 00:45:25,434 --> 00:45:28,600 li jagħmilha aktar faċli biex it-tip ta ħarsa lejn dak valuri inti għaliex imbagħad inti 907 00:45:28,600 --> 00:45:30,150 għandhom dejjem xellug jew dritt. 908 00:45:30,150 --> 00:45:33,150 Hemm qatt simili terz xellug mill ix-xellug jew ir-raba minn fuq ix-xellug. 909 00:45:33,150 --> 00:45:36,358 Huwa biss għandek xellug u dritt u inti tista 'tfittex waħda minn dawn iż-żewġ. 910 00:45:36,358 --> 00:45:38,980 U hekk għaliex dan ikun utli? 911 00:45:38,980 --> 00:45:40,980 Il-mod li dan huwa utli jekk inti qed tfittex 912 00:45:40,980 --> 00:45:42,890 li tfittex valuri, id-dritt? 913 00:45:42,890 --> 00:45:45,640 Pjuttost milli timplimenta binarja tfittxija fil-firxa żball, 914 00:45:45,640 --> 00:45:49,260 jekk int riedu li jkunu jistgħu jdaħħlu lymph u jieħdu bogħod lymph fil-se u wkoll 915 00:45:49,260 --> 00:45:52,185 tippreserva l-tfittxija kapaċitajiet ta 'tiftix binarja. 916 00:45:52,185 --> 00:45:54,560 Allura b'dan il-mod, aħna qed tip ta ' tricking-- tiftakar meta aħna 917 00:45:54,560 --> 00:45:56,530 qal listi marbuta ma tistax tfittxija binarja? 918 00:45:56,530 --> 00:46:01,700 Aħna tip ta 'ħolqien ta' struttura data li tricks dan in-ħidma. 919 00:46:01,700 --> 00:46:05,034 >> U l-listi hekk minħabba marbuta huma lineari, huma biss ħolqa waħda wara l-oħra. 920 00:46:05,034 --> 00:46:06,950 Nistgħu tip ta 'jkollhom tip differenti ta 'pointers 921 00:46:06,950 --> 00:46:09,408 F'dak il-punt fin-nodi differenti li tista 'tgħinna mal-tfittxija. 922 00:46:09,408 --> 00:46:12,590 U hekk hawn, jekk jien ridt li jkollhom siġra tfittxija binarju, 923 00:46:12,590 --> 00:46:14,090 Naf li nofs tiegħi jekk 55. 924 00:46:14,090 --> 00:46:18,280 Jien biss ser toħloq li kif nofs tiegħi, bħala għerq tiegħi, 925 00:46:18,280 --> 00:46:20,770 u mbagħad jien ser ikollhom Valuri spin off ta 'dan. 926 00:46:20,770 --> 00:46:25,610 >> Allura hawnhekk, jekk jien ser tfittex għal il-valur ta '66, I jistgħu jibdew fi 55. 927 00:46:25,610 --> 00:46:27,310 Huwa 66 akbar minn 55? 928 00:46:27,310 --> 00:46:30,970 Iva huwa, so I know I għandha tasal tfittxija ni l pointer dritt ta 'din is-siġra. 929 00:46:30,970 --> 00:46:32,440 Mmur 77. 930 00:46:32,440 --> 00:46:35,367 OK, huwa inqas minn 66 jew akbar minn 77? 931 00:46:35,367 --> 00:46:37,950 Huwa inqas minn, sabiex inti tkun taf, oh, li għandu jkun l-node xellug. 932 00:46:37,950 --> 00:46:41,410 >> U hekk hawn aħna qed tip ta 'preservazzjoni l-affarijiet kbar dwar arrays, 933 00:46:41,410 --> 00:46:44,420 hekk bħall resizing dinamiku ta 'oġġetti, li 934 00:46:44,420 --> 00:46:49,530 kapaċi li daħħal u ħassar fil-se, mingħajr ma joqogħdu jinkwetaw dwar l-fiss 935 00:46:49,530 --> 00:46:50,370 ammont ta 'spazju. 936 00:46:50,370 --> 00:46:52,820 Aħna xorta tippreserva kollha dawk l-affarijiet mill-isbaħ 937 00:46:52,820 --> 00:46:57,140 filwaqt li jkunu kapaċi biex jippreservaw il-wkoll log u tfittxija ħin ta 'tfittxija binarja 938 00:46:57,140 --> 00:47:00,450 li konna biss qabel kapaċi tikseb frażi. 939 00:47:00,450 --> 00:47:06,310 >> Istruttura tad-data jibred, tip ta ' kumplessi biex jiġu implimentati, l-node. 940 00:47:06,310 --> 00:47:08,311 Kif tistgħu taraw, dan kollu huwa l-Struct tal-node 941 00:47:08,311 --> 00:47:10,143 huwa li inti għandek xellug u pointer dritt. 942 00:47:10,143 --> 00:47:11,044 Li kollox huwa. 943 00:47:11,044 --> 00:47:12,960 Allura aktar milli biss jkollhom x jew qabel. 944 00:47:12,960 --> 00:47:15,920 Għandek xellug jew dritt, u mbagħad inti tista 'tip ta' jorbtuhom flimkien 945 00:47:15,920 --> 00:47:16,836 madankollu hekk jagħżlu. 946 00:47:16,836 --> 00:47:21,080 947 00:47:21,080 --> 00:47:24,270 >> OK, aħna qed attwalment għaddejjin ħu ftit minuti. 948 00:47:24,270 --> 00:47:25,790 Allura aħna qed tmur biex jmorru lura hawn. 949 00:47:25,790 --> 00:47:28,270 Kif għidt qabel, I tip ta 'spjega 950 00:47:28,270 --> 00:47:31,520 il-loġika wara kif aħna kieku tfittxija permezz ta 'dan. 951 00:47:31,520 --> 00:47:33,860 Aħna qed tmur biex tipprova pseudocoding dan out biex tara 952 00:47:33,860 --> 00:47:38,000 jekk nistgħu tip ta 'japplika l- istess loġika ta 'tfittxija binarja 953 00:47:38,000 --> 00:47:40,055 għal tip differenti ta 'struttura data. 954 00:47:40,055 --> 00:47:45,049 Jekk inti guys tixtieq li tieħu bħal koppja minuti biex biss jaħsbu dwar dan. 955 00:47:45,049 --> 00:48:45,927 956 00:48:45,927 --> 00:48:46,925 KOLLOX SEW. 957 00:48:46,925 --> 00:48:51,407 Kull dritt, jien ser attwalment biss jagħtuk the-- no, 958 00:48:51,407 --> 00:48:52,990 aħna ser jitkellmu dwar il-pseudocode ewwel. 959 00:48:52,990 --> 00:48:56,580 Allura ħadd ma tridx li tagħti stab lejn dak 960 00:48:56,580 --> 00:49:02,100 l-ewwel ħaġa li trid tagħmel meta int bdew tiftix huwa? 961 00:49:02,100 --> 00:49:04,460 Jekk aħna qed infittxu il-valur ta '66, x'hemm 962 00:49:04,460 --> 00:49:07,940 l-ewwel ħaġa li rridu nagħmlu jekk irridu li Binarju tfittxija din is-siġra? 963 00:49:07,940 --> 00:49:10,760 >> UDJENZA: Inti trid tfittex dritt u jfittxu xellug u ara [inaudible] 964 00:49:10,760 --> 00:49:11,230 Numru akbar. 965 00:49:11,230 --> 00:49:12,271 >> ANDI Peng: Yeah, eżattament. 966 00:49:12,271 --> 00:49:15,350 Allura inti qed tmur biex tħares lejn għerq tiegħek. 967 00:49:15,350 --> 00:49:18,180 Hemm lottijiet ta 'modi kif inti tista' sejħa dan, in-nies node ġenitur tiegħek jgħidu. 968 00:49:18,180 --> 00:49:21,317 Jien inħobb ngħid għerq għaliex li huwa simili l-għerq tal-siġra. 969 00:49:21,317 --> 00:49:23,400 Inti qed tmur biex tħares lejn node għerq tiegħek, u int 970 00:49:23,400 --> 00:49:26,940 ser tara huwa 66 akbar jew inqas minn 55. 971 00:49:26,940 --> 00:49:30,360 U jekk huwa akbar minn, ukoll, huwa akbar minn, fejn nistgħu tixtieq tfittex? 972 00:49:30,360 --> 00:49:32,000 Fejn irridu li tfittex issa, id-dritt? 973 00:49:32,000 --> 00:49:34,340 Aħna rridu li tfittex l- nofs tal-lemin ta 'din is-siġra. 974 00:49:34,340 --> 00:49:38,390 >> Allura aħna għandna, konvenjenti, a pointer li l-punti lejn il-lemin. 975 00:49:38,390 --> 00:49:44,325 U hekk allura nistgħu stabbilit għeruq ġdida tagħna li jkun 77. 976 00:49:44,325 --> 00:49:46,450 Nistgħu biss jmorru kull fejn l-pointer hija li tipponta. 977 00:49:46,450 --> 00:49:49,100 Ukoll, oh, hawn aħna qed jibdew għal 77, u nistgħu biss 978 00:49:49,100 --> 00:49:51,172 tagħmel dan recursively għal darb'oħra u darb'oħra. 979 00:49:51,172 --> 00:49:52,880 B'dan il-mod, inti xorta ta jkollha funzjoni. 980 00:49:52,880 --> 00:49:57,430 Għandek mod ta 'tiftix li inti tista 'sempliċement jirrepeti aktar u aktar u aktar, 981 00:49:57,430 --> 00:50:02,720 jiddependi fuq fejn inti tixtieq li tfittex sakemm inti eventwalment jasal sal-valur 982 00:50:02,720 --> 00:50:04,730 li qed tfittex. 983 00:50:04,730 --> 00:50:05,230 Jagħmel sens? 984 00:50:05,230 --> 00:50:07,800 >> Li jien ser nuruk l-attwali kodiċi, u huwa ħafna ta 'kodiċi. 985 00:50:07,800 --> 00:50:08,674 Ebda ħtieġa biex skerz. 986 00:50:08,674 --> 00:50:09,910 Aħna ser nitkellmu permezz tiegħu. 987 00:50:09,910 --> 00:50:13,410 988 00:50:13,410 --> 00:50:14,020 >> Attwalment, l-ebda. 989 00:50:14,020 --> 00:50:15,061 Dan kien biss pseudocode. 990 00:50:15,061 --> 00:50:17,860 OK, li kien biss il-pseudocode, li huwa kumpless daqsxejn, 991 00:50:17,860 --> 00:50:19,751 imma hija totalment multa. 992 00:50:19,751 --> 00:50:21,000 Kulħadd wara flimkien hawn? 993 00:50:21,000 --> 00:50:24,260 Jekk l-għerq huwa null, ritorn falza minħabba li l-mezzi 994 00:50:24,260 --> 00:50:26,850 inti ma jkollhomx xejn hemmhekk. 995 00:50:26,850 --> 00:50:31,376 >> Jekk għeruq n huwa l-valur, hekk jekk jiġri li jkun il-wieħed li qed tfittex lejn, 996 00:50:31,376 --> 00:50:34,000 allura int ser jirritorna veru għaliex inti taf li inti sabuha. 997 00:50:34,000 --> 00:50:36,250 Iżda jekk il-valur ikun anqas minn għerq ta 'n, int 998 00:50:36,250 --> 00:50:38,332 tmur biex tfittex ix-xellug tfal jew il-weraq tax-xellug, 999 00:50:38,332 --> 00:50:39,540 tkun xi tkun tixtieq li hija sejħa. 1000 00:50:39,540 --> 00:50:41,750 U jekk il-valur ikun ikbar minn għeruq, int ser tfittex il-siġra dritt, 1001 00:50:41,750 --> 00:50:44,610 allura biss imexxu l-funzjoni permezz ta 'riċerka ġdid. 1002 00:50:44,610 --> 00:50:48,037 >> U jekk għeruq huwa null, li din ifisser li inti ħadthom laħqu t-tmiem? 1003 00:50:48,037 --> 00:50:50,120 Dan ifisser li inti għandek l-ebda aktar aktar weraq li persuna tfittex, 1004 00:50:50,120 --> 00:50:52,230 imbagħad inti taf, oh, I raden mhuwiex fil hawn 1005 00:50:52,230 --> 00:50:55,063 għax wara stajt ħares permezz il-ħaġa sħiħa u mhuwiex hawnhekk, 1006 00:50:55,063 --> 00:50:56,930 hija biss jista 'ma jkunx hawn. 1007 00:50:56,930 --> 00:50:58,350 >> Does li jagħmel sens għal kulħadd? 1008 00:50:58,350 --> 00:51:03,230 Allura huwa simili tfittxija binarja preservazzjoni il-kapaċitajiet tal-listi marbuta. 1009 00:51:03,230 --> 00:51:09,200 Kessaħ, u għalhekk it-tieni tip ta 'struttura data inti guys 1010 00:51:09,200 --> 00:51:13,180 tista 'tipprova timplimenta fuq pset tiegħek, inti biss għandek tagħżel metodu wieħed. 1011 00:51:13,180 --> 00:51:19,430 Imma forsi metodu alternattiv biex il tabella hash hu dak li nsejħu a trie. 1012 00:51:19,430 --> 00:51:24,080 >> Kollha ta 'trie huwa huwa tip speċifiku ta 'siġra li 1013 00:51:24,080 --> 00:51:28,600 għandha valuri li jmorru lil valuri oħra. 1014 00:51:28,600 --> 00:51:31,450 Allura minflok li jkun hemm binarja siġra fis-sens li wieħed biss 1015 00:51:31,450 --> 00:51:35,940 ħaġa jista 'jiġbed l tnejn, inti jista' jkollhom punt ħaġa waħda li ħafna, ħafna affarijiet. 1016 00:51:35,940 --> 00:51:39,450 Inti essenzjalment għandek arrays ġewwa ta 'li inti taħżen 1017 00:51:39,450 --> 00:51:41,790 pointers dan il-punt arrays oħra. 1018 00:51:41,790 --> 00:51:45,210 1019 00:51:45,210 --> 00:51:49,460 >> Allura l-node ta 'kif aħna se jiddefinixxu trie 1020 00:51:49,460 --> 00:51:52,590 huwa irridu li jkollhom Boolean, kelma c, id-dritt? 1021 00:51:52,590 --> 00:51:54,920 Allura l-node huwa Boolean bħal vera jew falza, 1022 00:51:54,920 --> 00:51:58,490 ewwel nett fil-kap ta ' li array, dan huwa kelma? 1023 00:51:58,490 --> 00:52:03,620 It-tieni nett, inti tixtieq li jkollok pointers għal dak kollu l-bqija ta 'dawn huma. 1024 00:52:03,620 --> 00:52:07,470 A kumpless bit, ftit astratt, iżda I se jispjegaw dak li tfisser kull. 1025 00:52:07,470 --> 00:52:13,800 >> Allura hawnhekk, fil-quċċata, jekk inti jkollhom firxa iddikjarat diġà, 1026 00:52:13,800 --> 00:52:17,040 a node fejn għandek Boolean ħlas joħroġ valur maħżun fuq quddiem 1027 00:52:17,040 --> 00:52:19,490 li jgħidlek dan huwa kelma? 1028 00:52:19,490 --> 00:52:20,520 Huwa dan mhijiex kelma? 1029 00:52:20,520 --> 00:52:23,240 U allura inti għandek il- bqija ta 'firxa tiegħek li 1030 00:52:23,240 --> 00:52:26,040 attwalment ħażniet kollha tal- possibbiltajiet ta 'dak li jista' jkun. 1031 00:52:26,040 --> 00:52:28,660 Għalhekk, per eżempju, bħall fil-quċċata għandek 1032 00:52:28,660 --> 00:52:32,140 l-ewwel ħaġa li tgħid vera jew falza, iva jew le, dan huwa kelma. 1033 00:52:32,140 --> 00:52:38,130 >> U allura inti għandek 0 permezz 26 tal l-ittri li inti jista 'jaħżen. 1034 00:52:38,130 --> 00:52:42,790 Jekk jien ridt li tfittex hawn għall BAT, I tmur fil-quċċata 1035 00:52:42,790 --> 00:52:49,200 u I tfittex B. nsib B fil tiegħi firxa, u so I know, OK, huwa B kelma? 1036 00:52:49,200 --> 00:52:53,010 B mhijiex kelma, hekk b'hekk I għandu jżomm tiftix. 1037 00:52:53,010 --> 00:52:56,410 I jmorru minn B, u nistenna li l- pointer li B punti lejn 1038 00:52:56,410 --> 00:53:00,900 u nara firxa oħra ta 'informazzjoni, l-istess struttura li kellna qabel. 1039 00:53:00,900 --> 00:53:05,240 >> U here-- oh, il-li jmiss ittra [inaudible] hija A. 1040 00:53:05,240 --> 00:53:07,210 Allura aħna nħarsu f'dak array. 1041 00:53:07,210 --> 00:53:10,860 Insibu-tmien valur, u allura aħna tfittex biex tara, oh, 1042 00:53:10,860 --> 00:53:12,840 ħej, huwa li kelma, huwa B-A kelma? 1043 00:53:12,840 --> 00:53:13,807 Mhuwiex kelma. 1044 00:53:13,807 --> 00:53:14,890 Imxejna ltqajna biex ikompli jfittex. 1045 00:53:14,890 --> 00:53:17,850 >> U hekk allura aħna nħarsu lejn fejn l pointer ta A punti, 1046 00:53:17,850 --> 00:53:21,130 u hija tirreferi għall-mod ieħor fil li għandna aktar valur maħżun. 1047 00:53:21,130 --> 00:53:24,150 U eventwalment, irridu jiksbu l B-A-T, li hija kelma. 1048 00:53:24,150 --> 00:53:25,970 U għalhekk l-ħin li jmiss inti tfittex, int ser 1049 00:53:25,970 --> 00:53:30,850 li jkollhom dik il-verifika ta ', iva, din il-funzjoni Boolean huwa veru. 1050 00:53:30,850 --> 00:53:35,450 U għalhekk fis-sens aħna qed tip li jkun hemm siġra ma arrays. 1051 00:53:35,450 --> 00:53:39,890 >> Hekk allura inti tista 'tip ta' tfittxija isfel. 1052 00:53:39,890 --> 00:53:43,650 Pjuttost milli hashing funzjoni u assenja tal-valuri minn lista marbuta, 1053 00:53:43,650 --> 00:53:49,190 inti tista 'sempliċement timplimenta trie li t-tfittxijiet downwords. 1054 00:53:49,190 --> 00:53:50,850 Tassew, tassew ikkumplikata Jittieħed. 1055 00:53:50,850 --> 00:53:54,060 Mhux faċli li wieħed jaħseb dwar għaliex jien bħal bżieq tant strutturi ta 'dejta out 1056 00:53:54,060 --> 00:53:58,710 fi inti, imma ma kulħadd tip ta ' jifhmu kif il-loġika ta 'dan xogħlijiet? 1057 00:53:58,710 --> 00:54:01,920 >> OK, berred. 1058 00:54:01,920 --> 00:54:05,600 Allura B-A-T, u mbagħad int ser tfittex. 1059 00:54:05,600 --> 00:54:07,940 Il-ħin li jmiss int ser biex tara, oh, ħej, huwa veru, 1060 00:54:07,940 --> 00:54:09,273 b'hekk Naf li dan għandu jkun kelma. 1061 00:54:09,273 --> 00:54:12,030 1062 00:54:12,030 --> 00:54:13,770 >> L-istess ħaġa għall zoo. 1063 00:54:13,770 --> 00:54:17,960 Allura hawnhekk-ħaġa dritt issa, jekk aħna riedu tiftix għal zoo, id-dritt issa, 1064 00:54:17,960 --> 00:54:20,780 bħalissa żoo ma jkunx kelma dizzjunarju tagħna 1065 00:54:20,780 --> 00:54:25,300 għaliex, kif inti guys tista 'tara, l ewwel post li għandna Boolean 1066 00:54:25,300 --> 00:54:28,590 ritorn vera hija fl-aħħar ta 'zoom. 1067 00:54:28,590 --> 00:54:30,430 Għandna Z-O-O-M. 1068 00:54:30,430 --> 00:54:33,900 >> U hekk hawn, aħna ma attwalment jkollhom il-kelma, żu, fil dizzjunarju tagħna 1069 00:54:33,900 --> 00:54:36,070 għaliex din il-kaxxa verifika ma tiġix iċċekkjata. 1070 00:54:36,070 --> 00:54:39,540 Allura l-kompjuter ma jafu li zoo hija kelma 1071 00:54:39,540 --> 00:54:42,430 minħabba l-mod li konna maħżuna dan, biss zoom hawn 1072 00:54:42,430 --> 00:54:44,920 fil-fatt għandu valur Boolean li kien mdawwar veru. 1073 00:54:44,920 --> 00:54:49,380 Mela jekk irridu li daħħal il- kelma, żu, fis dizzjunarju tagħna, 1074 00:54:49,380 --> 00:54:51,770 kif kieku aħna tmur dwar kif isir dan? 1075 00:54:51,770 --> 00:54:55,960 What do għandna nagħmlu biex tiżgura tagħna kompjuter jaf li Z-O-O hija kelma 1076 00:54:55,960 --> 00:54:58,130 u mhux l-ewwel kelma hija Z-O-O-M? 1077 00:54:58,130 --> 00:54:59,360 >> UDJENZA: [inaudible] 1078 00:54:59,360 --> 00:55:01,450 >> ANDI Peng: Eżattament, aħna tixtieq li tagħmel ċert li dan 1079 00:55:01,450 --> 00:55:07,890 hawn, dak il-valur Boolean huwa ċċekkjati off li huwa veru. 1080 00:55:07,890 --> 00:55:13,297 Z-O-O, allura aħna qed tmur biex jivverifikaw li, hekk nafu eżattament, ħej, żu hija kelma. 1081 00:55:13,297 --> 00:55:15,380 Jien ser jgħidlek il- kompjuter li huwa kelma hekk 1082 00:55:15,380 --> 00:55:18,000 li meta l-kontrolli tal-kompjuter, huwa jaf li żoo hija kelma. 1083 00:55:18,000 --> 00:55:21,269 >> Minħabba ftakar din id-data kollha istrutturi, huwa faċli ħafna għalina 1084 00:55:21,269 --> 00:55:22,310 ngħid, oh, BAT huwa kelma. 1085 00:55:22,310 --> 00:55:22,851 Zoo l kelma. 1086 00:55:22,851 --> 00:55:23,611 Zoom l kelma. 1087 00:55:23,611 --> 00:55:25,860 Imma meta int bini tagħha, il-kompjuter m'għandha l-ebda idea. 1088 00:55:25,860 --> 00:55:28,619 >> Allura inti għandek tgħid eżattament fuq liema punt huwa dan kelma? 1089 00:55:28,619 --> 00:55:29,910 Fuq liema punt huwa mhux kelma? 1090 00:55:29,910 --> 00:55:31,784 U fuq liema punt do I bżonn ta 'tiftix affarijiet, 1091 00:55:31,784 --> 00:55:34,000 u fuq liema punt do I bżonn li jmorru jmiss? 1092 00:55:34,000 --> 00:55:37,010 Kulħadd ċara ta 'dak? 1093 00:55:37,010 --> 00:55:39,540 Kessaħ. 1094 00:55:39,540 --> 00:55:42,530 >> U hekk imbagħad jiġi l problema ta 'kif kieku aħna 1095 00:55:42,530 --> 00:55:45,560 tmur dwar ddaħħal xi ħaġa li fil-fatt ma hemm? 1096 00:55:45,560 --> 00:55:49,090 Mela ejja biss jgħidu li rridu li daħħal il kelma, banju, fis trie tagħna. 1097 00:55:49,090 --> 00:55:53,589 Kif inti guys tista 'tara bħal bħalissa kollha għandna issa huwa B-A-T, 1098 00:55:53,589 --> 00:55:55,630 u din l-istruttura l-ġdida tad-data kien hemm pinta li 1099 00:55:55,630 --> 00:55:59,740 indikat null għaliex aħna nassumu li, oh, hemm ebda kliem wara B-A-T, 1100 00:55:59,740 --> 00:56:02,530 għaliex għandna bżonn li jżommu li affarijiet wara li T. 1101 00:56:02,530 --> 00:56:06,581 >> Iżda l-problema tqum jekk nagħmlu inti jridu li jkollhom kelma li tiġi wara 1102 00:56:06,581 --> 00:56:07,080 l-T. 1103 00:56:07,080 --> 00:56:09,500 Jekk ikollok banju, int tmur jridu dritt H. 1104 00:56:09,500 --> 00:56:13,290 U għalhekk l-mod kif aħna qed tmur biex tagħmel dan huwa aħna qed tmur biex jinħoloq node separat. 1105 00:56:13,290 --> 00:56:16,840 Aħna ma jalloka x'ikun ammont ta 'memorja għal dan array ġdid, 1106 00:56:16,840 --> 00:56:20,720 u aħna qed tmur biex jassenja mill-ġdid pointers. 1107 00:56:20,720 --> 00:56:22,947 >> Aħna qed tmur biex jassenja l- H, L-ewwelnett, dan null, 1108 00:56:22,947 --> 00:56:24,030 aħna qed tmur biex jeħles. 1109 00:56:24,030 --> 00:56:26,590 Aħna qed tmur biex ikollhom l isfel punt H. 1110 00:56:26,590 --> 00:56:30,600 Jekk naraw H, irridu biex tmur x'imkien ieħor. 1111 00:56:30,600 --> 00:56:33,910 >> Fil hawn, nistgħu mbagħad tiċċekkja off iva. 1112 00:56:33,910 --> 00:56:38,170 Jekk aħna hit H wara l-T, oh, allura nafu li din hija kelma. 1113 00:56:38,170 --> 00:56:41,110 Il Boolean se jirritornaw veru. 1114 00:56:41,110 --> 00:56:42,950 Kulħadd ċara dwar kif dan ġara? 1115 00:56:42,950 --> 00:56:45,110 KOLLOX SEW. 1116 00:56:45,110 --> 00:56:47,214 >> Allura essenzjalment, kollha ta ' dawn l-istrutturi tad-data 1117 00:56:47,214 --> 00:56:50,130 li konna marret fuq illum, stajt marret fuqhom tassew, tassew malajr 1118 00:56:50,130 --> 00:56:52,192 u mhux għal ħafna dettall, u li OK. 1119 00:56:52,192 --> 00:56:53,900 Ladarba inti tibda messing magħha, inti ser tkun 1120 00:56:53,900 --> 00:56:55,733 iżżomm kont ta 'fejn l-pointers huma, 1121 00:56:55,733 --> 00:56:58,060 x'inhu għaddej fil tiegħek strutturi tad-dejta, eċċetera. 1122 00:56:58,060 --> 00:56:59,810 Dawn ser ikunu utli ħafna, u huwa sa inti 1123 00:56:59,810 --> 00:57:03,890 guys biex insemmu totalment kif inti tixtieq li jimplimentaw affarijiet. 1124 00:57:03,890 --> 00:57:07,650 >> U għalhekk pset4, tal 5-- oh, dak li hu ħażin. 1125 00:57:07,650 --> 00:57:10,140 Pset5 huwa misspellings. 1126 00:57:10,140 --> 00:57:13,710 Kif għidt qabel, int ser, ladarba għal darb'oħra, download kodiċi sors minna. 1127 00:57:13,710 --> 00:57:16,210 Hemm għaddej li jkun tlieta prinċipali affarijiet li inti ser tkun tniżżil. 1128 00:57:16,210 --> 00:57:18,470 Int ser ikollok tniżżel dizzjunarji, kers, u testi. 1129 00:57:18,470 --> 00:57:21,660 >> Dawk kollha affarijiet huma huma jew dizzjunarji 'kliem 1130 00:57:21,660 --> 00:57:25,190 li irridu li inti tiċċekkja jew test ta 'informazzjoni 1131 00:57:25,190 --> 00:57:26,930 li irridu li inti jespliċitaw check. 1132 00:57:26,930 --> 00:57:29,670 U għalhekk il-dizzjunarji aħna nagħtuk ser 1133 00:57:29,670 --> 00:57:34,870 li jtik kliem attwali li rridu int taħżen b'xi b'mod li l- 1134 00:57:34,870 --> 00:57:36,530 aktar effiċjenti minn firxa. 1135 00:57:36,530 --> 00:57:38,470 U allura l--testi huma ser ikun dak li aħna qed 1136 00:57:38,470 --> 00:57:43,900 inti titlob li jespliċitaw jivverifika sabiex ikun żgur kollha tal-kliem hemm kliem reali. 1137 00:57:43,900 --> 00:57:47,970 >> U għalhekk it-tliet blokki ta ' programmi li aħna ser jagħtuk 1138 00:57:47,970 --> 00:57:51,130 huma msejħa dictionary.c, dictionary.h, u speller.c. 1139 00:57:51,130 --> 00:57:56,500 U għalhekk kull dictionary.c ma huwa dak li qed tintalab biex jimplimentaw. 1140 00:57:56,500 --> 00:57:57,880 Tagħbijiet kliem. 1141 00:57:57,880 --> 00:58:02,000 Hija jespliċitaw kontrolli minnhom, u hija tiżgura li kollox huwa mdaħħal sew. 1142 00:58:02,000 --> 00:58:05,180 >> diction.h huwa biss fajl librerija li jiddikjara dawk il-funzjonijiet kollha. 1143 00:58:05,180 --> 00:58:07,650 U speller.c, aħna qed tmur biex jagħtuk. 1144 00:58:07,650 --> 00:58:09,290 Inti ma għandekx bżonn li timmodifika xi ħaġa. 1145 00:58:09,290 --> 00:58:14,290 Speller.c kollu ma huwa jieħu li, tagħbijiet li għalihom, kontrolli l-veloċità ta 'dan, 1146 00:58:14,290 --> 00:58:19,190 testijiet l-punt ta 'referenza ta' prodotti simili kif malajr int tista 'tagħmel affarijiet. 1147 00:58:19,190 --> 00:58:20,410 >> Huwa speller. 1148 00:58:20,410 --> 00:58:23,920 Just ma mess miegħu, imma kun żgur li tifhem dak li qed jagħmel. 1149 00:58:23,920 --> 00:58:28,090 Aħna nużaw funzjoni msejħa getrusage li testijiet l-prestazzjoni ta 'jespliċitaw tiegħek 1150 00:58:28,090 --> 00:58:28,590 kontrollur. 1151 00:58:28,590 --> 00:58:32,200 Kull ma huwa bażikament jittestjaw il- żmien ta 'kollox fil-dizzjunarju tiegħek, 1152 00:58:32,200 --> 00:58:33,680 sabiex tagħmel żgur li int tifhem dan. 1153 00:58:33,680 --> 00:58:36,660 Ikunu attenti biex ma mess miegħu jew affarijiet inkella mhux se jaħdmu tajjeb. 1154 00:58:36,660 --> 00:58:39,740 1155 00:58:39,740 --> 00:58:44,170 >> U l-biċċa l-kbira ta 'din l-isfida hija għal inti guys biex verament timmodifika dictionary.c. 1156 00:58:44,170 --> 00:58:48,526 Aħna ser jagħtuk 140,000 kliem fil-dizzjunarju. 1157 00:58:48,526 --> 00:58:50,900 Aħna ser jagħtuk test fajl li għandu dawn il-kliem, 1158 00:58:50,900 --> 00:58:54,840 u rridu li inti tkun kapaċi li jorganizzaw minnhom fis-tabella hash jew trie 1159 00:58:54,840 --> 00:58:58,140 għaliex meta aħna nitolbuk li jespliċitaw check-- jimmaġina jekk int jespliċitaw 1160 00:58:58,140 --> 00:59:00,690 verifika bħal Odyssey Homer. 1161 00:59:00,690 --> 00:59:03,010 Huwa bħal dan enormi, test enormi. 1162 00:59:03,010 --> 00:59:05,190 >> Immaġina jekk kull wieħed kelma kellek tfittex 1163 00:59:05,190 --> 00:59:08,100 permezz ta 'firxa ta' 140,000 valuri. 1164 00:59:08,100 --> 00:59:10,350 Li jieħu dejjem għall-magna tiegħek jiddekorri. 1165 00:59:10,350 --> 00:59:14,490 Dan hu għaliex irridu li jorganizzaw tagħna data fl-istrutturi tad-data aktar effiċjenti 1166 00:59:14,490 --> 00:59:17,270 bħal mejda hash jew trie. 1167 00:59:17,270 --> 00:59:20,700 U mbagħad inti guys tista tip ta 'meta inti tfittex aċċess 1168 00:59:20,700 --> 00:59:22,570 affarijiet aktar faċilment u aktar malajr. 1169 00:59:22,570 --> 00:59:24,934 >> U sabiex ikunu attenti biex isolvu kolliżjonijiet. 1170 00:59:24,934 --> 00:59:27,350 Inti qed tmur biex tikseb mazz ta 'kliem ta' dik tibda bil A. 1171 00:59:27,350 --> 00:59:29,957 Inti qed tmur biex tikseb kliem mazz li tibda bil B. Up lilek 1172 00:59:29,957 --> 00:59:31,290 guys kif inti tixtieq li issolvihom. 1173 00:59:31,290 --> 00:59:34,144 Forsi hemm aktar funzjoni hash effiċjenti 1174 00:59:34,144 --> 00:59:36,810 minn sempliċiment l-ewwel ittra ta ' xi ħaġa, u b'tali mod li sa inti 1175 00:59:36,810 --> 00:59:38,190 guys li tip ta 'jagħmel kulma trid. 1176 00:59:38,190 --> 00:59:40,148 >> Forsi inti trid iżżid l-ittri kollha flimkien. 1177 00:59:40,148 --> 00:59:43,410 Forsi inti tixtieq li tixtieq tagħmel affarijiet stramb li jagħtu kont in-numru ta 'ittri, 1178 00:59:43,410 --> 00:59:43,970 ikun x'ikun. 1179 00:59:43,970 --> 00:59:45,386 Sa inti guys kif inti trid tagħmel. 1180 00:59:45,386 --> 00:59:49,262 Jekk inti tixtieq li tagħmel tabella hash, jekk inti tixtieq li jippruvaw trie, totalment sa inti. 1181 00:59:49,262 --> 00:59:52,470 I se twissi inti qabel iż-żmien li l- trie huwa tipikament ftit aktar diffiċli 1182 00:59:52,470 --> 00:59:54,520 biss għaliex hemm ħafna aktar pointers li jżommu rekord ta '. 1183 00:59:54,520 --> 00:59:55,645 Iżda totalment sa inti guys. 1184 00:59:55,645 --> 00:59:58,742 Huwa ferm aktar effiċjenti f'ħafna każijiet. 1185 00:59:58,742 --> 01:00:01,450 Inti trid verament tkun kapaċi li żżomm rekord ta 'kollha ta' pointers tiegħek. 1186 01:00:01,450 --> 01:00:03,850 Bħall jagħmlu l-istess ħaġa li I kienet tagħmel hawn. 1187 01:00:03,850 --> 01:00:06,871 Meta inti qed tipprova li daħħal valuri fis-tabella hash jew tħassar, 1188 01:00:06,871 --> 01:00:08,620 kun żgur li int verament iżżomm rekord 1189 01:00:08,620 --> 01:00:11,860 ta 'fejn kollox huwa minħabba huwa verament faċli biex jekk jien 1190 01:00:11,860 --> 01:00:14,727 jippruvaw daħħal bħall-kelma, andy. 1191 01:00:14,727 --> 01:00:16,810 Ejja ngħidu biss li l- reali kelma,-kelma, andy, 1192 01:00:16,810 --> 01:00:19,640 fi lista ġgant ta 'kliem. 1193 01:00:19,640 --> 01:00:22,450 >> Jekk I biss jiġri li jassenja mill-ġdid a ħażin pointer, oops, 1194 01:00:22,450 --> 01:00:24,940 hemm tmur-totalità tal il-bqija tal-lista marbuta tiegħi. 1195 01:00:24,940 --> 01:00:26,897 Issa l-unika kelma I għandhom hija andy, u issa 1196 01:00:26,897 --> 01:00:29,230 kollha tal-kliem oħra fil- dizzjunarju ġew mitlufa. 1197 01:00:29,230 --> 01:00:31,370 U għalhekk inti tixtieq li tagħmel żgur li int iżżomm kont ta 'kollha ta' pointers tiegħek 1198 01:00:31,370 --> 01:00:33,661 jew inkella int ser tikseb problemi kbar fil-kodiċi tiegħek. 1199 01:00:33,661 --> 01:00:35,840 Iġbed affarijiet out b'attenzjoni pass pass. 1200 01:00:35,840 --> 01:00:37,870 Dan jagħmilha ħafna aktar faċli biex jaħsbu. 1201 01:00:37,870 --> 01:00:40,910 >> U fl-aħħar, inti tixtieq li tkun tista ' test tal-prestazzjoni tiegħek tal-programm tiegħek 1202 01:00:40,910 --> 01:00:41,618 fuq il-bord big. 1203 01:00:41,618 --> 01:00:43,710 Jekk inti guys tieħu tħares lejn CS50 dritt issa, 1204 01:00:43,710 --> 01:00:45,210 għandna dak li sejjaħ il-bord big. 1205 01:00:45,210 --> 01:00:50,200 Hija l-folja tal-punteġġ mill-aktar jespliċitaw ħinijiet verifika madwar kollha ta 'CS50 1206 01:00:50,200 --> 01:00:55,720 dritt issa, naħseb li l-top simili 10 drabi I think tmienja minnhom huma persunal. 1207 01:00:55,720 --> 01:00:57,960 Aħna verament irridu li inti guys li tħabbat us. 1208 01:00:57,960 --> 01:01:00,870 >> Lkoll kienu qegħdin jippruvaw jimplimentaw il-kodiċi mgħaġġla possibbli. 1209 01:01:00,870 --> 01:01:04,880 Irridu li inti guys jippruvaw li jikkontestaw magħna u jimplimentaw aktar malajr milli lkoll 1210 01:01:04,880 --> 01:01:05,550 tista '. 1211 01:01:05,550 --> 01:01:07,970 U għalhekk dan huwa verament l-ewwel darba li aħna qed 1212 01:01:07,970 --> 01:01:12,680 inti titlob guys li jagħmlu pset li inti tista 'verament tagħmel kwalunkwe metodu 1213 01:01:12,680 --> 01:01:13,760 trid. 1214 01:01:13,760 --> 01:01:17,730 >> Jien dejjem ngħid, dan huwa aktar simili għal soluzzjoni tal-ħajja reali, id-dritt? 1215 01:01:17,730 --> 01:01:19,550 I say, ħej, I ħtieġa li inti tagħmel dan. 1216 01:01:19,550 --> 01:01:21,380 Tibni programm li ma dan għalija. 1217 01:01:21,380 --> 01:01:22,630 Tagħmel dan madankollu trid. 1218 01:01:22,630 --> 01:01:24,271 I biss jafu li nixtieq li malajr. 1219 01:01:24,271 --> 01:01:25,770 C'est sfida tiegħek għal din il-ġimgħa. 1220 01:01:25,770 --> 01:01:27,531 You guys, aħna qed tmur li jtik kompitu. 1221 01:01:27,531 --> 01:01:29,030 Aħna ser jagħtuk sfida. 1222 01:01:29,030 --> 01:01:31,559 U allura huwa sa inti guys li kompletament biss insemmu 1223 01:01:31,559 --> 01:01:34,100 x'inhu l-mgħaġġel u aktar mod effiċjenti biex jimplimentaw dan. 1224 01:01:34,100 --> 01:01:34,600 Yeah? 1225 01:01:34,600 --> 01:01:37,476 >> UDJENZA: Are we jitħallew jekk riedu għar-riċerka modi aktar mgħaġġel 1226 01:01:37,476 --> 01:01:40,821 tagħmel tabelli hash online, nistgħu nagħmlu li u jikkwotaw kodiċi xi ħadd ieħor? 1227 01:01:40,821 --> 01:01:42,070 ANDI Peng: Yeah, totalment multa. 1228 01:01:42,070 --> 01:01:44,320 Mela jekk inti guys taqra l- spec, hemm linja 1229 01:01:44,320 --> 01:01:48,310 fil-spec li tgħid inti guys huma totalment liberi li hash riċerka 1230 01:01:48,310 --> 01:01:51,070 funzjonijiet fuq liema huma wħud tal-funzjonijiet hash aktar malajr 1231 01:01:51,070 --> 01:01:54,720 jiddekorri affarijiet permezz bħala Sakemm inti jiċċitaw dan il-kodiċi. 1232 01:01:54,720 --> 01:01:57,220 Għalhekk xi nies ikollhom diġà dehret modi mgħaġġel 1233 01:01:57,220 --> 01:02:00,250 li jagħmlu kontrolluri jespliċitaw, ta fast modi ta 'ħażna ta' informazzjoni. 1234 01:02:00,250 --> 01:02:02,750 Totalment sa inti guys jekk inti jridux biss jieħdu dik, id-dritt? 1235 01:02:02,750 --> 01:02:04,045 Kun żgur li int jiċċita. 1236 01:02:04,045 --> 01:02:06,170 L-isfida hawn verament li aħna qed jippruvaw biex tittestja 1237 01:02:06,170 --> 01:02:09,750 qed tagħmel ċert li inti taf tiegħek mod madwar pointers. 1238 01:02:09,750 --> 01:02:12,700 Kemm inti implimentazzjoni il-funzjoni proprja hash 1239 01:02:12,700 --> 01:02:15,070 u toħroġ bi bħal l-matematika biex tagħmel dan, 1240 01:02:15,070 --> 01:02:17,570 inti guys tista 'riċerka x'ikun Metodi online inti guys tixtieq. 1241 01:02:17,570 --> 01:02:17,996 Yeah? 1242 01:02:17,996 --> 01:02:19,700 >> UDJENZA: Nistgħu jiċċitaw biss billi tuża l-[inaudible]? 1243 01:02:19,700 --> 01:02:20,120 >> ANDI Peng: Yeah. 1244 01:02:20,120 --> 01:02:22,328 Inti tista 'sempliċement, fil-kumment tiegħek, inti jista 'jikkwota simili, oh, 1245 01:02:22,328 --> 01:02:26,127 meħuda minn yada, yada, yada, il-funzjoni hash. 1246 01:02:26,127 --> 01:02:27,210 Kull min ikollu xi mistoqsijiet? 1247 01:02:27,210 --> 01:02:29,694 Aħna fil-fatt breezed permezz sezzjoni illum. 1248 01:02:29,694 --> 01:02:31,610 I se jkun sa hawn biex twieġeb mistoqsijiet kif ukoll. 1249 01:02:31,610 --> 01:02:36,570 >> Ukoll, kif għidt, l-uffiċċju sigħat tonight u ta 'għada. 1250 01:02:36,570 --> 01:02:40,307 Il spec din il-ġimgħa huwa attwalment super faċli u super qasir biex jinqara. 1251 01:02:40,307 --> 01:02:43,140 Nissuġġerixxi tieħu ħarsa, just tinqara minn ġol-intier ta 'dan. 1252 01:02:43,140 --> 01:02:45,730 >> U Zamyla attwalment mixjiet inti permezz ta 'kull waħda mill-funzjonijiet 1253 01:02:45,730 --> 01:02:49,796 għandek bżonn biex jimplimentaw, u dan huwa ħafna, ċar ħafna kif jagħmlu kollox. 1254 01:02:49,796 --> 01:02:51,920 Just tagħmel żgur li int iżżomm rekord ta 'pointers. 1255 01:02:51,920 --> 01:02:53,650 Din hija pset sfida. 1256 01:02:53,650 --> 01:02:56,744 >> Mhuwiex sfida għaliex bħal, oh, il-kunċetti huma daqstant aktar 1257 01:02:56,744 --> 01:02:59,160 diffiċli, jew ikollok biex jitgħallmu tant sintassi ġdida it-triq 1258 01:02:59,160 --> 01:03:00,650 li għamilt għall-aħħar pset. 1259 01:03:00,650 --> 01:03:03,320 Dan pset huwa diffiċli minħabba hemm daqstant pointers, 1260 01:03:03,320 --> 01:03:06,980 u allura huwa ħafna, faċli ħafna għal darba għandek bug fil-kodiċi tiegħek ma tkunx kapaċi 1261 01:03:06,980 --> 01:03:08,315 biex isibu fejn dan bug hu. 1262 01:03:08,315 --> 01:03:13,200 >> U hekk kompluta u l-fidi utter fik guys li tkun tista 'tħabbat tagħna [inaudible] 1263 01:03:13,200 --> 01:03:13,700 spellings. 1264 01:03:13,700 --> 01:03:16,640 I attwalment ma jkunux ebda minjiera miktub s'issa, iżda jien wasal biex jikteb mini. 1265 01:03:16,640 --> 01:03:19,070 Għalhekk, filwaqt li int bil-miktub tiegħek, jien ser jkun miktub minjiera. 1266 01:03:19,070 --> 01:03:21,070 Jien ser jippruvaw jagħmlu minjiera aktar mgħaġġel minn tiegħek. 1267 01:03:21,070 --> 01:03:23,940 Ser naraw li għandu l-wieħed mgħaġġla. 1268 01:03:23,940 --> 01:03:27,340 >> U yeah, I se tara kollha ta ' inti guys hawn nhar it-Tlieta. 1269 01:03:27,340 --> 01:03:29,510 I se tmexxi tip bħal workshop pset. 1270 01:03:29,510 --> 01:03:32,640 Kollha tas-sezzjonijiet dan ġimgħa huma workshops pset, 1271 01:03:32,640 --> 01:03:36,690 sabiex inti guys jkollhom lottijiet ta 'opportunitajiet għall-għajnuna, ħinijiet tal-uffiċċju bħal dejjem, 1272 01:03:36,690 --> 01:03:41,330 u I really bil-ħerqa li qari kollha tal-kodiċi guys tiegħek ". 1273 01:03:41,330 --> 01:03:44,160 Għandi kwizzijiet up here jekk inti guys tixtieq li ġejjin tikseb dawk. 1274 01:03:44,160 --> 01:03:45,880 Dak kollox. 1275 01:03:45,880 --> 01:03:48,180