1 00:00:00,000 --> 00:00:12,610 2 00:00:12,610 --> 00:00:12,900 >> డేవిడ్ J. మలన్: అన్ని కుడి. 3 00:00:12,900 --> 00:00:16,790 తొలిసారిగా స్వాగతం ఒక క్విజ్ కోసం CS50 పంచనామా. 4 00:00:16,790 --> 00:00:18,340 మేము ప్రారంభోత్సవం కావలసిన ఆలోచన ఈ సంప్రదాయం ఈ సంవత్సరం. 5 00:00:18,340 --> 00:00:20,960 మరియు ఈ అవకాశం ఉంటుంది నడవడానికి 6 00:00:20,960 --> 00:00:22,220 క్విజ్ పరిష్కారాలు. 7 00:00:22,220 --> 00:00:26,160 మరియు మేము వేగవంతం లేదా ఆధారంగా వేగాన్ని చేస్తాము ఇక్కడ ఆ వడ్డీ మీద. 8 00:00:26,160 --> 00:00:29,730 >> మీరు కనుక అలా మీరు బహుశా ఇక్కడ ఉన్నారు మీరు బండరాయి ఆసక్తి లేదా 9 00:00:29,730 --> 00:00:31,170 కొన్ని సమాధానం వుండాలి ఈ సమస్యలు. 10 00:00:31,170 --> 00:00:33,300 ఎందుకు మేము పరిశీలించి లేదు మొదటి ఈ విభాగం? 11 00:00:33,300 --> 00:00:34,450 స్ట్రింగ్స్ పొందడానికి. 12 00:00:34,450 --> 00:00:37,600 ఈ మీరు మూడు వేర్వేరు వెర్షన్లు ఇచ్చారు అని ఒక కార్యక్రమం, చివరికి, 13 00:00:37,600 --> 00:00:39,650 ఒక యూజర్ నుండి ఒక స్ట్రింగ్ పొందడానికి అర్థం. 14 00:00:39,650 --> 00:00:42,530 అది చేసిన లేదో గుర్తించడానికి ఎడమ. 15 00:00:42,530 --> 00:00:45,150 >> మరియు మేము, ప్రశ్న 0 ప్రశ్నిస్తే వెర్షన్ 1 అని అనుకుందాం 16 00:00:45,150 --> 00:00:46,400 కంపైల్ మరియు అమలు. 17 00:00:46,400 --> 00:00:48,860 ఎందుకు కార్యక్రమం segfault ఉండవచ్చు? 18 00:00:48,860 --> 00:00:51,150 మొదటి చూపులో, ఏ సలహాలను వంటి ఎందుకు? 19 00:00:51,150 --> 00:00:54,012 20 00:00:54,012 --> 00:00:54,489 అవును. 21 00:00:54,489 --> 00:00:59,260 >> ప్రేక్షకులు: నేను ఈ చూసిన గుర్తు చూడటం ఒక మునుపటి ఉదాహరణకు 22 00:00:59,260 --> 00:01:05,506 చార్ * s మరియు s స్కాన్ చూసిన ఇది ఒక పాయింటర్, ఎలా ఎందుకంటే చూసిన 23 00:01:05,506 --> 00:01:07,971 మీరు స్కాన్ అది ప్రభావితం చేసింది? 24 00:01:07,971 --> 00:01:10,940 అది s లేదా s యొక్క చిరునామా ఉంది? 25 00:01:10,940 --> 00:01:11,180 >> డేవిడ్ J. మలన్: సరే. 26 00:01:11,180 --> 00:01:11,480 గుడ్. 27 00:01:11,480 --> 00:01:14,830 కాబట్టి చివరికి, ఏ సమస్య మూలం బహుశా తగ్గించడానికి అన్నారు 28 00:01:14,830 --> 00:01:16,210 ఆ వేరియబుల్ s కు. 29 00:01:16,210 --> 00:01:17,280 మరియు అది నిజానికి ఒక వేరియబుల్. 30 00:01:17,280 --> 00:01:19,900 ఆ వేరియబుల్ డేటా రకం చార్ *, ఇది చేస్తాడు అర్థం 31 00:01:19,900 --> 00:01:22,570 ఒక పాత్ర యొక్క చిరునామా కలిగి. 32 00:01:22,570 --> 00:01:23,850 మరియు అందులో అంతర్దృష్టి ఉంది. 33 00:01:23,850 --> 00:01:28,330 ఇది యొక్క చిరునామాను చేస్తాడు సాధారణంగా ఒక పాత్ర లేదా, 34 00:01:28,330 --> 00:01:32,110 మొదటి పాత్ర యొక్క చిరునామా పాత్రలు మొత్తం బ్లాక్. 35 00:01:32,110 --> 00:01:36,680 >> కానీ క్యాచ్ అని స్కాన్ లు, ప్రయోజనం లో జీవితం, ఒక చిరునామా ఇచ్చిన ఇవ్వబడుతుంది 36 00:01:36,680 --> 00:01:40,960 ఒక ఫార్మాట్ కోడ్,% s వంటి, చదవండి భాగం లోకి స్ట్రింగ్ 37 00:01:40,960 --> 00:01:42,330 ఆ చిరునామా వద్ద మెమరీ. 38 00:01:42,330 --> 00:01:46,040 కానీ సమాన సైన్ ముందు ఉంది ఎందుకంటే మొదటి ఆ సెమికోలన్ 39 00:01:46,040 --> 00:01:49,310 కోడ్ యొక్క లైన్, మేము నిజంగా కాదు ఎందుకంటే ఏ మెమరీ కేటాయించే 40 00:01:49,310 --> 00:01:53,020 malloc, ఇది ఎందుకంటే నిజానికి కొన్ని పరిమాణం యొక్క వ్యూహం, అన్ని కేటాయించాలని 41 00:01:53,020 --> 00:01:57,620 మీరు చేస్తున్న యూజర్ యొక్క చదవడానికి కొన్ని పూర్తి లోకి కీబోర్డ్ 42 00:01:57,620 --> 00:02:00,490 చెత్త విలువ, ఇది అప్రమేయంగా లు ఉంది. 43 00:02:00,490 --> 00:02:04,480 అసమానత మీరు segfault వెళుతున్న ఉంటే ఆ చిరునామా కేవలం జరగలేదు 44 00:02:04,480 --> 00:02:08,009 మీరు ఒక విలువ, నిజానికి, వ్రాయండి. 45 00:02:08,009 --> 00:02:10,889 కేటాయించే కాబట్టి చెడు అక్కడ మీ మెమరీ. 46 00:02:10,889 --> 00:02:13,150 >> హరిబాబు 1 లో, మేము అడిగిన, వెర్షన్ 2 అని అనుకుందాం 47 00:02:13,150 --> 00:02:14,230 కంపైల్ మరియు అమలు. 48 00:02:14,230 --> 00:02:15,900 ఎందుకు ఈ కార్యక్రమం segfault ఉండవచ్చు? 49 00:02:15,900 --> 00:02:17,990 కాబట్టి ఈ ఒక తక్కువ బగ్గీ ఉంది. 50 00:02:17,990 --> 00:02:21,470 మరియు మాత్రమే ఒక నిజంగా ఉంది స్పష్టమైన మార్గం ఇందులో మీరు 51 00:02:21,470 --> 00:02:22,810 ఇక్కడ ఒక segfault ట్రిగ్గర్. 52 00:02:22,810 --> 00:02:23,730 మరియు ఈ నేపథ్య ఉంది. 53 00:02:23,730 --> 00:02:28,180 మేము మెమరీలో సి ఉపయోగించి చేసినప్పుడు, ఏమి మీరు ఒక segfault ప్రేరేపించడానికి చేయగల 54 00:02:28,180 --> 00:02:30,718 వెర్షన్ 2 తో? 55 00:02:30,718 --> 00:02:35,560 >> ప్రేక్షకులు: మీరు ఆ ఇన్పుట్ ఉపయోగిస్తే 49 కంటే ఎక్కువ ఒక స్ట్రింగ్ 56 00:02:35,560 --> 00:02:35,975 అక్షరాలు. 57 00:02:35,975 --> 00:02:37,260 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 58 00:02:37,260 --> 00:02:41,420 మీరు నిర్ధారితమైనది పొడవు చూడండి ఏదైనా సమయం అది వ్యూహం వచ్చినప్పుడు, మీ 59 00:02:41,420 --> 00:02:44,650 అనకు జరిగి ఆఫ్ వెళ్ళాలి సమస్యాత్మక మీరు తనిఖీ కాకపోతే 60 00:02:44,650 --> 00:02:45,810 వ్యూహం యొక్క సరిహద్దులు. 61 00:02:45,810 --> 00:02:46,650 మరియు ఇక్కడ సమస్య. 62 00:02:46,650 --> 00:02:47,910 మేము ఇంకా scanf ఉపయోగిస్తున్నారు. 63 00:02:47,910 --> 00:02:52,200 మేము ఇంకా ప్రయత్నించండి అంటే,% s ఉపయోగిస్తున్నట్లయితే యూజర్ నుండి ఒక స్ట్రింగ్ చదవడానికి. 64 00:02:52,200 --> 00:02:56,300 ఆ, ఇది, s లోకి చదవండి వెళుతున్న ఈ సమయంలో, సమర్థవంతంగా ఉంది 65 00:02:56,300 --> 00:02:58,570 మెమరీ భాగం యొక్క చిరునామా లేదా ఇది సమానమైన ఉంది. 66 00:02:58,570 --> 00:03:02,080 ఇది వ్యూహం యొక్క పేరు ఉంది మెమరీ అక్షరాలు. 67 00:03:02,080 --> 00:03:07,610 >> కానీ ఖచ్చితంగా, మీరు ఒక స్ట్రింగ్ చదివితే 49 అక్షరాలు, 49 కంటే ఎక్కువ ఉంది 68 00:03:07,610 --> 00:03:10,440 మీరు బాక్ స్లాష్ కోసం గది అవసరం ఎందుకంటే 0, మీరు ఓవర్ఫ్లో చూడాలని 69 00:03:10,440 --> 00:03:11,390 ఆ బఫర్. 70 00:03:11,390 --> 00:03:16,410 మరియు మీరు లక్కీ పొందండి మరియు చేయగలరు ఒక 51 వ పాత్ర, 52 వ, 53 వ్రాయండి. 71 00:03:16,410 --> 00:03:18,560 ఇక ఏదో సమయంలో, OS సే అన్నారు, ఏ. 72 00:03:18,560 --> 00:03:21,270 ఈ ఖచ్చితంగా మెమరీ కాదు మీరు తాకే అనుమతి చేస్తున్నారు. 73 00:03:21,270 --> 00:03:23,380 మరియు కార్యక్రమం segfault అన్నారు. 74 00:03:23,380 --> 00:03:26,650 >> సో అక్కడ సూక్ష్మపరిశోధన ఏ ఉండాలి మీరు స్థిర పొడవు పొందారు సమయం, మీరు 75 00:03:26,650 --> 00:03:30,150 మీరు పొడవు తనిఖీ చేస్తున్నాము చేయడానికి ఇది మీరు ప్రయత్నిస్తున్న ఉండే వస్తువు యొక్క 76 00:03:30,150 --> 00:03:31,090 ఇది చదవడానికి. 77 00:03:31,090 --> 00:03:35,110 >> ప్రేక్షకులు: ఆ, మీరు కాలేదు పరిష్కరించడానికి నిజానికి తనిఖీ ఒక ప్రకటన కలిగి 78 00:03:35,110 --> 00:03:37,140 పొడవు ఎక్కువ లేదా కంటే తక్కువ? 79 00:03:37,140 --> 00:03:37,730 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 80 00:03:37,730 --> 00:03:41,706 మీరు కేవలం ఈ పరిస్థితిని చెప్పారు, ఆ - 81 00:03:41,706 --> 00:03:46,080 లేదా మీరు తప్పనిసరిగా తెలియదు ముందుగానే ఎన్ని అక్షరాలు 82 00:03:46,080 --> 00:03:49,060 యూజర్, టైప్ అన్నారు ఎందుకంటే మీరు చికెన్ మరియు గుడ్డు కలిగి. 83 00:03:49,060 --> 00:03:51,860 మీరు scanf తో చదువుకున్నాము వరకు మీరు ఎంత కాలం చోటు చేయవచ్చు. 84 00:03:51,860 --> 00:03:54,500 కానీ ఆ సమయంలో, అది, చాలా ఆలస్యం మీరు ఇప్పటికే అది లోకి చదివారు ఎందుకంటే 85 00:03:54,500 --> 00:03:55,710 మెమరీ కొన్ని బ్లాక్. 86 00:03:55,710 --> 00:03:59,590 ఒక పక్కన, CS50 లైబ్రరీ తొలగిస్తుంది కాబట్టి ఈ సమస్యను పూర్తిగా, రీకాల్ 87 00:03:59,590 --> 00:04:01,060 fgetc ఉపయోగించి. 88 00:04:01,060 --> 00:04:05,390 మరియు అది, ఒక సమయంలో ఒక పాత్ర చదువుతుంది చిట్కా-toeing తెలుసుకోవడం, పాటు మీరు ఆ 89 00:04:05,390 --> 00:04:08,060 ఒక పాత్ర ఉంటే ఓవర్ఫ్లో కాదు మీరు ఒక సమయంలో ఒక చదవండి. 90 00:04:08,060 --> 00:04:11,580 >> క్యాచ్ GetString రీకాల్ తో ఉంది మేము నిరంతరం తిరిగి పరిమాణం కలిగి 91 00:04:11,580 --> 00:04:13,590 మెమరీ ఆ భాగం, ఇది కేవలం ఒక నొప్పి ఉంటుంది. 92 00:04:13,590 --> 00:04:15,310 ఇది రేఖలు చాలా ఉంది అలా కోడ్. 93 00:04:15,310 --> 00:04:18,779 మరో విధానం ఉంటుంది నిజానికి ఒక బంధువు ఉపయోగించడానికి, 94 00:04:18,779 --> 00:04:19,790 scanf యొక్క, మాట్లాడటం. 95 00:04:19,790 --> 00:04:22,820 ఈ చాలా వైవిధ్యాలు ఉన్నాయి వాస్తవానికి తనిఖీ ఫంక్షన్ల 96 00:04:22,820 --> 00:04:25,870 పొడవు ఎన్ని అక్షరాలు మీరు గరిష్టంగా చదవండి ఉండవచ్చు. 97 00:04:25,870 --> 00:04:29,430 మరియు మీరు చదివిన లేదు, పేర్కొనండి కాలేదు 50 అక్షరాలు. 98 00:04:29,430 --> 00:04:34,110 తద్వారా మరో విధానం కాగలదని పెద్ద ప్రవేశాంశాల తక్కువ ఇందుకు ఉంది. 99 00:04:34,110 --> 00:04:37,040 >> కాబట్టి ఆ వెర్షన్ అనుకుందాం, అడుగుతుంది 2 ప్రశ్న 3 సంకలనం మరియు అమలు. 100 00:04:37,040 --> 00:04:39,960 ఎందుకు ప్రోగ్రామ్ segfault ఉండవచ్చు? 101 00:04:39,960 --> 00:04:42,650 కాబట్టి ఈ ఒక నిజానికి అదే ఉంది , సమాధానం అయినప్పటికీ ఇది 102 00:04:42,650 --> 00:04:43,590 కొంచెం ఫ్యాన్సియెర్స్ కనిపిస్తోంది. 103 00:04:43,590 --> 00:04:46,440 మేము అనుకుని ఇది malloc, ఉపయోగిస్తున్నట్లయితే మనం మరింత ఎంపికలు ఇవ్వడం చేస్తున్నారు. 104 00:04:46,440 --> 00:04:48,030 మరియు తర్వాత ఆ ఉండండి లేదు చివరిలో మెమరీ. 105 00:04:48,030 --> 00:04:49,580 ఇది ఇప్పటికీ జ్ఞాపకశక్తిని 50 బైట్లు ఉంది. 106 00:04:49,580 --> 00:04:53,620 కాబట్టి మేము ఇంకా చదవడానికి ప్రయత్నించండి 51, 52, 1,000 బైట్లు లో. 107 00:04:53,620 --> 00:04:55,830 ఇది కోసం segfault వెళుతున్న అదే కారణం. 108 00:04:55,830 --> 00:04:57,530 >> కానీ మరొక కారణం చాలా ఉంది. 109 00:04:57,530 --> 00:05:03,890 పాటు తిరిగి malloc కాలేదు ఏమి మెమరీ భాగం యొక్క చిరునామా? 110 00:05:03,890 --> 00:05:04,920 ఇది శూన్య తిరిగి. 111 00:05:04,920 --> 00:05:07,560 మరియు మేము తనిఖీ లేదు ఎందుకంటే ఆ, ఏదో చేస్తూ ఉండవచ్చు 112 00:05:07,560 --> 00:05:11,350 ఆ ఇది మరొక కారణం, కోసం స్టుపిడ్ మేము scanf చెప్పడం ఉండవచ్చు, చదవండి 113 00:05:11,350 --> 00:05:16,050 కీబోర్డ్ నుండి యూజర్ యొక్క ఇన్పుట్ 0 స్థానాన్ని లోకి AKA శూన్య. 114 00:05:16,050 --> 00:05:18,890 మరియు ఆ, చాలా, ఖచ్చితంగా ఒక segfault ట్రిగ్గర్. 115 00:05:18,890 --> 00:05:21,590 కాబట్టి క్విజ్ యొక్క ప్రయోజనం కోసం, మనం ఒక వంటి వారిలో గాని అంగీకరించారు 116 00:05:21,590 --> 00:05:22,740 చెల్లుబాటు అయ్యే కారణం. 117 00:05:22,740 --> 00:05:23,420 ఒక సారూప్యత. 118 00:05:23,420 --> 00:05:25,720 ఒక కొంచెం nuanced ఉంది. 119 00:05:25,720 --> 00:05:28,975 >> చివరగా, కార్యక్రమం యొక్క సంబంధించి మెమొరీ, ఎలా వెర్షన్ 2 మరియు 120 00:05:28,975 --> 00:05:30,350 వెర్షన్ 3 తేడా? 121 00:05:30,350 --> 00:05:35,070 కనుక ఇది విలువ ఏమిటి, మేము చూసిన ఒక సాధ్యం అంతమయినట్లుగా చూపబడతాడు అంతం సరఫరా 122 00:05:35,070 --> 00:05:35,770 ఈ సమాధానాలు. 123 00:05:35,770 --> 00:05:39,300 మరియు ప్రజల సమాధానాలు మధ్య, మేము ఏమి ఉన్నాయి ఆశిస్తూ, కానీ ఇతర అంగీకరించారు 124 00:05:39,300 --> 00:05:42,250 విషయాలు, కొన్ని ప్రస్తావన ఉంది వెర్షన్ 2 ఉపయోగించి వాస్తవం 125 00:05:42,250 --> 00:05:44,560 అని పిలవబడే స్టాక్. 126 00:05:44,560 --> 00:05:46,710 వెర్షన్ 3 కుప్ప ఉపయోగిస్తోంది. 127 00:05:46,710 --> 00:05:50,060 మరియు క్రియాశీలంగా, ఈ నిజంగా తేడా యొక్క అన్ని ఎక్కువ తయారు. 128 00:05:50,060 --> 00:05:54,040 రోజు ముగింపులో, మేము ఇప్పటికీ ఉన్నారు కేవలం మెమరీ 50 బైట్లు పొందడానికి. 129 00:05:54,040 --> 00:05:56,640 >> కానీ అవకాశం సమాధానాలు ఒకటి మేము చూడటం జరిగింది. 130 00:05:56,640 --> 00:05:59,730 మీరు మీ క్విజ్ పొందండి కానీ మీరు, చూస్తారు తిరిగి TFS నుండి, మేము ఆ 131 00:05:59,730 --> 00:06:04,330 ఇతర చర్చలు అంగీకరించాలి వారి అసమాన మెమరీ ఉపయోగాలు అలాగే. 132 00:06:04,330 --> 00:06:08,600 కానీ, స్టాక్ మరియు కుప్ప ఉండేది పనిచేయడానికి ఒక సులభమైన సమాధానం. 133 00:06:08,600 --> 00:06:11,150 ఏదైనా ప్రశ్నలు? 134 00:06:11,150 --> 00:06:12,400 నేను మీరు రాబ్ ఇవ్వాలని. 135 00:06:12,400 --> 00:06:18,360 136 00:06:18,360 --> 00:06:20,210 >> రాబ్ బౌడెన్: కమ్మలు 4. 137 00:06:20,210 --> 00:06:21,985 ఈ పూరించాలి వచ్చింది పేరు ఒకటి అన్ని బయటకు బైట్లు సంఖ్య 138 00:06:21,985 --> 00:06:23,460 ఉపయోగిస్తారు ఈ వివిధ రకాల. 139 00:06:23,460 --> 00:06:24,830 మేము చూడండి కాబట్టి మొదటి విషయం. 140 00:06:24,830 --> 00:06:27,930 ఒక 32-bit ఆకృతి భావించవచ్చు, ఈ CS50 ఉపకరణం వలె. 141 00:06:27,930 --> 00:06:33,530 గురించి ప్రాథమిక విషయాలు ఒకటి 32-bit ఆకృతులనందు, మాకు చెబుతుంది 142 00:06:33,530 --> 00:06:37,490 ఎలా పెద్ద ఒక పాయింటర్ అన్నారు నిర్మాణం ఉండాలి. 143 00:06:37,490 --> 00:06:43,020 >> కాబట్టి వెంటనే, మేము తెలిసిన ఏ పాయింటర్ రకం 32 బిట్స్ లేదా 4 బైట్లు. 144 00:06:43,020 --> 00:06:46,010 కాబట్టి ఈ పట్టిక చూడటం, ఒక నోడ్ * ఒక పాయింటర్ రకం. 145 00:06:46,010 --> 00:06:47,250 ఆ 4 బైట్లు చేస్తాడు. 146 00:06:47,250 --> 00:06:51,640 Struct నోడ్ *, ఆ వాచ్యంగా ఉంది నోడ్ స్టార్ కి. 147 00:06:51,640 --> 00:06:53,590 అందువలన, 4 బైట్లు చేస్తాడు. 148 00:06:53,590 --> 00:06:58,270 స్ట్రింగ్, కాబట్టి ఇది ఒక వలె కనిపించడం లేదు ఇంకా పాయింటర్, కానీ typedef, ఒక 149 00:06:58,270 --> 00:07:01,590 స్ట్రింగ్ ఒక చార్ *, ఇది ఒక పాయింటర్ రకం. 150 00:07:01,590 --> 00:07:03,550 కాబట్టి 4 బైట్లు చేస్తాడు. 151 00:07:03,550 --> 00:07:06,150 >> సో అన్ని 4 బైట్లు ఉంటాయి. 152 00:07:06,150 --> 00:07:09,350 ఇప్పుడు, నోడ్ మరియు విద్యార్థి కొంచం క్లిష్టమైన. 153 00:07:09,350 --> 00:07:15,160 కాబట్టి నోడ్ మరియు విద్యార్థి చూడటం, మేము చూడండి పూర్ణాంకం మరియు ఒక పాయింటర్ గా నోడ్. 154 00:07:15,160 --> 00:07:18,050 మరియు విద్యార్థి రెండు గమనికలు అది లోపలి. 155 00:07:18,050 --> 00:07:23,340 కాబట్టి కనీసం ఇక్కడ మా కేసు కోసం, మార్గం మేము యొక్క పరిమాణం గణన ముగుస్తుంది 156 00:07:23,340 --> 00:07:27,020 ఈ struct కేవలం ప్రతిదీ జోడించండి ఉంది ఆ struct లోపల. 157 00:07:27,020 --> 00:07:30,690 >> కాబట్టి నోడ్ కోసం, మేము పూర్ణాంకం, ఇది 4 బైట్లు. 158 00:07:30,690 --> 00:07:32,830 మేము 4 బైట్లు ఒక పాయింటర్ కలిగి. 159 00:07:32,830 --> 00:07:35,820 కాబట్టి ఒక నోడ్ అన్నారు 8 బైట్లు చేపట్టారు. 160 00:07:35,820 --> 00:07:39,490 మరియు అలాగే విద్యార్థి కోసం, మేము ఒక కలిగి 4 బైట్లు మరియు మరొక అని పాయింటర్ 161 00:07:39,490 --> 00:07:40,770 4 బైట్లు ఉంది ఆ పాయింటర్. 162 00:07:40,770 --> 00:07:43,180 కాబట్టి చివరికి చేస్తాడు 8 బైట్లు ఉండటం. 163 00:07:43,180 --> 00:07:45,480 కాబట్టి నోడ్ మరియు విద్యార్థి 8 బైట్లు ఉంటాయి. 164 00:07:45,480 --> 00:07:48,950 మరియు ఈ మూడు అన్ని 4 బైట్లు ఉంటాయి. 165 00:07:48,950 --> 00:07:50,240 ఆ ప్రశ్నలకు? 166 00:07:50,240 --> 00:07:54,640 167 00:07:54,640 --> 00:07:54,990 అవును. 168 00:07:54,990 --> 00:07:58,413 >> ప్రేక్షకులు: ఇది ఒక 64-bit చేయబడింది నిర్మాణం, చేస్తాను 169 00:07:58,413 --> 00:07:59,880 వాటిని అన్ని రెట్టింపు? 170 00:07:59,880 --> 00:08:01,790 >> రాబ్ బౌడెన్: ఇది కాదు వాటిని అన్ని రెట్టింపు. 171 00:08:01,790 --> 00:08:05,830 కాబట్టి 64 బిట్ ఆర్కిటెక్చర్, ఇది, మళ్ళీ, మార్పులు ఆ ప్రాథమిక విషయం ఒక 172 00:08:05,830 --> 00:08:08,910 పాయింటర్ ఇప్పుడు 64 బిట్స్. 173 00:08:08,910 --> 00:08:09,290 అవును. 174 00:08:09,290 --> 00:08:10,930 కాబట్టి ఒక పాయింటర్ 8 బైట్లు. 175 00:08:10,930 --> 00:08:15,420 కాబట్టి ఈ 4 బైట్లు అని 8 బైట్లు ఉంటాయని. 176 00:08:15,420 --> 00:08:18,617 రెండు పాయింటర్లు ఇది ఒక విద్యార్థి,, బాగా, ఇప్పుడు అది వెళుతున్న 177 00:08:18,617 --> 00:08:19,800 8 బైట్లు, 8 బైట్లు. 178 00:08:19,800 --> 00:08:21,980 ఇది 16 బైట్లు సిధ్ధంగా. 179 00:08:21,980 --> 00:08:25,710 >> కానీ ఒక నోడ్ ఇప్పటికీ 4 బైట్లు. 180 00:08:25,710 --> 00:08:27,800 కాబట్టి ఈ పాయింటర్ అన్నారు 8 బైట్లు. 181 00:08:27,800 --> 00:08:28,930 ఈ 4 బైట్లు. 182 00:08:28,930 --> 00:08:30,870 కాబట్టి ఒక నోడ్ మాత్రమే అన్నారు 12 బైట్లు. 183 00:08:30,870 --> 00:08:36,309 184 00:08:36,309 --> 00:08:39,280 ఒక ఏ ఇతర ప్రశ్నలు? 185 00:08:39,280 --> 00:08:44,500 కాబట్టి తదుపరి, ఇవి లు. 186 00:08:44,500 --> 00:08:48,000 మరియు మీరు పరిస్థితులలో వివరించడానికి వచ్చింది ఇది కింద ఈ మైట్ 187 00:08:48,000 --> 00:08:49,810 మీరు తిరిగి. 188 00:08:49,810 --> 00:08:56,730 నేను కొన్ని విద్యార్థులు విన్న ఒక సమస్య వారు చేయడానికి ప్రయత్నించిన ఉంది 189 00:08:56,730 --> 00:08:58,950 లోపాలు క్లయింట్ యొక్క చివరన. 190 00:08:58,950 --> 00:09:02,320 మేము అభ్యర్థన ప్రయత్నించండి కాబట్టి సర్వర్కు, ఏదో వెళ్తాడు 191 00:09:02,320 --> 00:09:03,820 మా దగ్గర తప్పు. 192 00:09:03,820 --> 00:09:07,660 కానీ సాధారణంగా, ఈ కోడ్లు సర్వర్ ద్వారా తిరిగి. 193 00:09:07,660 --> 00:09:11,720 కాబట్టి మేము ఏమి గుర్తించడానికి కావలసిన తప్పు లేదా కుడి సర్వర్లో ఆ 194 00:09:11,720 --> 00:09:14,280 ఈ విషయాలు తిరిగి కారణమవుతుంది. 195 00:09:14,280 --> 00:09:18,670 ఎందుకు ఒక సర్వర్ తిరిగి వాటిని స్థితి కోడ్ 200? 196 00:09:18,670 --> 00:09:19,920 ఏదైనా ఆలోచనలు? 197 00:09:19,920 --> 00:09:23,360 198 00:09:23,360 --> 00:09:23,730 >> అవును. 199 00:09:23,730 --> 00:09:27,850 కాబట్టి ఏదో గురించి విజయవంతంగా అభ్యర్ధన కార్యరూపం. 200 00:09:27,850 --> 00:09:30,260 మరియు వారు తిరిగి చూడగలరని మీరు అడిగారు సంసార. 201 00:09:30,260 --> 00:09:32,240 కాబట్టి అన్ని బాగా. 202 00:09:32,240 --> 00:09:35,662 302 గురించి కనుగొన్నారో? 203 00:09:35,662 --> 00:09:36,618 అవును. 204 00:09:36,618 --> 00:09:39,008 >> ప్రేక్షకులు: సర్వర్ వెతుకుతున్న మీరు అభ్యర్థించిన ఏ కోసం. 205 00:09:39,008 --> 00:09:40,442 కానీ అది దొరకలేదు. 206 00:09:40,442 --> 00:09:42,850 కాబట్టి ఒక లోపం ఉంది. 207 00:09:42,850 --> 00:09:47,720 >> రాబ్ బౌడెన్: కాబట్టి సర్వర్ ఉంది అవకా వెతుకుతున్న. 208 00:09:47,720 --> 00:09:51,682 కాబట్టి కేవలం ఇక్కడ చూస్తున్న, 302 దొరకలేదు, అది కనుగొన్నాడు. 209 00:09:51,682 --> 00:09:53,035 >> ప్రేక్షకులు: క్షమించండి. 210 00:09:53,035 --> 00:09:54,388 దొరకలేదు వారు కనుగొన్నాడు అర్థం. 211 00:09:54,388 --> 00:09:55,638 క్షమించాలి. 212 00:09:55,638 --> 00:09:58,120 213 00:09:58,120 --> 00:10:00,160 >> రాబ్ బౌడెన్: కాబట్టి 302 దొరకలేదు. 214 00:10:00,160 --> 00:10:02,350 సర్వర్ కనుగొనగలరు ఉంది అవకా. 215 00:10:02,350 --> 00:10:04,640 >> ప్రేక్షకులు: ఇది ప్రదర్శించడం కాదు? 216 00:10:04,640 --> 00:10:08,180 >> రాబ్ బౌడెన్: మధ్య వ్యత్యాసం ఈ 302 మరియు 200 అని ఇది 217 00:10:08,180 --> 00:10:09,280 మీరు ఏమి తెలుసు. 218 00:10:09,280 --> 00:10:12,000 కానీ ఖచ్చితంగా కాదు మీరు అడగండి కోరుకున్నాడు. 219 00:10:12,000 --> 00:10:14,580 కాబట్టి 302 ఒక సాధారణ దారి మార్పు. 220 00:10:14,580 --> 00:10:16,510 కాబట్టి మీరు ఒక పేజీ అభ్యర్థించిన. 221 00:10:16,510 --> 00:10:19,590 ఇది ఓహ్, నేను మీరు, తెలుసు మీరు ఈ తిరిగి. 222 00:10:19,590 --> 00:10:21,070 కానీ ఈ వేరే URL ఉంది. 223 00:10:21,070 --> 00:10:23,534 కాబట్టి హే, మీరు నిజంగా ఈ కావాలి. 224 00:10:23,534 --> 00:10:26,950 >> డేవిడ్ J. మలన్: ఇది మాట్లాడుతూ ఒక భాగం ఉంది మీరు అబ్బాయిలు ఒక దారిమార్పు ఇచ్చిన 225 00:10:26,950 --> 00:10:30,830 శీర్షిక ఫంక్షన్ ఉపయోగించిన ఫంక్షన్ ఆ, క్రమంగా,, నగర ముద్రించిన 226 00:10:30,830 --> 00:10:34,110 కొలన్ మరియు అప్పుడు URL ఇది మీరు యూజర్ తిరస్కరించదలిచారా. 227 00:10:34,110 --> 00:10:37,480 మీరు 302 చూడలేదు అయినప్పటికీ స్పష్టంగా అక్కడ, ఏ PHP ఉంది 228 00:10:37,480 --> 00:10:41,550 అద్భుతంగా శీర్షిక వంటి ఇన్సర్ట్ ఉంటుంది రాబ్ ఉన్నాయి చెప్పారు వేటి చెప్పడం - 229 00:10:41,550 --> 00:10:41,930 దొరకలేదు. 230 00:10:41,930 --> 00:10:43,180 కానీ బదులుగా ఇక్కడ వెళ్ళండి. 231 00:10:43,180 --> 00:10:45,960 232 00:10:45,960 --> 00:10:46,160 >> రాబ్ బౌడెన్: OK. 233 00:10:46,160 --> 00:10:47,630 కాబట్టి 403 గురించి ఏ నిషిద్ధము? 234 00:10:47,630 --> 00:10:52,240 235 00:10:52,240 --> 00:10:57,120 >> ప్రేక్షకులు: నేను నేను అనుకుంటున్నాను సర్వర్ ప్రధానంగా చెప్పడం అని క్లయింట్ 236 00:10:57,120 --> 00:10:59,970 హోమ్ పేజీ యాక్సెస్ చేయలేరు. 237 00:10:59,970 --> 00:11:03,260 >> రాబ్ బౌడెన్: కాబట్టి అవును. 238 00:11:03,260 --> 00:11:07,670 బాగా, సాధారణ సమాధానం మేము అంచనా ఏదో వంటి, దస్త్రాలు 239 00:11:07,670 --> 00:11:08,920 తగిన chmodded లేదు. 240 00:11:08,920 --> 00:11:11,590 ఆ బహుశా లోబడి పరిస్థితులలో మీరు వాటిని చూసిన. 241 00:11:11,590 --> 00:11:18,920 కానీ ఒక కారణం ఉంది క్లయింట్ ఇక్కడ తప్పు కావచ్చు. 242 00:11:18,920 --> 00:11:20,440 మరొక స్థితి కోడ్ వాస్తవానికి ఉంది - 243 00:11:20,440 --> 00:11:21,210 401. 244 00:11:21,210 --> 00:11:22,820 కాబట్టి ఈ చాలా పోలి ఉంటాయి. 245 00:11:22,820 --> 00:11:24,590 >> 401 అనధికార ఉంది. 246 00:11:24,590 --> 00:11:26,130 మరియు 403 నిషేధించబడింది. 247 00:11:26,130 --> 00:11:31,890 కాబట్టి అనధికార మీరు ప్రత్యేకంగా మీరు లాగినై కాకపోతే పొందండి 248 00:11:31,890 --> 00:11:34,520 కానీ లాగిన్ కావచ్చు మీరు ప్రామాణీకరించబడిన. 249 00:11:34,520 --> 00:11:37,930 కానీ మీరు ఇప్పటికే లాగిన్ మరియు మీరు చేస్తుంటే అప్పటికి అనుమతి లేదు 250 00:11:37,930 --> 00:11:40,140 మీరు కూడా నిషిద్ధ పొందవచ్చు. 251 00:11:40,140 --> 00:11:45,320 కాబట్టి మీరు లాగిన్ మరియు లేకపోతే అనుమతి, నిషేధించబడింది కూడా ఉంది 252 00:11:45,320 --> 00:11:47,164 మీరు పొందవచ్చు ఏదో. 253 00:11:47,164 --> 00:11:48,900 >> డేవిడ్ J. మలన్: మరియు విధానం ద్వారా ఈ సమస్యలు సాధారణంగా ఇవి 254 00:11:48,900 --> 00:11:53,100 సేవికలో పరిష్కరించవచ్చు ఏ ఆదేశము ద్వారా? 255 00:11:53,100 --> 00:11:57,700 Chmod, అది ఉంటే, నిజానికి, ఒక అనుమతులు ఫైల్ లేదా డైరెక్టరీ న జారీ. 256 00:11:57,700 --> 00:11:59,220 >> రాబ్ బౌడెన్: అప్పుడు 404 దొరకలేదు. 257 00:11:59,220 --> 00:12:03,100 258 00:12:03,100 --> 00:12:03,470 అవును. 259 00:12:03,470 --> 00:12:10,150 కాబట్టి 302 కాకుండా పేరు అది ఖచ్చితంగా కాదు మీరు కానీ అభ్యర్థిస్తున్నాము ఇక్కడ ఏమి తెలుసు 260 00:12:10,150 --> 00:12:12,710 మీరు, ఈ, అది కేవలం ఉంది మీరు ఏ ఆలోచన. 261 00:12:12,710 --> 00:12:15,648 మరియు మీరు అభ్యర్థిస్తోంది లేదు చెల్లుబాటు అయ్యే ఏదో. 262 00:12:15,648 --> 00:12:18,580 263 00:12:18,580 --> 00:12:22,310 418 నేను ఒక టీపాట్ ఏళ్ళ 500 అంతర్గత సర్వర్. 264 00:12:22,310 --> 00:12:24,870 ఎందుకు గమనించా ఉండవచ్చు? 265 00:12:24,870 --> 00:12:26,120 >> కాబట్టి segfault - 266 00:12:26,120 --> 00:12:28,760 267 00:12:28,760 --> 00:12:30,640 నిజానికి గ్రేడింగ్ తెలియదు ఈ ప్రామాణిక. 268 00:12:30,640 --> 00:12:34,850 కానీ మీ PHP కోడ్ ఏదో కలిగి ఉంటే తిక్కన, సిద్ధాంతం లో, చేయగలిగే 269 00:12:34,850 --> 00:12:39,650 నిజానికి, segfault సందర్భంలో, ఈ 500 అంతర్గత సర్వర్ లోపం, ఏదో 270 00:12:39,650 --> 00:12:41,400 మీ సర్వర్ యొక్క తప్పు ఆకృతీకరణ. 271 00:12:41,400 --> 00:12:44,320 లేదా వాక్యనిర్మాణ దోషం ఉంది మీ PHP కోడ్ లో. 272 00:12:44,320 --> 00:12:46,095 లేదా చెడు ఏదో జరుగుతోంది. 273 00:12:46,095 --> 00:12:48,320 >> డేవిడ్ J. మలన్: మేము segfault వుంటావు కొన్ని ప్రజల సమాధానాలు మధ్య. 274 00:12:48,320 --> 00:12:49,490 మరియు సాంకేతికంగా, అది జరిగి. 275 00:12:49,490 --> 00:12:53,820 కానీ ఒక PHP, కార్యక్రమం ఉంటుంది నిజానికి, ఇతర ప్రజలు రాసిన 276 00:12:53,820 --> 00:12:57,790 segfaulted, ఇది మాత్రమే ఆ ప్రజలు ఇరుక్కొనిపోయింది మరియు లో బగ్గీ కోడ్ రాశాడు 277 00:12:57,790 --> 00:13:00,680 వారి వ్యాఖ్యాత చేస్తాను PHP కూడా segfault. 278 00:13:00,680 --> 00:13:06,460 500 ఒక segfault వంటి అయినప్పటికీ కాబట్టి ఆత్మ లో, ఇది దాదాపు ఎప్పుడూ ఉంది 279 00:13:06,460 --> 00:13:10,490 ఒక ఆకృతీకరణ ఫైలు సమస్య యొక్క ఫలితం మీ వెబ్ సర్వర్ తో లేదా, రాబ్ చెప్పారు వంటి, 280 00:13:10,490 --> 00:13:13,200 మీరు వంటి వాక్యనిర్మాణ దోషం, ఒక కోట్ ముగించలేదు. 281 00:13:13,200 --> 00:13:16,180 లేదా మీరు ఎక్కడో ఒక సెమికోలన్ కోల్పోయింది. 282 00:13:16,180 --> 00:13:23,677 >> ప్రేక్షకులు: షటిల్ pset కోసం, నేను నేను చేసిన నేను క్లిక్ ఒకసారి అనుకుంటున్నాను 283 00:13:23,677 --> 00:13:26,300 బ్రౌజర్, కానీ ఏమీ, వచ్చింది వారు తెలుపు పేజీ పిలిచారు. 284 00:13:26,300 --> 00:13:28,056 కానీ ఎందుకంటే కోడ్ యొక్క ఉంది. 285 00:13:28,056 --> 00:13:29,440 నేను ఆ JavaScript భావించాను, కుడి? 286 00:13:29,440 --> 00:13:29,770 >> రాబ్ బౌడెన్: అవును. 287 00:13:29,770 --> 00:13:31,180 >> ప్రేక్షకులు: అని దోష ఇప్పటికీ ఆలోచన? 288 00:13:31,180 --> 00:13:34,290 >> రాబ్ బౌడెన్: మీరు సంపాదించిన ఉండేది కాదు ఈ లోపం కారణంగా ప్రతిదీ 289 00:13:34,290 --> 00:13:36,930 వెబ్ సర్వర్ దృక్పథంలో పూర్తిగా జరిమానా ఉంది. 290 00:13:36,930 --> 00:13:39,090 కానీ మీరు index.html అభ్యర్థించిన. 291 00:13:39,090 --> 00:13:42,000 మీరు shuttle.js అభ్యర్థించిన మరియు service.js. 292 00:13:42,000 --> 00:13:44,580 మరియు అది విజయవంతంగా తిరిగి చేయగలిగాడు ఆ విషయాలను అన్ని - 293 00:13:44,580 --> 00:13:44,980 200. 294 00:13:44,980 --> 00:13:45,680 OK. 295 00:13:45,680 --> 00:13:49,330 ఇది మీ బ్రౌజర్ ప్రయత్నించారు మాత్రమే ఉంది జావాస్క్రిప్ట్ కోడ్ అన్వయించుకుంటారు 296 00:13:49,330 --> 00:13:51,370 ఇది వంటి, వేచి యొక్క ఈ కాదు చెల్లుబాటు అయ్యే JavaScript లోపం. 297 00:13:51,370 --> 00:13:55,720 298 00:13:55,720 --> 00:13:58,210 ఏదైనా ఇతర ప్రశ్నలు? 299 00:13:58,210 --> 00:14:00,750 అన్ని కుడి. 300 00:14:00,750 --> 00:14:04,120 >> డేవిడ్ J. మలన్: తదుపరి అప్ సంఖ్య 11 ఉంది. 301 00:14:04,120 --> 00:14:07,610 మరియు 11 భయంకరమైన ఉంది ప్రజలు చాలా కోసం. 302 00:14:07,610 --> 00:14:14,620 303 00:14:14,620 --> 00:14:18,570 కాబట్టి ముఖ్యమైన విషయం ఇక్కడ గమనించదగ్గ ఈ, నిజానికి, గురించి అని 304 00:14:18,570 --> 00:14:19,840 నటన ఎన్నటికీ లింక్ జాబితా. 305 00:14:19,840 --> 00:14:23,160 కానీ ఈ గత సంవత్సరం అదే కాదు ఎన్నటికీ లింక్ జాబితా సమస్య, 306 00:14:23,160 --> 00:14:27,170 మీరు మినహాయింపు ఇవ్వలేదని జాబితా, నిజానికి, క్రమబద్ధీకరించనిది ఉంటుంది. 307 00:14:27,170 --> 00:14:29,640 >> జాబితా క్రమబద్ధీకరించనిది ఉంది కాబట్టి నిజానికి మరియు ఆ పదం వాస్తవం 308 00:14:29,640 --> 00:14:32,930 చెప్పేటప్పుడు ఉన్నాయి అర్థం మార్క్ ఈ నిజానికి ఒక సరళీకరణ అని 309 00:14:32,930 --> 00:14:35,430 లేకపోతే ఉండేవి ఏమి మరింత సవాలు సమస్య 310 00:14:35,430 --> 00:14:36,600 మరియు సుదీర్ఘ ఒక. 311 00:14:36,600 --> 00:14:40,760 ఇక్కడ ఒక సాధారణ తప్పు చేసి ఉంది మీ ఒక గత సంవత్సరం పరిష్కారం 312 00:14:40,760 --> 00:14:45,580 పేజర్ ఆపై గుడ్డిగా ఆ కాపీ కుడి ఇది సమాధానం, వంటి డౌన్ 313 00:14:45,580 --> 00:14:48,520 వేరే ప్రశ్నకు సమాధానం ఆత్మ లో మాదిరిగా. 314 00:14:48,520 --> 00:14:51,340 కానీ ఇక్కడ సూక్ష్మబేధాలు టిఆర్ఎస్. 315 00:14:51,340 --> 00:14:55,200 >> కాబట్టి, మేము ఒక నోడ్ చాటి చేశారు ఇక్కడ సాధారణ నిర్వచించవచ్చు. 316 00:14:55,200 --> 00:14:59,230 అప్పుడు మేము జాబితా ఒక ప్రపంచ ఉంటుంది నిర్వచించిన పాయింటర్ శూన్యం కు initialized. 317 00:14:59,230 --> 00:15:02,150 అప్పుడు స్పష్టంగా, రెండు విధులు ఉంది మేము ఇక్కడ కోసం నమూనా కలిగి, చొప్పించు 318 00:15:02,150 --> 00:15:03,240 మరియు తొలగించడానికి. 319 00:15:03,240 --> 00:15:06,600 మరియు తర్వాత మేము ఇక్కడ కొన్ని నమూనా కోడ్ ఉన్నాయి యొక్క ప్రక్షిప్తాలు కొంత చేయడం. 320 00:15:06,600 --> 00:15:09,930 మరియు తర్వాత మేము పూర్తి మీరు అడగవచ్చు ఇటువంటి క్రింద చొప్పించు అమలు 321 00:15:09,930 --> 00:15:14,380 ఇది జాబితాలో n ఇన్సర్ట్ విధంగా స్థిరంగా సమయంలో, కూడా మార్క్, 322 00:15:14,380 --> 00:15:15,730 ఇప్పటికే ఉంటే. 323 00:15:15,730 --> 00:15:20,600 >> కాబట్టి ఇన్సర్ట్ సామర్థ్యం అందం స్థిరంగా సమయంలో అది సూచిస్తుంది 324 00:15:20,600 --> 00:15:23,060 మీరు ఇన్సర్ట్ చేసేది కొత్త నోడ్ పేరు? 325 00:15:23,060 --> 00:15:23,690 ముందు. 326 00:15:23,690 --> 00:15:27,760 కనుక ఇది, అదృష్టవశాత్తూ, తొలగిస్తుంది కనీసం అవసరం ఉపయోగించారు సందర్భాలలో ఒకటి 327 00:15:27,760 --> 00:15:30,520 ఇది వంటి కోడ్ యొక్క మరింత పంక్తులు, చేశాడు గత ఏడాది కూడా తరగతి లో మేము 328 00:15:30,520 --> 00:15:34,040 విషయం ఈ రకమైన ద్వారా మాట్లాడారు మానవులతో మరియు కొన్ని 329 00:15:34,040 --> 00:15:35,250 శబ్ద నకిలీ కోడ్. 330 00:15:35,250 --> 00:15:39,190 ఇక్కడ పరిష్కారం లో, యొక్క పైగా skip తెలియజేయండి ఆ కేవలం ఒక దృశ్య కలిగి 331 00:15:39,190 --> 00:15:40,480 స్క్రీన్. 332 00:15:40,480 --> 00:15:42,230 >> మేము క్రింది చేయడం గమనించవచ్చు. 333 00:15:42,230 --> 00:15:45,140 మరియు ఇతర సరళీకరణ, గమనించి అని అయినా 334 00:15:45,140 --> 00:15:48,280 అప్పటికే, ఈ అర్థం కూడా సంఖ్య మీరు, ఇప్పటికే ఉంది 335 00:15:48,280 --> 00:15:50,280 గుడ్డిగా మరో ఇన్సర్ట్ అది కాపీ. 336 00:15:50,280 --> 00:15:52,560 మరియు ఆ, చాలా, ఒక అని అర్థం సరళీకరణ, మీరు కనుక దీని 337 00:15:52,560 --> 00:15:54,940 , మరింత నిజంగా, కొన్ని దృష్టి తెలివైన ఆసక్తికరమైన భాగంగా మరియు 338 00:15:54,940 --> 00:15:58,090 తనిఖీ కొన్ని అదనపు లోపం కేవలం పరిమిత సమయం ఇచ్చిన. 339 00:15:58,090 --> 00:16:02,880 >> కాబట్టి ఈ నమూనా పరిష్కారం లో, మేము కేటాయించాలని ఎడమ వైపు ఒక పాయింటర్ 340 00:16:02,880 --> 00:16:04,510 ఒక నోడ్ ఇక్కడ పక్క. 341 00:16:04,510 --> 00:16:07,190 ఇప్పుడు, వంటి, ఆ పాయింటర్ తెలుసుకుంటారు రాబ్ అన్నారు, 32 బిట్స్ ఉంది. 342 00:16:07,190 --> 00:16:09,060 మరియు అది నిజానికి కలిగి లేదు మీరు వరకు చిరునామా 343 00:16:09,060 --> 00:16:09,970 ఇది చిరునామా కేటాయించి. 344 00:16:09,970 --> 00:16:13,220 మరియు మేము కుడి వైపు అలా malloc ద్వారా వైపు. 345 00:16:13,220 --> 00:16:16,550 ఒక మంచి పౌరుడు వంటి, మేము ఆ తనిఖీ malloc కాదు, నిజానికి, శూన్య, కాబట్టి 346 00:16:16,550 --> 00:16:18,690 మేము అనుకోకుండా సృష్టించవద్దు ఇక్కడ ఒక segfault. 347 00:16:18,690 --> 00:16:22,840 మరియు ఏ సమయంలో మీరు, జీవితం లో మీరు malloc ఉపయోగిస్తున్నప్పుడు లేదంటే, శూన్య తనిఖీ చేయాలి 348 00:16:22,840 --> 00:16:24,090 మీరు ఒక సూక్ష్మ బగ్ కలిగి. 349 00:16:24,090 --> 00:16:28,460 >> అప్పుడు మేము ఆ శూన్య ప్రారంభించడం n మరియు మునుపటి మరియు తదుపరి కేటాయించి. 350 00:16:28,460 --> 00:16:32,450 మరియు ఇక్కడ ఈ సందర్భంలో, నేను initialized ఎందుకంటే ఈ కొత్త, శూన్యం మునుపటి 351 00:16:32,450 --> 00:16:34,780 నోడ్ కొత్త అన్నారు నా జాబితా ప్రారంభం. 352 00:16:34,780 --> 00:16:37,050 కాబట్టి ఉన్నట్లు జరగబోతోంది ఇది ముందు ఏమీ. 353 00:16:37,050 --> 00:16:42,010 నేను తప్పనిసరిగా జోడించు మీరు ద్వారా కొత్త నోడ్ ఉన్న జాబితా 354 00:16:42,010 --> 00:16:44,700 కూడా జాబితా పక్కన సమానంగా చేయడం. 355 00:16:44,700 --> 00:16:47,120 కానీ నేను ఇంకా పూర్తి కాదు. 356 00:16:47,120 --> 00:16:51,780 జాబితా కూడా ఇప్పటికే ఉనికిలో, అయితే మరియు కనీసం ఒక నోడ్ ఉంది 357 00:16:51,780 --> 00:16:57,070 ఇప్పటికే స్థానంలో, ఈ జాబితాలో ఉంటే ఇక్కడ మరియు నేను, ఇక్కడ ఒక కొత్త నోడ్ ఇన్సర్ట్ 358 00:16:57,070 --> 00:17:01,840 నిర్ధారించుకోండి అవసరం నా మాజీ నోడ్ నా కొత్త నోడ్ వెనుకకు పాయింట్లు, 359 00:17:01,840 --> 00:17:04,260 ఈ, మళ్ళీ, ఎందుకంటే నటన ఎన్నటికీ లింక్ జాబితా. 360 00:17:04,260 --> 00:17:05,460 >> కాబట్టి మేము ఒక తెలివి చెక్. 361 00:17:05,460 --> 00:17:10,109 ఇప్పటికే ఉంది ఉంటే జాబితా, శూన్య లేకపోతే తరువాత ఒకటి లేదా ఎక్కువ నోడ్స్, 362 00:17:10,109 --> 00:17:12,470 మాట్లాడటానికి సూచన తిరిగి జోడించండి. 363 00:17:12,470 --> 00:17:15,420 మరియు తర్వాత మేము అవసరం ఆఖరి విషయం చేయడానికి నిజానికి ప్రపంచ నవీకరించండి 364 00:17:15,420 --> 00:17:20,329 సూచించడానికి వేరియబుల్ జాబితా కూడా కొత్త నోడ్. 365 00:17:20,329 --> 00:17:21,790 అవును. 366 00:17:21,790 --> 00:17:26,579 >> ప్రేక్షకులు: పాయింటర్ బాణం లో [వినబడని] చేస్తుంది, శూన్య సమానం 367 00:17:26,579 --> 00:17:30,420 జాబితా పరిష్కరించేందుకు ఎందుకంటే జాబితాలో శూన్య? 368 00:17:30,420 --> 00:17:30,596 >> డేవిడ్ J. మలన్: వద్దు. 369 00:17:30,596 --> 00:17:34,500 ఆ ముందుగా ఉండటం కేవలం నాకు ఉంది ఈ నా ఉంటే ఆ, జాగ్రత్తగా 370 00:17:34,500 --> 00:17:38,730 కొన్ని మరిన్ని నోడ్స్ తో అసలు జాబితా ఇక్కడ పైగా మరియు నేను ఇన్సర్ట్ వెబ్ నా 371 00:17:38,730 --> 00:17:42,380 ఇక్కడ పైగా కొత్త నోడ్, జరగబోతోంది ఇక్కడ పైగా ఏమీ. 372 00:17:42,380 --> 00:17:44,720 నేను ఆ ఆలోచన పట్టుకుని మీరు గత అమర్చుట ద్వారా 373 00:17:44,720 --> 00:17:47,740 కొత్త నోడ్ మీద శూన్య. 374 00:17:47,740 --> 00:17:51,410 మరియు బహుశా, నా కోడ్ సరైన ఉంటే మరియు ఇన్సర్ట్ ఏ ఇతర మార్గం ఉంది 375 00:17:51,410 --> 00:17:54,970 ఈ ఫంక్షన్ కంటే ఇతర నోడ్స్, బహుశా, కూడా జాబితా ఇప్పటికే ఉంది 376 00:17:54,970 --> 00:18:00,090 అది ఒకటి లేదా ఎక్కువ నోడ్స్, బహుశా జాబితా, మొదటి నోడ్, వుంటుంది ఒక 377 00:18:00,090 --> 00:18:02,750 శూన్య యొక్క మునుపటి పాయింటర్. 378 00:18:02,750 --> 00:18:03,550 >> ప్రేక్షకులు: కేవలం ఒక కొనసాగించిన. 379 00:18:03,550 --> 00:18:08,139 మీరు తదుపరి సమానం పాయింటర్ ఉంచారు కారణం జాబితా మీరు పాయింటర్ చేస్తున్న ఉంది 380 00:18:08,139 --> 00:18:13,579 ఇది పై చేసే జాబితాలో ముందు తదుపరి, నేను ఊహిస్తున్నాను - 381 00:18:13,579 --> 00:18:14,980 నేను don't - 382 00:18:14,980 --> 00:18:15,450 కేవలం జాబితా? 383 00:18:15,450 --> 00:18:16,400 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 384 00:18:16,400 --> 00:18:19,400 కాబట్టి యొక్క నిజానికి రెండు కేసులు పరిశీలిద్దాం ఇక్కడ నిజంగా, అయినప్పటికీ 385 00:18:19,400 --> 00:18:22,070 మేము వాటిని పరిగణలోకి చేస్తాము క్రమంలో కాదు కోడ్ చాలా అదే. 386 00:18:22,070 --> 00:18:26,250 కానీ అధిక స్థాయిలో, ఈ సూచిస్తుంది జాబితా మరియు ఈ ఒక 32-bit ఉంది 387 00:18:26,250 --> 00:18:29,560 పాయింటర్, సాధారణ దృశ్య ఈ సిద్ధంగా శూన్య అని. 388 00:18:29,560 --> 00:18:33,010 నేను ఇన్సర్ట్ అనుకుందాం సంఖ్య 50 మొదటి సంఖ్య. 389 00:18:33,010 --> 00:18:37,640 నేను ముందుకు వెళ్లి కేటాయించే వెళుతున్న కలిగి అన్నారు ఇది ఒక నోడ్, 390 00:18:37,640 --> 00:18:38,770 మూడు ఖాళీలను - 391 00:18:38,770 --> 00:18:42,070 n, మునుపటి, మరియు తదుపరి. 392 00:18:42,070 --> 00:18:44,580 >> నేను సంఖ్య 50 ఉంచారు వెళుతున్న ఇక్కడ, ఈ n ఉంటుంది ఎందుకంటే. 393 00:18:44,580 --> 00:18:46,130 ఈ తదుపరి ఉంటుంది. 394 00:18:46,130 --> 00:18:48,530 మరియు ఈ మునుపటి ఉంటుంది. 395 00:18:48,530 --> 00:18:50,910 కాబట్టి నేను ఈ సందర్భంలో ఏమి చేస్తారు? 396 00:18:50,910 --> 00:18:53,900 Well, నేను కేవలం ఇక్కడ లైన్ 1 చేసిన. 397 00:18:53,900 --> 00:18:55,400 పాయింటర్ n n గెట్స్. 398 00:18:55,400 --> 00:18:57,740 నేను మునుపటి మాట్లాడుతూ వెబ్ శూన్య కావాలి. 399 00:18:57,740 --> 00:18:59,470 కాబట్టి ఈ శూన్య అన్నారు. 400 00:18:59,470 --> 00:19:01,365 అప్పుడు నేను తరువాత చెప్పే వెళుతున్న జాబితా పొందడానికి అన్నారు. 401 00:19:01,365 --> 00:19:05,150 >> మరియు ఈ కేవలం బాగా పనిచేస్తుంది. 402 00:19:05,150 --> 00:19:06,500 ఈ శూన్య. 403 00:19:06,500 --> 00:19:10,620 కాబట్టి నేను కొత్త నోడ్ యొక్క తదుపరి మాట్లాడుతూ వెబ్ రంగంలో ఈ సంసార కావాలి. 404 00:19:10,620 --> 00:19:12,570 తద్వారా అక్కడ మరో శూన్య ఉంచుతుంది. 405 00:19:12,570 --> 00:19:14,510 మరియు తర్వాత గత విషయం నేను ఇక్కడ తనిఖీ చేస్తారు. 406 00:19:14,510 --> 00:19:17,870 జాబితా ఇది శూన్య సమానం కాదు, కానీ ఉంటే శూన్య సమానం, కాబట్టి మేము skip ఆ 407 00:19:17,870 --> 00:19:18,470 పూర్తిగా. 408 00:19:18,470 --> 00:19:23,520 కాబట్టి నేను అన్ని తదుపరి జాబితా గెట్స్ ఉంది చిత్రాల ఫలితంగా పాయింటర్, 409 00:19:23,520 --> 00:19:25,570 ఆ వంటి చిత్రాన్ని. 410 00:19:25,570 --> 00:19:26,620 కాబట్టి ఒక దృష్టాంతంలో ఉంది. 411 00:19:26,620 --> 00:19:30,490 >> మరియు మీరు గురించి అడుగుతూ ఒక ప్రత్యేకంగా ఈ వంటి పరిస్థితి ఉంది, 412 00:19:30,490 --> 00:19:33,190 మేము ఇప్పటికే ఒక నోడ్ జాబితా పేరు. 413 00:19:33,190 --> 00:19:36,240 నేను అసలు లో తిరిగి వెళ్ళి ఉంటే సమస్యకు, మేము తదుపరి 414 00:19:36,240 --> 00:19:39,320 కేవలం కోసం, సే 34 చొప్పించు చర్చ కొరకు. 415 00:19:39,320 --> 00:19:46,210 నేను కేవలం సౌకర్యవంతంగా వెళుతున్న ఇక్కడ పైగా ఆ డ్రా. 416 00:19:46,210 --> 00:19:47,540 నేను malloced చేసిన. 417 00:19:47,540 --> 00:19:49,310 యొక్క నేను శూన్య తనిఖీ చేస్తున్నాను భావిస్తాను. 418 00:19:49,310 --> 00:19:51,870 >> ఇప్పుడు, నేను ప్రారంభించడం వెళుతున్న n 34 ఉండాలి. 419 00:19:51,870 --> 00:19:53,040 మరియు ఈ n ఉంటుంది. 420 00:19:53,040 --> 00:19:54,670 ఈ తదుపరి ఉంటుంది. 421 00:19:54,670 --> 00:19:57,100 మరియు ఈ మునుపటి ఉంటుంది. 422 00:19:57,100 --> 00:19:59,370 యొక్క ఖచ్చితంగా నేను కాదు తయారు చేద్దాము వెనుకకు ఈ పొందండి. 423 00:19:59,370 --> 00:20:01,110 మునుపటి మొదటి వచ్చింది నిర్వచనం. 424 00:20:01,110 --> 00:20:03,070 నాకు ఈ పరిష్కరించడానికి అనుమతిస్తాయి. 425 00:20:03,070 --> 00:20:04,410 ఈ మునుపటి ఉంది. 426 00:20:04,410 --> 00:20:05,780 ఈ తదుపరి ఉంది. 427 00:20:05,780 --> 00:20:08,620 ఈ సమానంగా ఉంటాయి, అయినప్పటికీ యొక్క స్థిరమైన కొనసాగుతున్నారు. 428 00:20:08,620 --> 00:20:09,450 >> మునుపటి. 429 00:20:09,450 --> 00:20:11,030 ఈ తదుపరి ఉంది. 430 00:20:11,030 --> 00:20:16,310 కాబట్టి నేను తనిఖీ, నా గమనిక malloced చేసిన శూన్య కోసం, నోడ్ లోకి 34 అప్పగించింది. 431 00:20:16,310 --> 00:20:17,570 మునుపటి శూన్య గెట్స్. 432 00:20:17,570 --> 00:20:19,480 కాబట్టి నాకు ఆ ఇస్తుంది. 433 00:20:19,480 --> 00:20:21,010 తదుపరి జాబితా గెట్స్. 434 00:20:21,010 --> 00:20:22,370 కాబట్టి జాబితా ఈ ఉంది. 435 00:20:22,370 --> 00:20:26,520 కాబట్టి ఈ ఇప్పుడు అదే ఉంది ఈ గీయడం వంటి కర్ణుడి సూచించబడిన కాబట్టి, బాణం 436 00:20:26,520 --> 00:20:27,940 అదే లో. 437 00:20:27,940 --> 00:20:30,400 ఆపై నేను తనిఖీ చేస్తున్నాను ఉంటే జాబితా శూన్య సమానం కాదు. 438 00:20:30,400 --> 00:20:31,740 మరియు ఈ సమయం కాదు. 439 00:20:31,740 --> 00:20:35,580 అప్పుడు నేను జాబితా వెళుతున్న మునుపటి పాయింటర్ గెట్స్. 440 00:20:35,580 --> 00:20:39,700 >> కాబట్టి మునుపటి జాబితా PTR గెట్స్. 441 00:20:39,700 --> 00:20:44,300 కాబట్టి ఈ విధంగా ప్రభావం ఉంది ఇక్కడ గ్రాఫికల్ బాణం. 442 00:20:44,300 --> 00:20:46,930 మరియు ఒక చిన్న సంతరించుకోనుంది ఉంగరాల, పంక్తులు. 443 00:20:46,930 --> 00:20:50,780 ఆపై, చివరకు, నేను అప్డేట్ పాయింటర్ సూచించడానికి జాబితా. 444 00:20:50,780 --> 00:20:55,560 కాబట్టి ఇప్పుడు ఈ ఈ గై పాయింట్లు. 445 00:20:55,560 --> 00:20:57,170 ఇప్పుడు, యొక్క శీఘ్ర తెలియజేసేలా తెలివి తనిఖీ. 446 00:20:57,170 --> 00:20:59,470 >> ఇక్కడ జాబితా ఇది, ఉంది ప్రపంచ వేరియబుల్. 447 00:20:59,470 --> 00:21:02,850 మొదటి నోడ్,, నిజానికి, 34 ఎందుకంటే నేను ఆ బాణం అనుసరించే. 448 00:21:02,850 --> 00:21:05,210 నేను మీరు ఎందుకంటే మరియు సరైన అని జాబితా ప్రారంభంలో ఇన్సర్ట్ 449 00:21:05,210 --> 00:21:06,070 అన్ని కొత్త నోడ్స్. 450 00:21:06,070 --> 00:21:08,860 తన తదుపరి రంగంలో ఈ వ్యక్తి నాకు దారితీస్తుంది. 451 00:21:08,860 --> 00:21:10,710 నేను కొనసాగించడాన్ని, నేను తరువాత శూన్య హిట్. 452 00:21:10,710 --> 00:21:11,760 అందువలన మరింత జాబితాను. 453 00:21:11,760 --> 00:21:14,460 నేను గత హిట్, నేను పొందండి నేను పేరు తిరిగి. 454 00:21:14,460 --> 00:21:16,435 >> కాబట్టి కొన్ని గమనికలు ఇప్పటికీ ఉన్నాయి, స్పష్టంగా, సవరించడానికి. 455 00:21:16,435 --> 00:21:19,870 కానీ మీరు ఏమి చెప్పబడింది వాస్తవం ఈ స్థిరంగా సమయంలో మీరు మాత్రమే అర్థం 456 00:21:19,870 --> 00:21:22,910 విషయాలు ఒక పరిమిత సంఖ్య కలిగి మీరు అనుమతి చేస్తున్నాం. 457 00:21:22,910 --> 00:21:24,290 మరియు ఆ నంబర్ ఏమిటి? 458 00:21:24,290 --> 00:21:25,185 ఇది ఒక అడుగు కావచ్చు. 459 00:21:25,185 --> 00:21:25,700 ఇది రెండు కావచ్చు. 460 00:21:25,700 --> 00:21:26,820 ఇది 1,000 దశలను కావచ్చు. 461 00:21:26,820 --> 00:21:30,500 కానీ మీరు కాదు అంటే, పరిమిత మళ్ళీ వెతికినా ఎలాంటి జరగబోతోంది చేశారు 462 00:21:30,500 --> 00:21:32,010 ఇక్కడ, ఏ సూత్రం, ఏ ఉచ్చులు. 463 00:21:32,010 --> 00:21:37,390 ఇది కేవలం హార్డ్ కోడెడ్ పంక్తులు తీరవలసినదే మేము ఈ నమూనా లో కలిగి కోడ్ నాటికి. 464 00:21:37,390 --> 00:21:42,330 >> తరువాత సమస్య 12 మాకు కోరారు తొలగించు అమలు పూర్తి 465 00:21:42,330 --> 00:21:46,740 ఇది తొలగిస్తుంది విధంగా క్రింద n సరళ సమయంలో జాబితా నుండి. 466 00:21:46,740 --> 00:21:48,740 కాబట్టి మీరు కొంచెం కలిగి విగ్లే గది ఇప్పుడు. 467 00:21:48,740 --> 00:21:52,380 మీరు, ఆ n ఊహించుకోవటం ఉండవచ్చు ఉంటే ప్రస్తుతం జాబితాలో, ప్రస్తుతం ఉంటుంది 468 00:21:52,380 --> 00:21:53,340 ఒక్కసారి కంటే ఎక్కువగా. 469 00:21:53,340 --> 00:21:56,770 మరియు ఆ చాలా ఒక క్విజ్ ఆధారిత అని అర్థం సరళీకృతం భావన, కాబట్టి 470 00:21:56,770 --> 00:21:59,780 మీరు సంఖ్య 50 రాశారు ఉంటే జాబితాలో, మీరు కూడా లేదు 471 00:21:59,780 --> 00:22:02,890 నిరంతర గురించి ఆందోళన ప్రతి సాధ్యం వెతుకుతున్న, iterate 472 00:22:02,890 --> 00:22:06,990 కేవలం బదిలీ ఇది 50 యొక్క కాపీని, పరిమిత సమయం లో కొన్ని minutia లోకి. 473 00:22:06,990 --> 00:22:10,460 >> కాబట్టి తొలగించు తో, ఈ ఒక ఖచ్చితంగా ఉంది మరింత సవాలు మరియు మరింత 474 00:22:10,460 --> 00:22:11,640 రాయడానికి కోడ్. 475 00:22:11,640 --> 00:22:14,990 కానీ మొదటి చూపులో, స్పష్టముగా, అది వాటిని అధిక మరియు లాగ 476 00:22:14,990 --> 00:22:17,060 మీరు కలిగి ఉంటుంది మార్గమే లేదు ఒక క్విజ్ లో ఆలోచన. 477 00:22:17,060 --> 00:22:22,450 కానీ మేము వ్యక్తిగత దశలను దృష్టి ఉంటే, ఆశాజనక, అది అకస్మాత్తుగా రెడీ 478 00:22:22,450 --> 00:22:26,060 మీరు సమ్మె ఈ వ్యక్తి యొక్క ప్రతి దశలను స్పష్టమైన అర్ధమే 479 00:22:26,060 --> 00:22:27,080 ఇకముందు. 480 00:22:27,080 --> 00:22:28,200 కాబట్టి యొక్క పరిశీలించి అనుమతిస్తుంది. 481 00:22:28,200 --> 00:22:32,570 >> కాబట్టి మొదటి, మేము పాయింటర్ ప్రారంభించడం ఉండాలి కూడా జాబితా. 482 00:22:32,570 --> 00:22:36,040 నేను సరళ సమయం తెచ్చుకున్నాయి, సాధనాలు నేను కొన్ని లూప్ కలిగి వెళుతున్న. 483 00:22:36,040 --> 00:22:39,730 మరియు ఒక సాధారణ మార్గం మీద iterate జాబితా నిర్మాణం లేదా ఏ రకమైన లో నోడ్ 484 00:22:39,730 --> 00:22:43,860 నిర్మాణం యొక్క మరల పొందాలి డేటా ముందు ఒక పాయింటర్ 485 00:22:43,860 --> 00:22:46,990 నిర్మాణం మరియు అప్పుడు నవీకరించుటకు ప్రారంభం ఇది మరియు మీ మార్గం నడిచి 486 00:22:46,990 --> 00:22:48,650 డేటా నిర్మాణం ద్వారా. 487 00:22:48,650 --> 00:22:50,040 నేను ఖచ్చితంగా అలా వెళుతున్న. 488 00:22:50,040 --> 00:22:54,260 >> పాయింటర్ అయితే, నా తాత్కాలిక వేరియబుల్, వీలు యొక్క, శూన్య సమానం కాదు 489 00:22:54,260 --> 00:22:55,660 ముందుకు వెళ్లి తనిఖీ. 490 00:22:55,660 --> 00:22:56,910 నేను లక్కీ వచ్చింది? 491 00:22:56,910 --> 00:23:01,740 నేను ప్రస్తుతం రెడీ నోడ్ లో n రంగం సమానంగా చూడటం 492 00:23:01,740 --> 00:23:03,380 సంఖ్య నేను చూస్తున్నాను? 493 00:23:03,380 --> 00:23:05,410 మరియు అలా అయితే, యొక్క ఏదో ఒకటి చూద్దాం. 494 00:23:05,410 --> 00:23:10,020 ఇప్పుడు, ఈ గమనించి పరిస్థితి మొత్తం చుట్టుముట్టిన 495 00:23:10,020 --> 00:23:11,520 కోడ్ క్రింది పంక్తులు. 496 00:23:11,520 --> 00:23:14,610 ఈ నేను శ్రద్ధ మాత్రమే విషయం - ప్రశ్న లో అనేక కనుగొనడంలో. 497 00:23:14,610 --> 00:23:18,010 అందువలన వేరే, సులభతరం ఉంది సందర్భానుసారంగా విషయాలు కొద్దిగా. 498 00:23:18,010 --> 00:23:22,040 >> కానీ ఇప్పుడు, నేను, మరియు మీరు కలిగి ఉండవచ్చు మాత్రమే ఆలోచిస్తూ తరువాత ఈ గుర్తించారు 499 00:23:22,040 --> 00:23:24,720 ఇది ఒక బిట్ ద్వారా, ఉంది నిజానికి రెండు కేసులు ఇక్కడ. 500 00:23:24,720 --> 00:23:28,060 నోడ్ వద్ద ఇక్కడ ఒకటి ఒక ఇది జాబితా, ప్రారంభం 501 00:23:28,060 --> 00:23:31,040 ఆ ఎందుకంటే, చిన్న బాధించే ఒక ప్రత్యేక సందర్భంలో, మీరు చేసే అవసరం ఎందుకంటే 502 00:23:31,040 --> 00:23:33,340 ఈ విషయం తో, ఇది మాత్రమే విపరీతమైనది. 503 00:23:33,340 --> 00:23:35,720 అన్నిచోట్లా వేరే జాబితాలో, అదే విషయం. 504 00:23:35,720 --> 00:23:38,050 ఒక మునుపటి నోడ్ మరియు ఒక తదుపరి ఉంది నోడ్, మునుపటి నోడ్, తదుపరి నోడ్. 505 00:23:38,050 --> 00:23:40,940 కానీ ఈ వ్యక్తి కొద్దిగా ప్రత్యేక ఉంది అతను ప్రారంభంలో ఉంటే. 506 00:23:40,940 --> 00:23:48,710 >> కాబట్టి పాయింటర్ జాబితా సమానం కూడా, నేను ప్రారంభంలో ఉన్నాను ఉంటే 507 00:23:48,710 --> 00:23:53,960 జాబితా మరియు నేను n కనుగొన్నారు, నేను అవసరం విషయాలను చేయడానికి. 508 00:23:53,960 --> 00:23:59,230 ఒకటి, నేను జాబితా మార్చాలి తదుపరి రంగంలో, 50 సూచించడానికి. 509 00:23:59,230 --> 00:24:01,270 నేను ప్రయత్నిస్తున్నాను అనుకుందాం 34 తొలగించడానికి. 510 00:24:01,270 --> 00:24:03,560 కాబట్టి ఈ గై వెళ్ళి తీరవలసినదే దూరంగా ఒక క్షణం లో. 511 00:24:03,560 --> 00:24:07,210 >> కాబట్టి నేను వెళుతున్న, జాబితా తదుపరి పాయింటర్ గెట్స్. 512 00:24:07,210 --> 00:24:08,570 Well, ఈ పాయింటర్ ఉంది. 513 00:24:08,570 --> 00:24:10,360 తదుపరి ఇక్కడ పైగా సూచించబడిన. 514 00:24:10,360 --> 00:24:17,470 కాబట్టి ఈ ఈ బాణం కుడి మారుతున్న ఇప్పుడు ఇక్కడ ఈ గై సూచించడానికి. 515 00:24:17,470 --> 00:24:19,580 ప్రస్తుతం మనకు, గుర్తు ఒక తాత్కాలిక వేరియబుల్. 516 00:24:19,580 --> 00:24:23,520 కాబట్టి మేము ఏ నోడ్స్ అనాథ లేదు, నేను కూడా ఈ గై ఎందుకంటే నా 517 00:24:23,520 --> 00:24:25,010 తొలగించు అమలు. 518 00:24:25,010 --> 00:24:29,600 కాబట్టి ఇప్పుడు, ఉంటే జాబితా కూడా, శూన్య కాదు నేను కొంచెం పరిష్కరించడానికి అవసరం. 519 00:24:29,600 --> 00:24:32,690 >> నేను ఇప్పుడు ఖచ్చితంగా ఈ బాణం నిర్ధారించుకోండి అవసరం, గతంలో గురిపెట్టి ఇది 520 00:24:32,690 --> 00:24:36,830 34 50 నుండి, ఈ, దూరంగా వెళ్ళేవారం ఉంది ఎందుకంటే నేను వదిలించుకోవటం ప్రయత్నిస్తున్నాను ఉంటే 521 00:24:36,830 --> 00:24:41,910 34, 50 మంచి ఏ నిర్వహించడానికి కాలేదు గా రకమైన వెనుక సూచన 522 00:24:41,910 --> 00:24:42,820 బాణం సూచించారు. 523 00:24:42,820 --> 00:24:44,820 నేను ఈ లైన్ చేశాడు. 524 00:24:44,820 --> 00:24:46,520 కాబట్టి అప్పుడు నేను పూర్తయింది. 525 00:24:46,520 --> 00:24:48,040 ఆ సందర్భంలో వాస్తవానికి చాలా సులభం. 526 00:24:48,040 --> 00:24:51,010 జాబితా యొక్క తల ఆఫ్ వేరుచేయడానికి చాలా సూటిగా ఉంటుంది. 527 00:24:51,010 --> 00:24:52,980 >> దురదృష్టవశాత్తు, ఈ ఉంది వేరే బాధించే బ్లాక్. 528 00:24:52,980 --> 00:24:56,170 కాబట్టి ఇప్పుడు, నేను కేసు పరిగణించాలి మధ్యలో ఏదో ఇక్కడ. 529 00:24:56,170 --> 00:24:59,880 కానీ తప్ప, చాలా భయంకరమైన కాదు ఈ సింటాక్స్ను కోసం. 530 00:24:59,880 --> 00:25:03,080 నేను ప్రారంభంలో కాదు ఉంటే జాబితా, నేను ఎక్కడో మధ్యలో ఉన్నాను. 531 00:25:03,080 --> 00:25:08,160 మరియు ఇక్కడ ఈ లైన్ సెలవిచ్చుచున్నది ప్రారంభం యు ఆర్ ఎట్ ఏ నోడ్ వద్ద. 532 00:25:08,160 --> 00:25:11,210 533 00:25:11,210 --> 00:25:18,550 మునుపటి నోడ్ యొక్క తదుపరి రంగంలో వెళ్ళండి మరియు పాయింటర్ ఆ. 534 00:25:18,550 --> 00:25:20,390 >> యొక్క చిత్రాల మనం. 535 00:25:20,390 --> 00:25:21,640 ఆ క్లిష్టమైన అయిపోతున్నట్లు. 536 00:25:21,640 --> 00:25:30,480 537 00:25:30,480 --> 00:25:37,990 నేను ఇక్కడ ఒక మునుపటి ఖాళీలను ఉంటే - దీన్ని చూద్దాం - ఇక్కడ తదుపరి ఖాళీలను. 538 00:25:37,990 --> 00:25:41,200 నేను కాకుండా నా గమనికలు సులభతరం వెళుతున్న మొత్తం బంచ్ డ్రా కంటే 539 00:25:41,200 --> 00:25:45,710 ముందుకు వెనక్కు విషయాలు వంపులు ప్రతి ఇతర. 540 00:25:45,710 --> 00:25:50,870 ఇప్పుడు,, యొక్క ఈ 1, 2 పిలవబడు చర్చ కొరకు 3, కూడా 541 00:25:50,870 --> 00:25:53,410 ఆ వరుసలో లేదు అయితే ప్రశ్న లో సమస్య. 542 00:25:53,410 --> 00:25:55,900 >> ఇక్కడ నా లింక్ జాబితా. 543 00:25:55,900 --> 00:25:59,300 నేను ఈ రెండు తొలగించడానికి ప్రయత్నిస్తున్నాను కథ ప్రత్యేక సంస్కరణను. 544 00:25:59,300 --> 00:26:01,960 నేను పాయింటర్ నవీకరించబడింది చేసిన ఈ వ్యక్తి సూచించే. 545 00:26:01,960 --> 00:26:03,315 కాబట్టి ఈ PTR ఉంది. 546 00:26:03,315 --> 00:26:04,530 ఆయన ఇక్కడ సూచించే. 547 00:26:04,530 --> 00:26:07,170 ఈ వున్నప్పటికీ, జాబితా ప్రపంచవ్యాప్తంగా ముందు. 548 00:26:07,170 --> 00:26:09,200 అతడు ఉన్నా ఇక్కడికి సూచించే. 549 00:26:09,200 --> 00:26:10,800 ఇప్పుడు, నేను రెండు తొలగించడానికి ప్రయత్నిస్తున్నాను. 550 00:26:10,800 --> 00:26:13,850 >> పాయింటర్ ఇక్కడ సూచించబడిన అయితే, నేను ఉన్నాను , స్పష్టంగా, అనుసరించండి అన్నారు 551 00:26:13,850 --> 00:26:17,110 1 నాకు ఉంచుతుంది ఇది మునుపటి పాయింటర్,. 552 00:26:17,110 --> 00:26:22,290 నేను అప్పుడు చెప్పడానికి వెళుతున్న తదుపరి ఈ నాకు పైగా పోసే రంగంలో, 553 00:26:22,290 --> 00:26:25,410 ఇక్కడ బాక్స్, అన్నారు సమాన పాయింటర్ తదుపరి. 554 00:26:25,410 --> 00:26:28,400 కాబట్టి ఈ పాయింటర్ ఉంటే, ఈ తదుపరి ఉంది. 555 00:26:28,400 --> 00:26:31,840 అని ఈ బాణం అవసరాలను ఈ గై సూచించడానికి. 556 00:26:31,840 --> 00:26:35,140 >> కాబట్టి కోడ్ లైనును కేవలం ఏమి ఉంది ఈ యొక్క కొద్దిగా ఉంది పూర్తి. 557 00:26:35,140 --> 00:26:37,500 ఇప్పుడు, ఈ ఒక మాదిరి సరైన దిశలో అడుగు. 558 00:26:37,500 --> 00:26:41,390 మేము తప్పనిసరిగా 2 కత్తిరించిన కావలసిన 1 మరియు 3 మధ్యలో. 559 00:26:41,390 --> 00:26:44,400 కాబట్టి అది మేము కావలసిన అర్ధమే దాని చుట్టూ మార్గం ఈ పాయింటర్. 560 00:26:44,400 --> 00:26:50,400 కాబట్టి ఈ తదుపరి లైన్ తనిఖీ ఉంటే పాయింటర్ తదుపరి శూన్య కాదు, ఉంది 561 00:26:50,400 --> 00:26:54,200 2 కుడి నిజానికి ఎవరైనా, మేము కూడా చేయాల్సిందల్లా అర్థం 562 00:26:54,200 --> 00:26:55,850 కొద్దిగా ఇక్కడ కత్తిరించిన. 563 00:26:55,850 --> 00:27:00,590 >> నేను ఇప్పుడు ఈ పాయింటర్ అనుసరించాల్సి మరియు మునుపటి పాయింటర్ అప్డేట్ 564 00:27:00,590 --> 00:27:05,410 ఒక యొక్క కొద్దిగా చేయాలని ఈ వ్యక్తి ఇక్కడ ఇక్కడ పాయింట్ తాత్కాలిక పరిష్కారాలు. 565 00:27:05,410 --> 00:27:07,100 ఇప్పుడు, దృష్టి ఈ nice. 566 00:27:07,100 --> 00:27:11,930 అక్కడ లో ఇది ఒక చిన్న దారుణంగా ఉంది ఇకపై 2 వద్ద గురిపెట్టి ఎవరూ. 567 00:27:11,930 --> 00:27:13,600 2 ఎడమ సూచించబడిన. 568 00:27:13,600 --> 00:27:14,980 మరియు 2 కుడి సూచించబడిన. 569 00:27:14,980 --> 00:27:17,480 కానీ అతను కోరుకుంటున్నారు పనులను ఎందుకంటే అతను విముక్తి పెట్టడానికి గురించి. 570 00:27:17,480 --> 00:27:19,480 మరియు అది ఏమి పట్టింపు లేదు ఆ విలువలు ఇకపై ఉంటాయి. 571 00:27:19,480 --> 00:27:23,040 >> ముఖ్యం మిగిలిన ఉంది అబ్బాయిలు పైన రౌటింగ్ ఉంటాయి 572 00:27:23,040 --> 00:27:24,280 మరియు ఇప్పుడు అతన్ని క్రింద. 573 00:27:24,280 --> 00:27:25,810 నిజానికి, మేము తదుపరి ఏమి ఉంది. 574 00:27:25,810 --> 00:27:29,360 మేము చెప్పడం అంటే మేము ఉచిత పాయింటర్, ఆపరేటింగ్ సిస్టమ్, మీకు స్వాగతము 575 00:27:29,360 --> 00:27:30,906 ఈ సాగు చేయు. 576 00:27:30,906 --> 00:27:34,900 మరియు తర్వాత చివరగా, మేము తిరిగి. 577 00:27:34,900 --> 00:27:37,220 ఎల్స్ పరిపూర్ణంగా, మేము ఇంకా రాలేకపోయాయి, 578 00:27:37,220 --> 00:27:38,290 మేము చూస్తున్న ఉంచడానికి పొందారు. 579 00:27:38,290 --> 00:27:41,485 కాబట్టి పాయింటర్ తర్వాతి పాయింటర్ సమానం ఇక్కడ ఈ వ్యక్తి తరలించడానికి అర్థం. 580 00:27:41,485 --> 00:27:42,600 ఇక్కడ ఈ గై తరలించు. 581 00:27:42,600 --> 00:27:45,400 ఇక్కడ ఈ గై తరలిస్తే, నిజానికి, మేము సంఖ్య కనుగొనలేదు 582 00:27:45,400 --> 00:27:46,960 మేము శోధిస్తున్న. 583 00:27:46,960 --> 00:27:49,630 >> కాబట్టి స్పష్టముగా, అది పూర్తిగా కనిపిస్తుంది అధిక, నేను మొదటి వద్ద, అనుకుంటున్నాను 584 00:27:49,630 --> 00:27:52,180 చూపులో, ముఖ్యంగా మీరు పడ్డాడు ఉంటే ఈ క్విజ్ సందర్భంగా చూడండి 585 00:27:52,180 --> 00:27:52,850 ఈ వంటి ఏదో. 586 00:27:52,850 --> 00:27:55,050 మరియు మీరు వెనుక మీరే తట్టడం. 587 00:27:55,050 --> 00:27:57,080 Well, నేను కలిగి ఉన్నట్లు ఉంది క్విజ్ లో ఆ ఆలోచన. 588 00:27:57,080 --> 00:28:00,470 కానీ అంతకన్న వాదిస్తుంది, మీరు బ్రేక్ ఈ వ్యక్తిగత లోకి డౌన్ 589 00:28:00,470 --> 00:28:04,400 కేవలం కేసులు మరియు అది నడవడానికి జాగ్రత్తగా, ఆమోదం క్రింద, అయితే 590 00:28:04,400 --> 00:28:06,300 ఒత్తిడితో పరిస్థితులలో. 591 00:28:06,300 --> 00:28:09,470 >> కృతజ్ఞతగా, చిత్రాన్ని చేసింది సంతోషముగా ప్రతిదీ. 592 00:28:09,470 --> 00:28:11,050 మీరు ఈ గీయవచ్చు మార్గాల్లో సంఖ్య. 593 00:28:11,050 --> 00:28:12,760 మీరు స్టెలా చేయడానికి లేదు ఇక్కడ విషయం. 594 00:28:12,760 --> 00:28:14,520 మీరు నేరుగా తో చేయగల ఈ రేఖలను. 595 00:28:14,520 --> 00:28:18,790 కానీ ఈ సమస్య యొక్క సారాంశం, సాధారణ, గుర్తించడం అని 596 00:28:18,790 --> 00:28:22,060 చివరికి చిత్రాన్ని కొద్దిగా కనిపించాలి ఈ వంటి ఏదో, ఎందుకంటే 597 00:28:22,060 --> 00:28:25,030 స్థిరంగా మీరు ఉంచే సూచిస్తున్నట్లు జామింగ్ మరియు జామింగ్ మరియు జామింగ్ 598 00:28:25,030 --> 00:28:29,900 ప్రారంభంలో కొత్త నోడ్స్ జాబితా. 599 00:28:29,900 --> 00:28:31,960 ఏదైనా ప్రశ్నలు? 600 00:28:31,960 --> 00:28:34,565 బహుశా అత్యంత సవాలుగా ఖచ్చితంగా కోడింగ్ ప్రశ్నలు. 601 00:28:34,565 --> 00:28:37,690 >> ప్రేక్షకులు: పోలి జాబితా మునుపటి ఉదాహరణలు లో తల. 602 00:28:37,690 --> 00:28:39,640 >> డేవిడ్ J. మలన్: ఖచ్చితంగా, సరిగ్గా. 603 00:28:39,640 --> 00:28:43,130 కోసం వేరొక పేరు ప్రపంచ వేరియబుల్. 604 00:28:43,130 --> 00:28:44,380 వరల్డ్ వైడ్ ఏమి? 605 00:28:44,380 --> 00:28:48,880 606 00:28:48,880 --> 00:28:49,730 >> రాబ్ బౌడెన్: OK. 607 00:28:49,730 --> 00:28:52,020 కాబట్టి ఈ మీరు ఒకటి పేరా రాయడానికి వచ్చింది. 608 00:28:52,020 --> 00:28:56,060 కొంతమంది వ్యాసాలు వ్రాశాడు ప్రశ్న కోసం. 609 00:28:56,060 --> 00:29:00,230 కానీ మీరు ఈ ఆరు పదాలు ఉపయోగించాలి ఉన్నప్పుడు ఏమి వర్ణించడానికి 610 00:29:00,230 --> 00:29:02,440 మీరు facebook.com సంప్రదించండి ప్రయత్నించండి. 611 00:29:02,440 --> 00:29:07,930 కాబట్టి నేను ప్రక్రియ ద్వారా మాట్లాడదాము ఈ పదాలను ఉపయోగించి. 612 00:29:07,930 --> 00:29:11,290 మా బ్రౌజర్ లో, మేము facebook.com టైప్ ఎంటర్ నొక్కండి. 613 00:29:11,290 --> 00:29:17,280 మా బ్రౌజర్ ఒక నిర్మించేందుకు వెళుతున్న HTTP ఇది పంపండి అభ్యర్థించవచ్చు 614 00:29:17,280 --> 00:29:22,220 కోసం Facebook కొన్ని ప్రక్రియ ద్వారా ఫేస్బుక్ తో మాకు స్పందించడం 615 00:29:22,220 --> 00:29:24,450 దాని పేజీ యొక్క HTML. 616 00:29:24,450 --> 00:29:28,800 >> కాబట్టి ప్రక్రియ ద్వారా ఏమిటి ఇది HTTP అభ్యర్థన 617 00:29:28,800 --> 00:29:30,730 వాస్తవానికి Facebook అవకాశంను? 618 00:29:30,730 --> 00:29:32,790 కాబట్టి మొదటి, మేము అనువాదం అవసరం Facebook.com. 619 00:29:32,790 --> 00:29:38,780 కాబట్టి కేవలం, పేరు Facebook.com ఇచ్చిన నిజానికి HTTP అభ్యర్థన చేస్తుంది పేరు 620 00:29:38,780 --> 00:29:39,940 వెళ్లాలి? 621 00:29:39,940 --> 00:29:44,120 కాబట్టి మేము Facebook.com అనువాదం అవసరం ఒక IP చిరునామా, ఇది ప్రత్యేకంగా 622 00:29:44,120 --> 00:29:47,620 యాంత్రిక మేము నిజంగా గుర్తిస్తుంది ఈ అభ్యర్థనను పంపాలని. 623 00:29:47,620 --> 00:29:49,310 మీ ల్యాప్టాప్ IP చిరునామా కూడా. 624 00:29:49,310 --> 00:29:52,240 ఇంటర్నెట్కు కనెక్ట్ ఏదైనా IP చిరునామా కూడా. 625 00:29:52,240 --> 00:29:59,030 >> కాబట్టి DNS, డొమైన్ పేరు వ్యవస్థ, ఉంది ఏమి అనువాద నిర్వహించడానికి జరగబోతోంది 626 00:29:59,030 --> 00:30:03,750 facebook.com నుండి ఒక IP చిరునామా అని మీరు నిజంగా సంప్రదించండి అనుకుంటున్నారా. 627 00:30:03,750 --> 00:30:08,075 కాబట్టి మేము DNS సర్వర్లు సంప్రదించండి మరియు సే, facebook.com ఏమిటి? 628 00:30:08,075 --> 00:30:16,560 ఇది OH, అది IP చిరునామా 190,212 ఉంది, చెప్పారు ఏదో, ఏదో, ఏదో. 629 00:30:16,560 --> 00:30:16,900 అన్ని కుడి. 630 00:30:16,900 --> 00:30:18,850 ఇప్పుడు, నేను తెలిసిన యంత్రం నేను సంప్రదించండి అనుకుంటున్నారా. 631 00:30:18,850 --> 00:30:22,360 >> కాబట్టి మీరు మీ HTTP అభ్యర్థన పంపండి ఆ యంత్రం కు. 632 00:30:22,360 --> 00:30:24,140 కాబట్టి ఎలా ఆ యంత్రం ను లేదు? 633 00:30:24,140 --> 00:30:27,200 బాగా, అభ్యర్థన నుండి వెళుతుంది రౌటర్ బౌన్సింగ్ రౌటర్. 634 00:30:27,200 --> 00:30:32,630 తరగతి ఉదాహరణకు గుర్తుంచుకో, పేరు మేము నిజంగా మార్గం చూసిన 635 00:30:32,630 --> 00:30:35,340 మేము ప్రయత్నించినప్పుడు ప్యాకెట్లను పట్టింది కమ్యూనికేట్. 636 00:30:35,340 --> 00:30:38,460 మేము అట్లాంటిక్ జంప్ ఓవర్ చూసింది ఒక పాయింట్ లేదా సంసార సముద్రాలను. 637 00:30:38,460 --> 00:30:42,820 >> గత పదం పోర్ట్. 638 00:30:42,820 --> 00:30:46,520 కాబట్టి ఈ మీ కంప్యూటర్ ఇప్పుడు. 639 00:30:46,520 --> 00:30:49,970 మీరు ప్రస్తుతం బహుళ విషయాలు ఉండవచ్చు ఇంటర్నెట్ కమ్యూనికేట్. 640 00:30:49,970 --> 00:30:53,730 నేను, సే, స్కైప్ అమలు చేయవచ్చు. 641 00:30:53,730 --> 00:30:55,670 నేను ఓపెన్ ఒక వెబ్ బ్రౌజర్ కలిగి ఉండవచ్చు. 642 00:30:55,670 --> 00:30:59,010 నేను ఏదైనా కలిగి ఉండవచ్చు అని ఫైళ్లు torrenting. 643 00:30:59,010 --> 00:31:00,880 కాబట్టి ఈ విషయాలు అన్ని ఉన్నాయి కమ్యూనికేట్ 644 00:31:00,880 --> 00:31:02,600 కొన్ని విధంగా ఇంటర్నెట్. 645 00:31:02,600 --> 00:31:08,070 >> మీ కంప్యూటర్ కొన్ని డేటా అందుకుంటుంది ఇంటర్నెట్ నుండి, ఎలా అది 646 00:31:08,070 --> 00:31:10,130 తెలిసిన దరఖాస్తు వాస్తవానికి డేటా కోరుకుంటున్నారు? 647 00:31:10,130 --> 00:31:12,610 ఈ ప్రత్యేక అని ఎలా తెలుసు డేటా కోసం ఉద్దేశించబడింది 648 00:31:12,610 --> 00:31:16,070 వ్యతిరేకంగా అప్లికేషన్ torrenting వెబ్ బ్రౌజర్కు? 649 00:31:16,070 --> 00:31:20,980 కాబట్టి ఈ పోర్టుల ప్రయోజనం ఉంది ఈ అనువర్తనాల్లో అన్ని 650 00:31:20,980 --> 00:31:22,720 మీ కంప్యూటర్లో ఒక పోర్ట్ పేర్కొన్నారు. 651 00:31:22,720 --> 00:31:27,580 కాబట్టి మీ వెబ్ బ్రౌజర్, హే, చెప్పారు నేను పోర్ట్ 1000 న వినే నేను. 652 00:31:27,580 --> 00:31:32,240 మరియు మీ torrenting కార్యక్రమం అని, నేను పోర్ట్ 3000 న వినే నేను. 653 00:31:32,240 --> 00:31:34,770 మరియు స్కైప్ నేను పోర్ట్ 4000 ఉపయోగించి వెబ్, చెప్పారు. 654 00:31:34,770 --> 00:31:41,950 >> మీరు కొన్ని డేటా పొందుటకు కనుక చెందిన ఈ అనువర్తనాల్లో ఒకటి, డేటా 655 00:31:41,950 --> 00:31:45,510 ఇది పోర్ట్ ఇలా మార్క్ ఉంది నిజానికి పాటు పంపాలి. 656 00:31:45,510 --> 00:31:47,950 కాబట్టి ఈ OH, నేను చెందిన, చెప్పారు పోర్ట్ 1000. 657 00:31:47,950 --> 00:31:50,950 నేను అప్పుడు నేను ఈ ముందుకు అవసరం తెలుసు నా వెబ్ బ్రౌజర్కు పాటు. 658 00:31:50,950 --> 00:31:56,440 కాబట్టి కారణం ఇక్కడ సంబంధిత వెబ్ సర్వర్లు ఉంటాయి ఉంటుంది 659 00:31:56,440 --> 00:31:58,240 పోర్ట్ 80 వినండి. 660 00:31:58,240 --> 00:32:02,420 నేను Facebook.com సంప్రదించండి, నేను ఉన్నాను కొన్ని యంత్రం కమ్యూనికేట్. 661 00:32:02,420 --> 00:32:06,390 కానీ నేను ఆ పోర్ట్ చెప్పడానికి అవసరం నేను కమ్యూనికేట్ మీరు యంత్రం. 662 00:32:06,390 --> 00:32:09,160 మరియు వెబ్ సర్వర్లు కూడుకున్నవి పోర్ట్ 80 వింటూ. 663 00:32:09,160 --> 00:32:14,010 >> వారు కోరుకుంటే, వారు ఏర్పాటు కాలేదు అప్ కాబట్టి ఇది పోర్ట్ 7000 నాటికి జాబితా. 664 00:32:14,010 --> 00:32:19,090 ఆపై ఒక వెబ్ బ్రౌజర్ లో, నేను 7000: మానవీయంగా Facebook.com టైప్ 665 00:32:19,090 --> 00:32:24,600 పోర్ట్ 7000 పంపాల్సి Facebook యొక్క వెబ్ సర్వర్ యొక్క. 666 00:32:24,600 --> 00:32:26,820 >> డేవిడ్ J. మలన్: మరియు ఈ సందర్భంలో, కూడా మేము అవసరం అయితే ప్రజలు 667 00:32:26,820 --> 00:32:30,000 ఈ మైల్, ఈ సందర్భంలో, ఏ పోర్ట్ అభ్యర్థన వాస్తవానికి వెళ్లాల్సి? 668 00:32:30,000 --> 00:32:36,630 669 00:32:36,630 --> 00:32:37,880 మళ్ళీ ప్రయత్నించండి. 670 00:32:37,880 --> 00:32:42,810 671 00:32:42,810 --> 00:32:44,300 ఖచ్చితంగా. 672 00:32:44,300 --> 00:32:47,960 ఒక సూక్ష్మభేదం అని చూస్తున్నాను, కానీ అక్కడ ఎవరూ గత ఉంది. 673 00:32:47,960 --> 00:32:51,770 >> రాబ్ బౌడెన్: కాబట్టి HTTPS, అది నుండి కోసం ప్రత్యేకంగా వింటూ 674 00:32:51,770 --> 00:32:55,180 ఎన్క్రిప్టెడ్, ఇది పోర్ట్ 4430 న ఉంది. 675 00:32:55,180 --> 00:32:57,680 >> ప్రేక్షకులు: ఇమెయిల్స్ 25, కుడి? 676 00:32:57,680 --> 00:33:00,670 >> డేవిడ్ J. మలన్: అవుట్బౌండ్ ఇమెయిల్స్, 25, yep. 677 00:33:00,670 --> 00:33:03,760 >> రాబ్ బౌడెన్: నేను కూడా చాలా తెలియదు - తక్కువ వాటిని అన్ని కూడుకున్నవి 678 00:33:03,760 --> 00:33:06,310 విషయాలు కోసం రిజర్వు. 679 00:33:06,310 --> 00:33:09,260 నేను ప్రతిదీ క్రింద అనుకుంటున్నాను 1024 ప్రత్యేకించబడింది. 680 00:33:09,260 --> 00:33:13,450 >> ప్రేక్షకులు: మీరు ఎందుకు చెబుతాడు 3 తప్పు సంఖ్య? 681 00:33:13,450 --> 00:33:18,820 >> రాబ్ బౌడెన్: ఎందుకంటే ఒక IP చిరునామా లో, అంకెలు యొక్క నాలుగు బృందాలుగా ఉంది. 682 00:33:18,820 --> 00:33:21,090 మరియు వారు 0 నుండి 255 ఉన్నారు. 683 00:33:21,090 --> 00:33:28,060 కాబట్టి 192.168.2.1 ఒక సాధారణం స్థానిక నెట్వర్క్ IP చిరునామా. 684 00:33:28,060 --> 00:33:30,840 అన్నింటితో 255 కంటే తక్కువ గమనించండి. 685 00:33:30,840 --> 00:33:33,570 నేను 300 తో మొదలు, ఆ బహుశా కలిగి కాలేదు 686 00:33:33,570 --> 00:33:35,210 సంఖ్యలు ఒకటి. 687 00:33:35,210 --> 00:33:38,170 >> డేవిడ్ J. మలన్: కానీ వెర్రి క్లిప్ నుండి - వారు ఒక కలిగి ఉన్న CSI, ఉంది 688 00:33:38,170 --> 00:33:39,970 సంఖ్య చాలా పెద్దది IP చిరునామా కోసం. 689 00:33:39,970 --> 00:33:42,940 690 00:33:42,940 --> 00:33:46,110 >> రాబ్ బౌడెన్: ఈ ఏ ప్రశ్నలు? 691 00:33:46,110 --> 00:33:51,710 తదుపరి, కాబట్టి పూర్తి మార్పు అంశం, కానీ మేము ఈ PHP వ్యూహం 692 00:33:51,710 --> 00:33:53,270 క్వాడ్ లో ఇళ్ళు. 693 00:33:53,270 --> 00:33:56,360 మరియు మేము ఒక క్రమం లేని జాబితా. 694 00:33:56,360 --> 00:33:59,550 మరియు మేము ప్రతి జాబితా అంశం ప్రింట్ మీరు కేవలం ఇంటి పేరును కలిగి. 695 00:33:59,550 --> 00:34:09,090 696 00:34:09,090 --> 00:34:11,870 కాబట్టి మేము ఒక foreach లూప్ ఉన్నాయి. 697 00:34:11,870 --> 00:34:17,540 కాబట్టి వాక్యనిర్మాణం foreach ఉంది, గుర్తు శ్రేణి లో అంశం వంటి శ్రేణి. 698 00:34:17,540 --> 00:34:22,360 కాబట్టి లూప్ యొక్క ప్రతి పునరావృతం ద్వారా, ఇంటి ఒకటి తీసుకోవాలనుకుంటున్న అన్నారు 699 00:34:22,360 --> 00:34:24,060 శ్రేణి లోపలి విలువలు. 700 00:34:24,060 --> 00:34:26,530 >> మొదటి పునరుక్తి, ఇల్లు కాబోట్ హౌస్ ఉంటుంది. 701 00:34:26,530 --> 00:34:30,370 రెండవ మళ్ళా, హౌస్ ఆన్ రెడీ అందువలన న కొరియర్ హౌస్ మరియు. 702 00:34:30,370 --> 00:34:34,370 కాబట్టి హౌస్ వంటి ప్రతి క్వాడ్ కోసం, మేము కేవలం ప్రింట్ అన్నారు - 703 00:34:34,370 --> 00:34:37,250 మీరు కూడా సమర్ధించాడు కావచ్చు - 704 00:34:37,250 --> 00:34:42,199 అప్పుడు జాబితాలో అంశం మరియు హౌస్ యొక్క పేరు ఆపై జాబితా అంశాన్ని దగ్గరగా. 705 00:34:42,199 --> 00:34:45,210 వంకర జంట కలుపులు ఇక్కడ వైకల్పికం. 706 00:34:45,210 --> 00:34:49,480 >> మరియు తర్వాత మేము కూడా ప్రశ్న లో చెప్పారు కూడా, మూసివేసి గుర్తుంచుకోండి 707 00:34:49,480 --> 00:34:50,770 క్రమం లేని జాబితా ట్యాగ్. 708 00:34:50,770 --> 00:34:53,949 కాబట్టి మేము PHP మోడ్ నిష్క్రమించడానికి అవసరం ఈ చేయడానికి లో. 709 00:34:53,949 --> 00:35:00,280 లేదా మేము సమర్ధించాడు కావచ్చు క్రమం లేని జాబితా ట్యాగ్ దగ్గరగా. 710 00:35:00,280 --> 00:35:02,380 >> డేవిడ్ J. మలన్: ఇక్కడ కూడా జరిమానా చేస్తాను కోసం పాత ఉపయోగించడానికి ఉన్నాయి 711 00:35:02,380 --> 00:35:07,340 = 0 0 ఒక $ i తో లూప్ మరియు ఆరోపణల్లో ఉపయోగించి రే యొక్క పొడవు గుర్తించడానికి. 712 00:35:07,340 --> 00:35:09,240 పూర్తిగా మరీ మంచిది, కేవలం కొద్దిగా wordier. 713 00:35:09,240 --> 00:35:12,170 714 00:35:12,170 --> 00:35:14,742 >> ప్రేక్షకులు: మీరు వెళ్ళి ఉంటే [వినబడని], మీరు అని - 715 00:35:14,742 --> 00:35:16,734 నేను లూప్ [వినబడని] ఉంది మర్చిపోలేరు. 716 00:35:16,734 --> 00:35:21,380 మీరు క్వాడ్ బ్రాకెట్ నేను $ అనుకుంటున్నారా? 717 00:35:21,380 --> 00:35:21,850 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 718 00:35:21,850 --> 00:35:23,100 అవును, సరిగ్గా. 719 00:35:23,100 --> 00:35:26,650 720 00:35:26,650 --> 00:35:27,900 >> రాబ్ బౌడెన్: ఏదైనా? 721 00:35:27,900 --> 00:35:31,350 722 00:35:31,350 --> 00:35:32,010 >> డేవిడ్ J. మలన్: అన్ని కుడి. 723 00:35:32,010 --> 00:35:32,300 వినిమయంపై. 724 00:35:32,300 --> 00:35:38,290 కాబట్టి సమాధానాలు పుష్పగుచ్ఛాలు ఉన్నాయి ఈ ప్రతి సాధ్యం. 725 00:35:38,290 --> 00:35:40,510 మేము నిజంగా కేవలం వెతుకుతున్న ఒక కలత మరియు కోసం సమగ్ర ఏదో 726 00:35:40,510 --> 00:35:41,100 ఒక ఇబ్బంది. 727 00:35:41,100 --> 00:35:44,830 మరియు సంఖ్య 16 వినియోగదారుల చెల్లుబాటు కోరారు ఇన్పుట్ క్లైంట్ వైపు, జావాస్క్రిప్ట్ తో వంటి, 728 00:35:44,830 --> 00:35:47,280 బదులుగా సర్వర్లోని యొక్క, PHP తో వంటి. 729 00:35:47,280 --> 00:35:49,450 కాబట్టి ఏమి ఒక పైకి ఉంది చేయడం క్లైంట్ వైపు? 730 00:35:49,450 --> 00:35:53,780 >> Well, మేము ప్రతిపాదిత విషయాలు ఒకటి మీరు జాప్యం తగ్గించే, మీరు ఎందుకంటే 731 00:35:53,780 --> 00:35:56,750 సంప్రదించడం ఇబ్బంది లేదు కొన్ని పడుతుంది సర్వర్, ఇది 732 00:35:56,750 --> 00:36:00,390 మిల్లీ సెకన్లలో లేదా సెకన్లు ఒక జంట ఆ వాడకమును మరియు కేవలం 733 00:36:00,390 --> 00:36:04,670 వినియోగదారుల ఇన్పుట్ క్లైంట్ వైపు ద్వారా నిర్ధారించడంలో ఒక ఆన్ submit నిర్వహణ చెందేందుకు మరియు 734 00:36:04,670 --> 00:36:06,650 కేవలం వారు టైప్, చేయలేదు తనిఖీ పేరు కోసం ఏదో? 735 00:36:06,650 --> 00:36:08,080 వారు ఏదో టైప్ చేశారా ఇమెయిల్ చిరునామా కోసం లో? 736 00:36:08,080 --> 00:36:10,950 వారు నుండి ఒక వసతి ఎంపిక చేయలేదు డ్రాప్ డౌన్ మెను? 737 00:36:10,950 --> 00:36:14,360 >> మీరు వాటిని తక్షణ చూడు ఇస్తుంది గిగాహెర్ట్జ్ కంప్యూటర్ ఉపయోగించి 738 00:36:14,360 --> 00:36:16,770 లేదా వారు ఆ చర్యలన్నీ నిజానికి వారి బల్ల మీద. 739 00:36:16,770 --> 00:36:19,310 కాబట్టి అది కేవలం ఒక మంచి వినియోగదారు సాధారణంగా అనుభూతి. 740 00:36:19,310 --> 00:36:24,460 కానీ క్లైంట్ వైపు చేయడం ఒక ఇబ్బంది ధ్రువీకరణ, మీరు కూడా లేకుండా ఉంటే 741 00:36:24,460 --> 00:36:29,860 సర్వర్లోని ధ్రువీకరణ చేయడం అని CS50 యొక్క రావడం చాలా ఎవరైనా తెలుసు 742 00:36:29,860 --> 00:36:33,980 మీరు మీకు కావలసిన డేటా పంపగల ఒక సర్వర్కు మార్గాలను ఏ. 743 00:36:33,980 --> 00:36:37,030 స్పష్టముగా, చాలా ఏ బ్రౌజర్ లో, మీరు అమరికలలో మరియు కేవలం చుట్టూ క్లిక్ చేయండి 744 00:36:37,030 --> 00:36:40,110 JavaScript ఆఫ్, బహుశా, అందువలన, ఏ రూపం యొక్క డిసేబుల్ 745 00:36:40,110 --> 00:36:41,080 ధ్రువీకరణ. 746 00:36:41,080 --> 00:36:44,460 >> కానీ మీరు కూడా గుర్తు ఉండవచ్చు కూడా నేను ఉపయోగించి తరగతి లో కొన్ని అద్భుత విషయాలు 747 00:36:44,460 --> 00:36:47,790 టెల్నెట్ మరియు నిజానికి వ్యవహరించి గెట్ పంపడం ద్వారా ఒక బ్రౌజర్ 748 00:36:47,790 --> 00:36:49,240 ఒక సర్వర్కు అభ్యర్థనలను. 749 00:36:49,240 --> 00:36:51,030 మరియు ఆ ఖచ్చితంగా కాదు ఏ JavaScript ఉపయోగించి. 750 00:36:51,030 --> 00:36:53,290 ఆ నా ఆదేశాలను టైపు లో ఒక కీబోర్డ్ వద్ద. 751 00:36:53,290 --> 00:36:57,410 కాబట్టి నిజంగా, తగినంత లోపల ఏ ప్రోగ్రామర్ వెబ్ మరియు HTTP తో సౌకర్యం 752 00:36:57,410 --> 00:37:01,690 అతను లేదా ఆమె కోరుకుంటున్నారు పనులను డేటా పంపవచ్చు ధ్రువీకరణ లేకుండా ఒక సర్వర్కు. 753 00:37:01,690 --> 00:37:05,470 మరియు మీ సర్వర్ కూడా తనిఖీ చెయ్యకపోతే, వారు నాకు ఒక పేరు ఇవ్వలేదు, ఉంది 754 00:37:05,470 --> 00:37:08,930 ఈ నిజానికి ఒక చెల్లుబాటు అయ్యే ఇమెయిల్ చిరునామా, చేశాడు వారు ఒక వసతి ఎంచుకోండి, మీరు ముగింపు ఉండవచ్చు 755 00:37:08,930 --> 00:37:12,800 అప్ ఇన్సర్ట్ బోగస్ లేదా ఖాళీ డేటా మీ డేటాబేస్లో, ఇది బహుశా 756 00:37:12,800 --> 00:37:15,450 ఒక మంచి విషయం మాత్రం కాదు ఉంటే మీరు ఉంది భావించి. 757 00:37:15,450 --> 00:37:16,770 >> కాబట్టి ఈ ఒక అసహ్యమైన రియాలిటీ ఉంది. 758 00:37:16,770 --> 00:37:19,890 కానీ సాధారణంగా, క్లైంట్ వైపు లో ధ్రువీకరణ చాలా ఉంది. 759 00:37:19,890 --> 00:37:21,810 కానీ రెట్టింపు పని అర్థం. 760 00:37:21,810 --> 00:37:25,970 వివిధ ఉన్నాయి అక్కడ ఉన్నప్పటికీ లైబ్రరీలను జావాస్క్రిప్ట్ లైబ్రరీలను 761 00:37:25,970 --> 00:37:28,830 ఉదాహరణకు,, ఈ చాలా చేసే తలనొప్పితో తక్కువ. 762 00:37:28,830 --> 00:37:31,940 మరియు మీరు కోడ్ కొన్ని తిరిగి చేయవచ్చు సర్వర్ వైపు, క్లైంట్ వైపు. 763 00:37:31,940 --> 00:37:35,980 కానీ సాధారణంగా గ్రహిస్తున్నారా అదనపు పని. 764 00:37:35,980 --> 00:37:36,415 అవును. 765 00:37:36,415 --> 00:37:37,792 >> ప్రేక్షకులు: మేము కేవలం తక్కువ సురక్షితం చెప్పారు - 766 00:37:37,792 --> 00:37:39,205 >> డేవిడ్ J. మలన్: [నవ్వుతూ] 767 00:37:39,205 --> 00:37:39,680 హాగ్. 768 00:37:39,680 --> 00:37:43,105 ఆ ఎల్లప్పుడూ కష్టం న్యాయనిర్ణయం వాటిని. 769 00:37:43,105 --> 00:37:44,480 >> రాబ్ బౌడెన్: అన్నార్తులకు ప్రత్యామ్నాయ. 770 00:37:44,480 --> 00:37:44,810 >> డేవిడ్ J. మలన్: ఏమిటి? 771 00:37:44,810 --> 00:37:45,810 >> రాబ్ బౌడెన్: నేను ఈ సమస్య రూపొందించినవారు. 772 00:37:45,810 --> 00:37:46,735 ఆ ఆదరించి ఉండేవారు. 773 00:37:46,735 --> 00:37:47,220 >> డేవిడ్ J. మలన్: అవును. 774 00:37:47,220 --> 00:37:47,830 >> ప్రేక్షకులు: కూల్. 775 00:37:47,830 --> 00:37:51,770 >> రాబ్ బౌడెన్: కానీ మేము అంగీకరించదు మొదటి ఒకటి - 776 00:37:51,770 --> 00:37:53,630 బాగా, మేము వెతుకుతున్న ఉంది మీరు ఇలా లేదు 777 00:37:53,630 --> 00:37:55,270 సర్వర్తో కమ్యూనికేట్. 778 00:37:55,270 --> 00:37:58,355 మేము వేగంగా అంగీకరించదు. 779 00:37:58,355 --> 00:38:00,080 >> ప్రేక్షకులు: గురించి పేజీ రీలోడ్ లేదు? 780 00:38:00,080 --> 00:38:00,430 >> రాబ్ బౌడెన్: అవును. 781 00:38:00,430 --> 00:38:03,000 ఒక అంగీకరించిన బాధేసింది. 782 00:38:03,000 --> 00:38:06,300 >> డేవిడ్ J. మలన్: మేము భావించాడు పేరు ఏదైనా అవకాశం కాదు ఎక్కువగా 783 00:38:06,300 --> 00:38:09,780 మీరు ఏం తెలుసు ఒక కఠినమైన ఇది, మాట్లాడుతూ 784 00:38:09,780 --> 00:38:13,500 కొన్నిసార్లు డ్రా లైన్. 785 00:38:13,500 --> 00:38:16,000 బదులుగా ఒక లింక్ జాబితా ఉపయోగించి నిర్వహించడానికి వ్యూహం ఒక 786 00:38:16,000 --> 00:38:17,590 పూర్ణాంకాల జాబితా వేరు. 787 00:38:17,590 --> 00:38:21,000 లింక్ తో కాబట్టి వేలాడదీస్తారు మేము తరచుగా cite వారి మొత్తం ప్రేరణ జాబితాలు 788 00:38:21,000 --> 00:38:22,370 పరిచయం మీరు చైతన్యానికి పొందండి ఉంది. 789 00:38:22,370 --> 00:38:23,030 వారు పెరుగుతాయి. 790 00:38:23,030 --> 00:38:23,950 వారు కుదించగలరని. 791 00:38:23,950 --> 00:38:27,370 కాబట్టి మీరు హోప్స్ ద్వారా జంప్ లేదు నిజానికి మరింత మెమరీ సృష్టించడానికి 792 00:38:27,370 --> 00:38:28,140 వ్యూహం తో. 793 00:38:28,140 --> 00:38:30,310 లేదా మీరు లేదు కేవలం చెప్పటానికి, క్షమించండి, వినియోగదారు. 794 00:38:30,310 --> 00:38:31,410 శ్రేణి నింపుతారు. 795 00:38:31,410 --> 00:38:35,850 జాబితా కాబట్టి డైనమిక్ అభివృద్ధి. 796 00:38:35,850 --> 00:38:37,210 లింక్ జాబితాలు అయితే ఒక ఇబ్బంది? 797 00:38:37,210 --> 00:38:40,916 798 00:38:40,916 --> 00:38:43,356 >> ప్రేక్షకులు: ఇది సరళ ఉంది. 799 00:38:43,356 --> 00:38:45,800 లింక్ జాబితాలో శోధన సరళ బదులుగా మీరు లాగ్ ఏమి 800 00:38:45,800 --> 00:38:46,360 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 801 00:38:46,360 --> 00:38:50,160 ఒక లింక్ జాబితాలో శోధన సరళ, అది వేరు అయినా, మీరు ఎందుకంటే 802 00:38:50,160 --> 00:38:53,170 మాత్రమే ఈ బ్రెడ్ ముక్కలు అనుసరించండి, ఈ గమనికలు, జాబితా ప్రారంభంలో నుండి 803 00:38:53,170 --> 00:38:53,570 చివర. 804 00:38:53,570 --> 00:38:57,970 మీరు రాండమ్ యాక్సెస్ మరియు పరపతి కాదు, అందువలన, బైనరీ శోధన, ఇది అయినా 805 00:38:57,970 --> 00:39:00,740 క్రమబద్ధీకరించబడతాయి, మీరు ప్రవర్తించేవారు వ్యూహం తో. 806 00:39:00,740 --> 00:39:02,390 మరియు మరొక ఖర్చు కూడా ఉంది. 807 00:39:02,390 --> 00:39:02,966 అవును. 808 00:39:02,966 --> 00:39:03,800 >> ప్రేక్షకులు: మెమరీ అసమర్థంగా? 809 00:39:03,800 --> 00:39:04,130 >> డేవిడ్ J. మలన్: అవును. 810 00:39:04,130 --> 00:39:06,940 Well, నేను తప్పనిసరిగా కాదు అసమర్థంగా చెప్పటానికి. 811 00:39:06,940 --> 00:39:10,110 కానీ మీరు మరింత మెమరీ ఖర్చు అవుతుంది, మీరు ప్రతి కోసం 32 బిట్స్ అవసరం ఎందుకంటే 812 00:39:10,110 --> 00:39:13,400 అదనపు పాయింటర్ కోసం నోడ్ వద్ద ఒక ఒక్కొక్కటిగా లింక్ జాబితా కోసం కనీసం. 813 00:39:13,400 --> 00:39:16,660 ఇప్పుడు, మీరు పూర్ణ నిల్వ అయితే మీరు పాయింటర్ జోడించే, ఆ 814 00:39:16,660 --> 00:39:17,830 వాస్తవానికి రకమైన కాని అల్పమైన. 815 00:39:17,830 --> 00:39:19,340 ఇది మెమరీ మొత్తం రెట్టింపు ఉంది. 816 00:39:19,340 --> 00:39:22,330 కానీ నిజానికి, మీరు నిల్వ చేసిన ఒక చూపించే structs యొక్క అనుబంధ జాబితా 817 00:39:22,330 --> 00:39:25,540 8 బైట్లు, 16 బైట్లు, మరింత కంటే, దీనికి తక్కువగా 818 00:39:25,540 --> 00:39:26,500 ఒక ఉపాంత వ్యయం యొక్క. 819 00:39:26,500 --> 00:39:28,320 కానీ ఏది ఏమి అయినప్పటికీ ఒక ఖర్చు వార్తలు. 820 00:39:28,320 --> 00:39:31,880 కాబట్టి వారిలో గాని చేసిన చేస్తుంది దుష్ప్రభావాలు వంటి జరిమానా. 821 00:39:31,880 --> 00:39:32,110 >> 18. 822 00:39:32,110 --> 00:39:36,100 రాయడానికి PHP బదులుగా సి ఉపయోగించి ఒక కమాండ్ లైన్ కార్యక్రమం. 823 00:39:36,100 --> 00:39:41,890 ఇక్కడ, అది తరచూ ఉపయోగించడం వేగంగా ఒక PHP లేదా రూబీ లేదా పైథాన్ వంటి భాష. 824 00:39:41,890 --> 00:39:43,700 మీరు త్వరగా ఓపెన్ ఒక టెక్స్ట్ ఎడిటర్ అప్. 825 00:39:43,700 --> 00:39:45,900 మీరు మరిన్ని ఎక్కువ విధులు మీకు అందుబాటులో. 826 00:39:45,900 --> 00:39:49,325 PHP విధులు వంటగది సింక్, సి లో, మీరు అయితే 827 00:39:49,325 --> 00:39:50,420 చాలా, చాలా తక్కువ. 828 00:39:50,420 --> 00:39:53,820 నిజానికి, అబ్బాయిలు హార్డ్ మార్గం తెలుసు మీరు హాష్ పట్టికలు లేని. 829 00:39:53,820 --> 00:39:55,000 మీరు జాబితాలు లేదు. 830 00:39:55,000 --> 00:39:57,470 ఆ, మీరు ఉంటుంది వాటిని మీరే అమలు. 831 00:39:57,470 --> 00:40:00,950 >> PHP యొక్క కాబట్టి ఒకటి పైకి లేదా నిజంగా ఏ అర్థం భాషను rapidity ఉంది 832 00:40:00,950 --> 00:40:02,920 ఇది మీకు కోడ్ వ్రాయగలవు. 833 00:40:02,920 --> 00:40:06,660 కానీ ఒక స్థితి, మేము ఈ చూసినపుడు త్వరగా ఒక misspeller అప్ కొరడాతో 834 00:40:06,660 --> 00:40:11,780 PHP ఉపయోగించి ఉపన్యాసంలో అమలు, ఉంది ఒక అర్థం భాషను ఉపయోగించి 835 00:40:11,780 --> 00:40:13,570 సాధారణంగా నెమ్మదిగా ఉంది. 836 00:40:13,570 --> 00:40:18,420 మరియు మేము ఒక తో ఉన్నంతమాత్రాన గమనించాను 3 0.3 సెకన్ల నుంచి సమయంలో పెంచడానికి 837 00:40:18,420 --> 00:40:24,440 ఎందుకంటే వ్యాఖ్యానం సెకన్లు, వాస్తవానికి జరుగుతుంది. 838 00:40:24,440 --> 00:40:27,060 >> మరో పైకి ఉంది మీరు ఆ కంపైల్ లేదు. 839 00:40:27,060 --> 00:40:30,130 కాబట్టి అది కూడా అభివృద్ధి వేగం యాదృచ్ఛికంగా, మీరు లేదు ఎందుకంటే 840 00:40:30,130 --> 00:40:31,360 ఒక ప్రోగ్రామ్ను అమలు రెండు దశలను. 841 00:40:31,360 --> 00:40:32,140 మీరు కేవలం ఒక కలిగి. 842 00:40:32,140 --> 00:40:35,260 కాబట్టి ఆ అందంగా అనిపిస్తుంది బలవంతపు అలాగే. 843 00:40:35,260 --> 00:40:38,450 ఒక SQL డేటాబేస్ ఉపయోగించి బదులుగా డేటా నిల్వ ను. 844 00:40:38,450 --> 00:40:40,230 కాబట్టి SQL డేటాబేస్ pset7 కోసం ఉపయోగిస్తారు. 845 00:40:40,230 --> 00:40:42,060 CSV ఫైళ్లు మీరు చాలా ఉపయోగించడానికి లేదు. 846 00:40:42,060 --> 00:40:45,960 కానీ మీరు pset7 లో పరోక్షంగా ఉపయోగించారు బాగా యాహూ ఫైనాన్స్ మాట్లాడటం. 847 00:40:45,960 --> 00:40:49,330 >> కానీ CSV కేవలం Excel ఫైల్ వంటి కానీ సూపర్ సాధారణ, నిలువు ఎక్కడ 848 00:40:49,330 --> 00:40:54,010 కేవలం లోపల కామాలతో demarked ఒక లేకపోతే టెక్స్ట్ ఫైలు యొక్క. 849 00:40:54,010 --> 00:40:56,740 మరియు ఒక SQL డేటాబేస్ ఉపయోగించి ఉంది కొంచెం సమగ్ర. 850 00:40:56,740 --> 00:41:00,060 మీరు విషయాలు పొందండి ఎందుకంటే ఇది, ఒక పైకి ఉంది వంటి ఎంచుకోండి మరియు ఇన్సర్ట్ మరియు తొలగించడం. 851 00:41:00,060 --> 00:41:03,790 మరియు మీరు, బహుశా, సూచికలు పొందండి MySQL మరియు వంటి ఇతర డేటాబేస్, 852 00:41:03,790 --> 00:41:07,510 ఒరాకిల్, మెమరీలో మీరు కోసం నిర్మించడానికి, ఇది మీ ఎంపిక బహుశా కాదు అర్థం 853 00:41:07,510 --> 00:41:09,000 దిగువ సరళ టాప్ మాత్రం. 854 00:41:09,000 --> 00:41:11,300 ఇది నిజానికి ఏదో చేస్తాడు బైనరీ శోధన లేదా ఏదో వంటి 855 00:41:11,300 --> 00:41:12,520 ఆత్మ లో మాదిరిగా. 856 00:41:12,520 --> 00:41:13,930 కాబట్టి వారు వేగంగా ఉన్నారు. 857 00:41:13,930 --> 00:41:16,040 >> కానీ ఒక స్థితి ఉంది ఇది కేవలం మరింత పని. 858 00:41:16,040 --> 00:41:16,730 ఇది మరింత ప్రయత్నం ఉంది. 859 00:41:16,730 --> 00:41:18,140 మీరు డేటాబేస్ అర్థం ఉంటుంది. 860 00:41:18,140 --> 00:41:18,940 మీరు ఏర్పాటు ఉంటుంది. 861 00:41:18,940 --> 00:41:20,840 మీరు అమలు సర్వర్ అవసరం ఆ డేటాబేస్. 862 00:41:20,840 --> 00:41:22,750 మీరు అర్థం చేసుకోవాలి అది ఆకృతీకరించుటకు ఎలా. 863 00:41:22,750 --> 00:41:24,930 కాబట్టి ఈ కేవలం ఈ విక్రయాల్లో రకాల. 864 00:41:24,930 --> 00:41:27,860 ను, మీరు అయితే gedit సృష్టించడం. 865 00:41:27,860 --> 00:41:28,770 మరియు మీరు అన్నిటికి ఉన్నాము. 866 00:41:28,770 --> 00:41:31,550 ఆ మించి ఏ సంక్లిష్టత ఉంటుంది. 867 00:41:31,550 --> 00:41:34,870 >> బదులుగా ఒక హాష్ పట్టిక ఒక trie ఉపయోగించి నిల్వ ప్రత్యేక కూర్పికం ఒక 868 00:41:34,870 --> 00:41:37,490 స్మృతిగా పదాల నిఘంటువు Pset5 యొక్క. 869 00:41:37,490 --> 00:41:42,480 కాబట్టి ఒక సిద్ధాంతంలో, పైకి ప్రయత్నిస్తుంది కనీసం, ఏమిటి? 870 00:41:42,480 --> 00:41:46,380 స్థిర సమయం, కనీసం మీరు అయితే వ్యక్తిగత ప్రతి హ్యాషింగ్ 871 00:41:46,380 --> 00:41:48,990 మీ వంటి ఒక పదం లో అక్షరాలు, Pset5 కోసం ఉండవచ్చు. 872 00:41:48,990 --> 00:41:52,720 ఆ ఐదు hashes, ఆరు కావచ్చు ఐదు లేదా ఆరు ఉంది ఉంటే hashes 873 00:41:52,720 --> 00:41:53,900 పదం లో అక్షరాలు. 874 00:41:53,900 --> 00:41:54,580 మరియు ఆ కాదాయె. 875 00:41:54,580 --> 00:41:56,910 మరియు ఒక ఉన్నత ఉంది ఉంటే ఎలా దీర్ఘ మీ పదాలు చెయ్యదగిన, ఆ 876 00:41:56,910 --> 00:41:59,320 నిజానికి asymptotically స్థిరంగా సమయం. 877 00:41:59,320 --> 00:42:05,180 >> అయితే ప్రత్యేక ఒక హాష్ పట్టిక ఆ తో అక్కడ, సమస్య కూర్పికం 878 00:42:05,180 --> 00:42:09,070 డేటా నిర్మాణం రకం అని మీ అల్గోరిథంలు యొక్క ప్రదర్శన సాధారణంగా 879 00:42:09,070 --> 00:42:12,700 విషయాలు సంఖ్య ఆధారపడి ఇప్పటికే డేటా నిర్మాణం లో. 880 00:42:12,700 --> 00:42:15,660 మరియు ఆ ఖచ్చితంగా తో కేస్ గొలుసులు, అనగా మీరు చాలు మరింత stuff 881 00:42:15,660 --> 00:42:18,800 ఒక హాష్ పట్టిక లోకి ఇక ఆ గొలుసులు చెత్త లో అంటే, వెళ్ళి 882 00:42:18,800 --> 00:42:21,960 కేసు, మీరు వెతుకుతున్న ఉండవచ్చు విషయం అన్ని మార్గం ఒక చివర ఉంది 883 00:42:21,960 --> 00:42:26,000 ఆ గొలుసులు, ఇది సమర్థవంతంగా సరళ ఏదో లోకి devolves. 884 00:42:26,000 --> 00:42:29,450 >> ఇప్పుడు, ఆచరణలో, ఖచ్చితంగా జరిగింది ఒక హాష్ పట్టిక ఉంటుంది 885 00:42:29,450 --> 00:42:32,820 గొలుసులు ఒక కన్నా వేగంగా ఉంది trie అమలు. 886 00:42:32,820 --> 00:42:35,570 కానీ మధ్య, వివిధ కారణాల వలన వార్తలు ప్రయత్నాలు యొక్క మొత్తం చాలా ఉపయోగించడానికి ఇవి 887 00:42:35,570 --> 00:42:39,240 మెమరీ చేసే, నిజానికి, నెమ్మదిగా విషయాలు డౌన్, మీరు nice పొందలేరు ఎందుకంటే 888 00:42:39,240 --> 00:42:42,410 చేజింగ్ అనే ప్రయోజనాలు, పేరు దగ్గరగా కలిసి ఉండే విషయాలు 889 00:42:42,410 --> 00:42:45,420 మెమరీలో ప్రాప్తి చేయవచ్చు తరచుగా త్వరగా. 890 00:42:45,420 --> 00:42:48,180 కొన్నిసార్లు మీరు ఆలోచన చేయవచ్చు ఒక నిజంగా మంచి హాష్ విధి. 891 00:42:48,180 --> 00:42:51,060 మీరు ఒక బిట్ వృధా కూడా మెమరీ, మీరు, నిజానికి, చేయగలరు 892 00:42:51,060 --> 00:42:54,430 ఫాస్ట్ మరియు విషయాలు కనుగొనేందుకు వంటి చెడు వంటి సరళంగా. 893 00:42:54,430 --> 00:42:58,410 >> కాబట్టి చిన్న లో, తప్పనిసరిగా లేదు ఈ ఒకటి లేదా రెండు ఏ 894 00:42:58,410 --> 00:43:00,050 మేము వెతుకుతున్న నిర్దిష్ట విషయాలు. 895 00:43:00,050 --> 00:43:03,080 ఒప్పించే నిజంగా ఏదైనా ఒక కలత మరియు ఇబ్బంది వంటి 896 00:43:03,080 --> 00:43:04,800 సాధారణంగా మా దృష్టిని ఆకర్షించింది. 897 00:43:04,800 --> 00:43:11,840 >> రాబ్ బౌడెన్: కాబట్టి పైకి కోసం, మేము సొంతంగా అంగీకరించకపోతే "వేగంగా." మీరు 898 00:43:11,840 --> 00:43:14,540 దాని గురించి ఏదో చెప్పటానికి కలిగి. 899 00:43:14,540 --> 00:43:17,910 మీరు సిద్ధాంతపరంగా వేగంగా చెప్పారు కూడా, మీరు రకమైన అర్థం తెలుసు 900 00:43:17,910 --> 00:43:19,470 ఇది 1 యొక్క 0 అని. 901 00:43:19,470 --> 00:43:22,820 మరియు హాష్ పట్టిక, సిద్ధాంతం లో, 1 0 కాదు. 902 00:43:22,820 --> 00:43:26,550 Runtime గురించి ఏదైనా ప్రస్తుతించారు సాధారణంగా పాయింట్లు మీరు వచ్చింది. 903 00:43:26,550 --> 00:43:32,640 కానీ "వేగంగా," పరిష్కారాలు అత్యంత న ప్రయత్నాలు ఉండేవి అని పెద్ద బోర్డు 904 00:43:32,640 --> 00:43:34,990 SOLUTIONS కంటే నిష్పక్షపాతంగా నెమ్మదిగా హాష్ పట్టికలు ఉన్నాయి. 905 00:43:34,990 --> 00:43:37,250 కాబట్టి వేగంగా మరియు యొక్క నిజంగా నిజం కాదు. 906 00:43:37,250 --> 00:43:41,550 907 00:43:41,550 --> 00:43:44,380 >> డేవిడ్ J. మలన్: డోమ్ డి dom dom. 908 00:43:44,380 --> 00:43:46,686 నేను బహుశా గుర్తిస్తాడు మాత్రమే ఒక ఉన్నాను ఆ కోరుకుంటున్నాము ఎలా ఉంది 909 00:43:46,686 --> 00:43:47,500 కుడి, పలకాలి? 910 00:43:47,500 --> 00:43:50,400 >> రాబ్ బౌడెన్: నేను నిజంగా తెలియదు. 911 00:43:50,400 --> 00:43:51,650 >> డేవిడ్ J. మలన్: ఇది తయారు నా తల లో భావన. 912 00:43:51,650 --> 00:43:53,830 913 00:43:53,830 --> 00:43:57,580 >> రాబ్ బౌడెన్: నేను ఈ ఒక చేస్తున్నాను. 914 00:43:57,580 --> 00:43:58,020 OK. 915 00:43:58,020 --> 00:44:04,243 కాబట్టి ఈ మీరు డ్రా వచ్చింది పేరు ఒకటి మీలాంటి రేఖాచిత్రం వాటిని 916 00:44:04,243 --> 00:44:06,040 గత పరీక్షలలో చూసిన. 917 00:44:06,040 --> 00:44:12,200 కాబట్టి యొక్క ఈ చూద్దాం. 918 00:44:12,200 --> 00:44:18,170 కాబట్టి HTML నోడ్ నుండి, మేము రెండు పిల్లలు, తల మరియు శరీర. 919 00:44:18,170 --> 00:44:20,570 కాబట్టి మేము శాఖ - తల మరియు శరీర. 920 00:44:20,570 --> 00:44:22,280 తల ఒక శీర్షిక టాగ్ ఉంది. 921 00:44:22,280 --> 00:44:23,710 కాబట్టి మేము శీర్షిక. 922 00:44:23,710 --> 00:44:28,450 >> ఇప్పుడు, ఒక విషయం ప్రజలు చాలా మర్చిపోయాను పాఠ్య నోడ్స్ అని 923 00:44:28,450 --> 00:44:30,430 ఈ చెట్టు ఎలిమెంట్లను. 924 00:44:30,430 --> 00:44:36,260 కాబట్టి ఇక్కడ ovals వంటి వాటిని డ్రా జరిగే ఈ నుండి భేదం 925 00:44:36,260 --> 00:44:37,380 ల రకాల. 926 00:44:37,380 --> 00:44:41,450 కానీ నోటీసు కూడా ఇక్కడ మేము టాప్ కలిగి, మధ్య మరియు దిగువ అప్ ముగుస్తుంది 927 00:44:41,450 --> 00:44:42,560 టెక్స్ట్ నోడ్స్. 928 00:44:42,560 --> 00:44:46,250 కాబట్టి ఆ మర్చిపోకుండా కొంతవరకు ఉంది ఒక సాధారణ తప్పు. 929 00:44:46,250 --> 00:44:48,770 >> శరీరం మూడు పిల్లలు - ఈ మూడు divs. 930 00:44:48,770 --> 00:44:53,340 కాబట్టి div, div, div ఆపై టెక్స్ట్ ఆ divs యొక్క నోడ్ పిల్లలు. 931 00:44:53,340 --> 00:44:55,900 ఇది చాలా ఉంది ప్రశ్నలు కోసం. 932 00:44:55,900 --> 00:44:57,860 >> డేవిడ్ J. మలన్: మరియు అది పేర్కొంది ఉపయోగకరమని, మేము ఈ నివసించు లేదు అయినప్పటికీ 933 00:44:57,860 --> 00:45:01,040 మేము ఖర్చు సమయంలో వివరాలు ఆర్డర్ చేసే జావాస్క్రిప్ట్,, లో 934 00:45:01,040 --> 00:45:02,290 నిజానికి, విషయం సాంకేతికంగా. 935 00:45:02,290 --> 00:45:06,330 కాబట్టి తలపై శరీరం ముందు వస్తే HTML, దానికి కనిపిస్తాయి 936 00:45:06,330 --> 00:45:08,860 అసలు DOM లో శరీర వదిలి. 937 00:45:08,860 --> 00:45:12,265 తన, కేవలం FYI, సాధారణంగా, అని పత్రం క్రమంలో అనే పేరు 938 00:45:12,265 --> 00:45:13,260 అది అవసరం. 939 00:45:13,260 --> 00:45:17,470 మరియు మీరు ఒక పార్సర్ అమలు ఉంటే, భవనం లో HTML చదివే ఒక కార్యక్రమం 940 00:45:17,470 --> 00:45:20,960 మెమరీలో చెట్టును, నిజాయితీ ఉండాలి, బహుశా intuitively ఏది మీరు 941 00:45:20,960 --> 00:45:24,720 ఎలాగైనా - పైనుంచి, ఎడమ. 942 00:45:24,720 --> 00:45:26,116 >> రాబ్ బౌడెన్: ఆ ప్రశ్నలకు? 943 00:45:26,116 --> 00:45:29,080 944 00:45:29,080 --> 00:45:30,000 నేను తదుపరి ఏమి చేయాలి? 945 00:45:30,000 --> 00:45:32,380 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 946 00:45:32,380 --> 00:45:33,810 >> రాబ్ బౌడెన్: OK. 947 00:45:33,810 --> 00:45:39,320 కాబట్టి ఈ ఆక్రమిత బఫర్ దాడి ప్రశ్న. 948 00:45:39,320 --> 00:45:43,740 ఇక్కడ గుర్తించడానికి ప్రధాన విషయం, ఉంది బాగా, ఎలా వాటిని శత్రువులు ట్రిక్ 949 00:45:43,740 --> 00:45:46,170 అమలు లోకి ఈ కార్యక్రమం అనియత కోడ్? 950 00:45:46,170 --> 00:45:51,860 కాబట్టి argv1, మొదటి కమాండ్ లైన్ ఈ కార్యక్రమానికి వాదన, ఆ ఉంటుంది 951 00:45:51,860 --> 00:45:53,920 ఏకపక్ష పొడవైన. 952 00:45:53,920 --> 00:45:59,160 కానీ ఇక్కడ మేము కాపీ memcpy ఉపయోగిస్తున్నట్లయితే argv1, ఇది ఇక్కడ బార్. 953 00:45:59,160 --> 00:46:00,165 మేము వాదన గా అక్కడ. 954 00:46:00,165 --> 00:46:02,050 మరియు అందువలన పేరు బార్ లో తీసుకొని. 955 00:46:02,050 --> 00:46:08,040 >> కాబట్టి మేము బార్ memcpying చేస్తున్నారు ఈ బఫర్ సి లోకి. 956 00:46:08,040 --> 00:46:09,400 తక్కినవి బైట్లు కాపీ చేయబడతాయి? 957 00:46:09,400 --> 00:46:14,040 బాగా అయితే అనేక బైట్లు బార్ నిర్మాణము , ఆ వాదన పొడవు ఉపయోగించి. 958 00:46:14,040 --> 00:46:17,930 కానీ సి మాత్రమే 12 బైట్లు వెడల్పు ఉంది. 959 00:46:17,930 --> 00:46:22,280 కాబట్టి మేము ఒక కమాండ్ లైన్ వాదన టైప్ 12 బైట్ల కంటే ఎక్కువ ఉంది, మేము 960 00:46:22,280 --> 00:46:25,470 ఈ ఓవర్ఫ్లో అన్నారు ప్రత్యేక బఫర్. 961 00:46:25,470 --> 00:46:31,000 ఇప్పుడు, ఎలా శత్రువులు మోసపూరిత ఉండవచ్చు అనియత కోడ్ అమలు లోకి ప్రోగ్రామ్? 962 00:46:31,000 --> 00:46:34,910 >> కాబట్టి ఇక్కడ గుర్తు ప్రధాన foo కాల్. 963 00:46:34,910 --> 00:46:37,340 కాబట్టి అప్పుడు ప్రధాన కాల్స్ foo. 964 00:46:37,340 --> 00:46:40,408 యొక్క ఈ డ్రా లెట్. 965 00:46:40,408 --> 00:46:44,720 966 00:46:44,720 --> 00:46:46,990 కాబట్టి మేము మా స్టాక్ కలిగి. 967 00:46:46,990 --> 00:46:49,090 మరియు ప్రధాన ఒక స్టాక్ ఫ్రేమ్ ఉంది దిగువన. 968 00:46:49,090 --> 00:46:51,860 969 00:46:51,860 --> 00:46:53,250 కొన్ని సమయంలో, ప్రధాన కాల్స్ foo. 970 00:46:53,250 --> 00:46:55,390 బాగా, వెంటనే, ప్రధాన కాల్స్ foo. 971 00:46:55,390 --> 00:46:57,130 కాబట్టి foo తన సొంత స్టాక్ ఫ్రేమ్ పొందుతాడు. 972 00:46:57,130 --> 00:46:59,650 973 00:46:59,650 --> 00:47:02,220 >> ఇప్పుడు, కొన్ని పాయింట్ వద్ద, foo తిరిగి అన్నారు. 974 00:47:02,220 --> 00:47:06,810 మరియు foo తిరిగి వెళ్లి, మేము తెలుసుకోవాలి ప్రధాన మేము లోపలి ఏమి కోడ్ లైన్ 975 00:47:06,810 --> 00:47:10,610 తెలుసుకోవటానికి ఉన్న మేము ప్రధాన లో రెస్యూమ్ చేయాలి. 976 00:47:10,610 --> 00:47:13,100 మేము ఒక మొత్తం నుండి foo కాల్ చేయవచ్చు వివిధ ప్రదేశాలలో కొంత. 977 00:47:13,100 --> 00:47:14,620 ఎలా మేము ఇక్కడ తిరిగి తెలుసు? 978 00:47:14,620 --> 00:47:16,460 Well, మేము ఎక్కడో నిల్వ చేయాలి. 979 00:47:16,460 --> 00:47:23,010 >> సో ఎక్కడా కుడి ఇక్కడ, మేము నిల్వ మేము ఒకసారి తిరిగి ఉండాలి పేరు 980 00:47:23,010 --> 00:47:24,070 foo తిరిగి. 981 00:47:24,070 --> 00:47:26,350 మరియు ఈ తిరిగి చిరునామా ఉంది. 982 00:47:26,350 --> 00:47:30,490 కాబట్టి ఎలా శత్రువులు ప్రయోజనాన్ని ఉండవచ్చు ఈ నిజానికి అని 983 00:47:30,490 --> 00:47:37,550 ఈ బఫర్ సి నిల్వ, వీలు యొక్క ఇక్కడే సి, చెప్పడానికి. 984 00:47:37,550 --> 00:47:39,690 కాబట్టి మేము సి కోసం 12 బైట్లు పొందారు. 985 00:47:39,690 --> 00:47:40,540 ఈ సి ఉంది. 986 00:47:40,540 --> 00:47:43,030 మరియు ఈ foo యొక్క స్టాక్ రింగ్ ఉంది. 987 00:47:43,030 --> 00:47:49,970 హానికరమైన వినియోగదారు మరిన్ని ప్రవేశిస్తుంది కాబట్టి ఉంటే 12 కంటే బైట్లు లేదా వారు ఆదేశాన్ని నమోదు 988 00:47:49,970 --> 00:47:54,570 12 కంటే ఎక్కువ అని లైన్ వాదన అక్షరాలు, అప్పుడు మేము చూడాలని 989 00:47:54,570 --> 00:47:57,540 ఈ బఫర్ ఓవర్ఫ్లో. 990 00:47:57,540 --> 00:47:59,910 >> మేము కొనసాగించడాన్ని చేయవచ్చు. 991 00:47:59,910 --> 00:48:02,220 మరియు కొన్ని సమయంలో, మేము చాలా వెళ్ళండి మీరైతే తగినంత 992 00:48:02,220 --> 00:48:05,120 ఈ తిరిగి చిరునామా తిరిగి రాయటం. 993 00:48:05,120 --> 00:48:08,310 కాబట్టి ఒకసారి మేము, తిరిగి చిరునామా తిరిగి రాస్తుంది అంటే ఉన్నప్పుడు foo 994 00:48:08,310 --> 00:48:14,220 తిరిగి, మేము ఎక్కడ తిరిగి చేస్తున్నారు హానికరమైన వినియోగదారు ద్వారా చెప్తుంటాడు 995 00:48:14,220 --> 00:48:19,490 ఇది వస్తువు ద్వారా, ఎంటర్ సంసార విలువ అక్షరాలు వినియోగదారు ఎంటర్. 996 00:48:19,490 --> 00:48:24,320 కాబట్టి హానికరమైన యూజర్ ఉండటం ఉంటే ముఖ్యంగా తెలివైన, అతను ఈ కలిగి 997 00:48:24,320 --> 00:48:29,255 printDef ఎక్కడో తిరిగి ఫంక్షన్ లేదా malloc ఎక్కడో 998 00:48:29,255 --> 00:48:31,830 ఫంక్షన్, కేవలం ఎక్కడైనా ఏకపక్ష. 999 00:48:31,830 --> 00:48:38,420 >> అతను ఉంది అయితే మరింత తెలివైన ఉంది యూజర్ ఇక్కడే తిరిగి. 1000 00:48:38,420 --> 00:48:41,920 ఆపై మీరు అమలు ప్రారంభించిన ఈ కోడ్ రేఖలు వంటి. 1001 00:48:41,920 --> 00:48:46,610 కాబట్టి ఆ సమయంలో, యూజర్ నమోదు చేయవచ్చు అతను ఈ ప్రాంతంలో కోరుకుంటున్నారు పనులను. 1002 00:48:46,610 --> 00:48:52,210 మరియు అతను పూర్తి నియంత్రణ కలిగి ఉంది మీ కార్యక్రమమును. 1003 00:48:52,210 --> 00:48:53,460 ఆ ప్రశ్నలకు? 1004 00:48:53,460 --> 00:48:56,380 1005 00:48:56,380 --> 00:49:00,970 తరువాత ప్రశ్న పూర్తయింది విధంగా foo యొక్క అమలుని 1006 00:49:00,970 --> 00:49:02,620 ఇది ఇకపై అవకాశం అని. 1007 00:49:02,620 --> 00:49:03,870 >> కాబట్టి మార్గాలు ఉంది మీరు ఈ చేసిన కాలేదు. 1008 00:49:03,870 --> 00:49:10,900 1009 00:49:10,900 --> 00:49:13,330 మేము ఇంకా మాత్రమే సి కలిగి పొడవు 12 ఉండటం. 1010 00:49:13,330 --> 00:49:16,480 ఈ మార్చిన కాలేదు మీ పరిష్కారం భాగంగా. 1011 00:49:16,480 --> 00:49:18,930 మేము కూడా చేయడానికి ఒక చెక్ జోడించారు ఖచ్చితంగా బార్ శూన్య కాదు. 1012 00:49:18,930 --> 00:49:24,460 మీరు అవసరం లేదు అయితే పూర్తి క్రెడిట్ కోసం. 1013 00:49:24,460 --> 00:49:27,690 కాబట్టి మేము మొదటి తనిఖీ చేస్తున్నాము బార్ యొక్క స్ట్రింగ్ పొడవు. 1014 00:49:27,690 --> 00:49:31,650 అది, 12 కంటే ఎక్కువ ఉంటే నిజానికి ప్రతిని లేదు. 1015 00:49:31,650 --> 00:49:33,010 కాబట్టి అది ఫిక్సింగ్ ఒక మార్గం. 1016 00:49:33,010 --> 00:49:36,750 >> దీన్ని పరిష్కరించడానికి మరో మార్గం బదులుగా సి కలిగి మాత్రమే పొడవు 12 ఉంటుంది, ఇది కలిగి 1017 00:49:36,750 --> 00:49:39,310 పొడవు strlen (బార్) యొక్క ఉంటుంది. 1018 00:49:39,310 --> 00:49:43,370 దీన్ని పరిష్కరించడానికి మరో మార్గం నిజానికి తిరిగి. 1019 00:49:43,370 --> 00:49:46,690 కాబట్టి మీరు అన్ని వదిలించుకోవటం సంపాదించిన ఉంటే ఈ, మీరు అన్ని తొలగించిన ఉంటే 1020 00:49:46,690 --> 00:49:51,830 లైన్స్ ఆఫ్ కోడ్, మీరు సంపాదించిన ఉండేది పూర్తి క్రెడిట్, ఈ ఫంక్షన్ నుండి 1021 00:49:51,830 --> 00:49:54,150 నిజానికి దేనినీ సాధించదు. 1022 00:49:54,150 --> 00:49:57,650 ఇది కమాండ్ లైన్ కాపీ యొక్క కొన్ని శ్రేణి వాదన 1023 00:49:57,650 --> 00:49:59,960 దాని స్థానిక స్టాక్ ఫ్రేమ్. 1024 00:49:59,960 --> 00:50:01,310 ఆపై విషయం తిరిగి. 1025 00:50:01,310 --> 00:50:04,020 మరియు అది సాధించిన వెళ్లిపోయిన. 1026 00:50:04,020 --> 00:50:09,740 కాబట్టి తిరిగి కూడా ఒక సరిపోతుందని పూర్తి క్రెడిట్ పొందడానికి మార్గం. 1027 00:50:09,740 --> 00:50:13,425 >> డేవిడ్ J. మలన్: కాదు ఆత్మ యొక్క ప్రశ్న శాతం ఆమోదయోగ్యమైన 1028 00:50:13,425 --> 00:50:15,580 అయితే స్పెక్. 1029 00:50:15,580 --> 00:50:18,260 >> రాబ్ బౌడెన్: ఏ ప్రశ్నలకు? 1030 00:50:18,260 --> 00:50:22,270 ఒక విషయం మీరు కనీసం కోడ్ కంపైల్ చేశారు అవసరమైన. 1031 00:50:22,270 --> 00:50:24,810 సాంకేతికంగా మీరు కాదు కాబట్టి అయినప్పటికీ అవకాశం మీ కోడ్ కాకపోతే 1032 00:50:24,810 --> 00:50:29,130 కంపైల్, మేము ఆ అంగీకరించదు. 1033 00:50:29,130 --> 00:50:31,350 ఏ ప్రశ్నలు? 1034 00:50:31,350 --> 00:50:33,320 OK. 1035 00:50:33,320 --> 00:50:34,580 >> డేవిడ్ J. మలన్: మీరు అనుకుంటున్నారా ఈ శీర్షికను చెప్పడానికి? 1036 00:50:34,580 --> 00:50:37,230 >> రాబ్ బౌడెన్: నం 1037 00:50:37,230 --> 00:50:40,470 >> డేవిడ్ J. మలన్: ఈ ఒక, ఈ శుభవార్త లేదా దుర్వార్త గాని. 1038 00:50:40,470 --> 00:50:43,870 ఈ అక్షరాలా అదే సమస్య మొదటి క్విజ్ వంటి. 1039 00:50:43,870 --> 00:50:46,140 మరియు అది దాదాపు సేమ్ pset1 సమస్య. 1040 00:50:46,140 --> 00:50:49,980 కానీ ఉద్దేశపూర్వకంగా ఉండాలి సరళీకృత ఒక సులభమైన పిరమిడ్, ఉండాలనే ఒక 1041 00:50:49,980 --> 00:50:52,330 ఒక కొద్దిగా పరిష్కరించింది సులభమైన మళ్ళా. 1042 00:50:52,330 --> 00:50:55,680 మరియు నిజంగా, మనం వద్ద పొందుతున్న ఇక్కడ, చాలా తర్కం కాదు 1043 00:50:55,680 --> 00:50:58,100 బహుశా, ఈ సమయానికి, మీరు ఎందుకంటే మీరు కంటే మరింత సౌకర్యవంతమైన 1044 00:50:58,100 --> 00:51:01,850 ఉచ్చులు లేదా ఎందుకు ఉచ్చులు కోసం వారం ఒక, కానీ నిజంగా ఆ వేరుగా బాధించటం 1045 00:51:01,850 --> 00:51:04,790 మీరు కొద్దిగా సౌకర్యవంతమైన PHP కేవలం ఏం కాదు భావనను 1046 00:51:04,790 --> 00:51:05,290 ప్రోగ్రామింగ్. 1047 00:51:05,290 --> 00:51:07,820 ఇది నిజానికి ఒక భాషగా ఉపయోగించవచ్చు కమాండ్ లైన్ కార్యక్రమాలు రాయడానికి. 1048 00:51:07,820 --> 00:51:10,060 >> నిజానికి, మేము ప్రయత్నిస్తున్న ఏమిటి మీ దృష్టికి డ్రా. 1049 00:51:10,060 --> 00:51:12,060 ఈ కమాండ్ లైన్ PHP కార్యక్రమం. 1050 00:51:12,060 --> 00:51:16,690 ఇక్కడ సి కోడ్, సరైన సి లో, PHP కోసం సరైనది కాదు. 1051 00:51:16,690 --> 00:51:17,940 కానీ కోడ్ నిజంగా అదే ఉంది. 1052 00:51:17,940 --> 00:51:21,720 మీరు క్విజ్ పరిష్కారాలను పోల్చి ఉంటే క్విజ్ 1 వ్యతిరేకంగా 0, మీరు పొందుతారు 1053 00:51:21,720 --> 00:51:25,630 ఇది తప్ప, దాదాపు ఒకేలా కొన్ని డాలర్ సైన్స్ మరియు కోసం 1054 00:51:25,630 --> 00:51:27,250 ఒక డేటా రకం లేకపోవడం. 1055 00:51:27,250 --> 00:51:31,720 ముఖ్యంగా, మేము ఇక్కడ పరిశీలించి ఉంటే, మీరు ఈ లో, మేము iterate చూస్తారు 1056 00:51:31,720 --> 00:51:33,730 కేసు, 1 నుండి 7 ద్వారా అప్. 1057 00:51:33,730 --> 00:51:34,910 >> మేము 0 సూచిక పూర్తి కాలేదు ఉన్నాయి. 1058 00:51:34,910 --> 00:51:37,320 కానీ కొన్నిసార్లు, నేను కేవలం అని విషయాల గురించి ఆలోచించడం మానసికంగా సులభంగా 1059 00:51:37,320 --> 00:51:38,200 1 నుండి 7 వరకు. 1060 00:51:38,200 --> 00:51:40,300 మీరు ఒక బ్లాక్ కోరుకుంటే, రెండు బ్లాక్స్, మూడు, అప్పుడు 1061 00:51:40,300 --> 00:51:41,770 డాట్, డాట్, ఏడు డాట్. 1062 00:51:41,770 --> 00:51:45,960 మేము 1 జె initialized చేస్తున్న మరియు నేను వరకు లెక్కింపు. 1063 00:51:45,960 --> 00:51:48,150 మరియు ఇక్కడ ప్రతిదీ ఉంది లేకపోతే ఒకేలా. 1064 00:51:48,150 --> 00:51:49,790 కానీ గమనిక విశ్వసనీయంగా ఉంటాయి విషయాలను. 1065 00:51:49,790 --> 00:51:53,230 మీరు ఈ రెండు పంక్తులు ఈ మొదటి ఇవ్వాలని goofily ఒక shebang వంటి అనే ఒక, 1066 00:51:53,230 --> 00:51:54,560 పదునైన బ్యాంగ్ కోసం. 1067 00:51:54,560 --> 00:51:58,770 మరియు కేవలం మార్గం నిర్దేశిస్తుంది, ఒక కార్యక్రమం ఉంటుంది దీనిలో ఫోల్డర్, 1068 00:51:58,770 --> 00:52:02,160 మీరు మీరు ఉపయోగించడానికి కనుగొన్నారు ఈ ఫైల్ అనువదించేందుకు. 1069 00:52:02,160 --> 00:52:04,710 >> మరియు ఆ తర్వాత లైన్, కోర్సు, PHP మోడ్ ఎంటర్ అర్థం. 1070 00:52:04,710 --> 00:52:07,740 మరియు చాలా దిగువన లైన్ నిష్క్రమణ PHP మోడ్ అంటే. 1071 00:52:07,740 --> 00:52:09,740 మరియు ఈ తో, సాధారణంగా, పనిచేస్తుంది భాషలు అర్థం. 1072 00:52:09,740 --> 00:52:14,370 మీరు వ్రాస్తే అది బాధించే రకం ఉంది ఒక foo.php అనే ఫైల్ లో కార్యక్రమం. 1073 00:52:14,370 --> 00:52:17,320 ఆపై మీ వినియోగదారులు కలిగి కేవలం , ఈ కార్యక్రమం అమలు, OK, గుర్తు నేను 1074 00:52:17,320 --> 00:52:22,320 టైప్ ఉంటుంది "php స్పేస్ foo.php." కైండ్ గత్యంతరం ఉంటే బాధించే యొక్క. 1075 00:52:22,320 --> 00:52:25,270 మరియు అది కూడా వెల్లడి మీ ప్రోగ్రామ్ అన్ని కాదు PHP, వ్రాయబడిన 1076 00:52:25,270 --> 00:52:27,060 ఆ యూజర్ కోసం ప్రకాశ. 1077 00:52:27,060 --> 00:52:30,100 >> కాబట్టి మీరు పూర్తిగా. Php తొలగించవచ్చు ఉపన్యాసం నుండి గుర్తు. 1078 00:52:30,100 --> 00:52:35,690 మరియు మీరు నిజంగా. / Foo చేయవచ్చు ఉంటే మీరు ద్వారా ఇది chmodded చేసిన 1079 00:52:35,690 --> 00:52:36,500 executable. 1080 00:52:36,500 --> 00:52:39,630 కాబట్టి chmod ఒక + x foo ఆ పని చేస్తుంది కలిగి. 1081 00:52:39,630 --> 00:52:41,460 మరియు మీరు కూడా shebang ఇక్కడ జోడిస్తే. 1082 00:52:41,460 --> 00:52:45,320 కానీ నిజంగా, సమస్య వద్ద చదువుతున్న ఈ వంటి ఏదో ముద్రించిన. 1083 00:52:45,320 --> 00:52:51,100 ఏ HTML, ఖచ్చితంగా ఏ C-కోడ్, కొన్ని PHP. 1084 00:52:51,100 --> 00:52:54,100 కాబట్టి మీలో అప్పుడు సమస్య 25 లో తిరిగి. 1085 00:52:54,100 --> 00:52:58,050 మరియు 25 లో, మీరు క్రింది ఇవ్వబడింది ఒక ఇది అస్థిపంజరం కోడ్, 1086 00:52:58,050 --> 00:52:59,730 అందమైన సాధారణ వెబ్ పేజీ. 1087 00:52:59,730 --> 00:53:04,230 మరియు జ్యుసి భాగం HTML వారీగా ఉంది ఇక్కడ, మేము శరీరం లోపలి పేరు 1088 00:53:04,230 --> 00:53:09,160 ప్రవేశాంశాల ఏకైక ID ఉంది ఒక రూపం ఇది లోపలి రెండు ఇన్పుట్లను, ఒకటి 1089 00:53:09,160 --> 00:53:11,950 పేరు, ఒక ఒక ఆలోచన తో బటన్ ఒక ఆలోచన తో. 1090 00:53:11,950 --> 00:53:14,240 >> మొదటి, రకం టెక్స్ట్ ఉంది రకం రెండవ submit. 1091 00:53:14,240 --> 00:53:16,930 కాబట్టి మేము, నిజానికి, మరింత మీరు ఇచ్చిన మీరు కాబట్టి, అవసరమైన కంటే పదార్థాలు 1092 00:53:16,930 --> 00:53:19,230 మీరు అబ్బాయిలు ఇది ఎంపికలు కలిగి ఈ సమస్యను పరిష్కరించడానికి. 1093 00:53:19,230 --> 00:53:21,130 మీరు ఖచ్చితంగా అవసరం లేదు ఈ ID ల అన్ని. 1094 00:53:21,130 --> 00:53:23,580 కానీ మీరు పరిష్కరించడానికి అనుమతిస్తుంది ఇది రకాలుగా. 1095 00:53:23,580 --> 00:53:27,050 మరియు అప్ ఎగువన గమనించవచ్చు ఆ లక్ష్యం ట్రిగ్గర్ ఉంది 1096 00:53:27,050 --> 00:53:27,960 ఈ వంటి ఒక విండో - 1097 00:53:27,960 --> 00:53:28,780 హలో, మీలో! - 1098 00:53:28,780 --> 00:53:31,270 ఉపయోగించి బ్రౌజర్ పాపప్ ఉంటే, సూపర్ సాధారణ 1099 00:53:31,270 --> 00:53:33,190 అగ్లీ కాదు, హెచ్చరిక ఫంక్షన్. 1100 00:53:33,190 --> 00:53:37,480 కాబట్టి, చివరికి, ఈ దిమ్మల సందర్భానుసారంగా ఏదో వినడం కు 1101 00:53:37,480 --> 00:53:41,290 రూపం క్లైంట్ వైపు యొక్క సమర్పణలు , ఏదో కాదు సర్వర్ వైపు, 1102 00:53:41,290 --> 00:53:45,640 ద్వారా ఆ సమర్పణ ప్రతిస్పందించడానికి యూజర్ టైప్ ఆ విలువ ఈడ్చడం 1103 00:53:45,640 --> 00:53:50,120 పేరు రంగంలో కు, ఆపై ఆలర్ట్ యొక్క శరీరం లో ప్రదర్శించారు. 1104 00:53:50,120 --> 00:53:53,460 >> కాబట్టి మీరు చేయవచ్చు ఒక మార్గం ఉంది కొద్దిగా పెడుతుంది j క్వెరీ, 1105 00:53:53,460 --> 00:53:56,880 మొదటి వద్ద పదము perplexing. 1106 00:53:56,880 --> 00:54:00,760 మీరు స్వచ్ఛమైన DOM కోడ్ తో చేయవచ్చు - ID ద్వారా document.getelement. 1107 00:54:00,760 --> 00:54:02,530 కానీ యొక్క ఈ వెర్షన్ పరిశీలించి వీలు. 1108 00:54:02,530 --> 00:54:05,110 నేను ముఖ్యమైన జంట పంక్తులు మొదటి. 1109 00:54:05,110 --> 00:54:09,460 కాబట్టి, మేము ఇది, ఈ లైన్ కలిగి మీరు చూసిన ఉండవచ్చు సమానంగా 1110 00:54:09,460 --> 00:54:13,830 నేను నమ్మకం, లో, form2.html వారం 9 లో తరగతి నుండి. 1111 00:54:13,830 --> 00:54:16,960 మరియు ఈ కేవలం అమలు, అని క్రింది కోడ్ ఉన్నప్పుడు 1112 00:54:16,960 --> 00:54:18,430 పత్రం సిద్ధంగా ఉంది. 1113 00:54:18,430 --> 00:54:21,770 ఈ ముఖ్యమైనవని మాత్రమే ఎందుకంటే HTML పేజీలకు టాప్ చదివే 1114 00:54:21,770 --> 00:54:23,280 ఎడమ దిగువ,. 1115 00:54:23,280 --> 00:54:27,910 >> కనుక, మీరు చేయడానికి ప్రయత్నిస్తే, కొన్ని DOM వరకు ఇక్కడ కోడ్ లో ఏదో 1116 00:54:27,910 --> 00:54:31,560 మూలకం, కొన్ని HTML ట్యాగ్, డౌన్ ఉంది ఇక్కడ, మీరు చాలా త్వరగా చేయుచున్నారు, 1117 00:54:31,560 --> 00:54:34,220 ఈ కూడా ఎందుకంటే మెమోరీలోకి జరిగింది. 1118 00:54:34,220 --> 00:54:37,740 కాబట్టి ఈ document.ready చెప్పి లైన్, మేము ఉన్నాము, 1119 00:54:37,740 --> 00:54:39,040 ఇక్కడ కొన్ని కోడ్, బ్రౌజర్. 1120 00:54:39,040 --> 00:54:42,440 కానీ మొత్తం వరకు ఈ అమలు లేదు పత్రం సిద్ధంగా ఉంది, ఆ DOM ఉంది 1121 00:54:42,440 --> 00:54:44,320 చెట్టు మెమరీ ఉంది. 1122 00:54:44,320 --> 00:54:47,110 ఈ ఒక కొద్దిగా ఎక్కువగా ఉంది పదము ఉంటే, సూటిగా 1123 00:54:47,110 --> 00:54:51,890 భిన్నమైనది, నేను చెప్పడం నేను పేరు, లాగు దీని ఏకైక HTML మూలకం 1124 00:54:51,890 --> 00:54:53,560 గుర్తింపు ఇన్పుట్లను ఉంది. 1125 00:54:53,560 --> 00:54:56,220 ఆ ఏమి హాష్ పేరే , ఏకైక ID సూచిస్తుంది. 1126 00:54:56,220 --> 00:54:58,070 ఆపై నేను కాల్ వెబ్. Submit. 1127 00:54:58,070 --> 00:55:01,660 >> కాబట్టి. ఇక్కడ submit ఒక ఫంక్షన్ లేకపోతే, ఉంది ఒక పద్ధతి అని అంటారు, ఆ 1128 00:55:01,660 --> 00:55:05,850 ఎడమ వైపు వస్తువు యొక్క లోపల నేను హైలైట్ లేదని అక్కడ వైపు. 1129 00:55:05,850 --> 00:55:08,990 మీరు ఒక వస్తువు వంటి ప్రవేశాంశాల భావిస్తున్నాను ఉంటే మెమరీలో - మరియు నిజానికి ఇది భావిస్తాడు. 1130 00:55:08,990 --> 00:55:10,440 ఇది ఒక చెట్టు ఒక నోడ్ - 1131 00:55:10,440 --> 00:55:16,580 . అంటే సమర్పించినప్పుడు ఈ రూపం ఈ ID సమర్పించిన, అమలు 1132 00:55:16,580 --> 00:55:17,700 క్రింది కోడ్. 1133 00:55:17,700 --> 00:55:20,290 నేను పట్టించుకోను ఏమి పేరు ఫంక్షన్ నేను అమలు వెబ్ ఉంది. 1134 00:55:20,290 --> 00:55:23,760 ఇక్కడ నేను ఏది, ముందు, ఉపయోగించి వెబ్ లాంబ్డా ఫంక్షన్ లేదా ఒక పిలుస్తారు 1135 00:55:23,760 --> 00:55:24,720 అజ్ఞాత ఫంక్షన్. 1136 00:55:24,720 --> 00:55:27,640 ఇది అన్ని వద్ద తెలివైన కాదు ఇది పేరు లేదు ఆసక్తికరమైన ఇతర కంటే, 1137 00:55:27,640 --> 00:55:30,220 మీరు మాత్రమే అయితే జరిమానా ఇది ఒకసారి కాల్ వెళుతున్న. 1138 00:55:30,220 --> 00:55:34,490 మరియు లోపల అక్కడ నిజానికి నిర్వహించడానికి రూపం సమర్పణ. 1139 00:55:34,490 --> 00:55:36,810 నేను మొదటి వేరియబుల్ విలువ అని. 1140 00:55:36,810 --> 00:55:40,610 మరియు ఈ ప్రభావం ఏమిటి ఇక్కడ భాగం ఇప్పుడు హైలైట్? 1141 00:55:40,610 --> 00:55:44,755 ఒక వద్ద ఏమి చేస్తుంది నాకు అధిక స్థాయి? 1142 00:55:44,755 --> 00:55:48,539 >> ప్రేక్షకులు: ఇది విలువ అందుతుంది అని యూజర్ క్రింద HTML లో కాదు. 1143 00:55:48,539 --> 00:55:50,920 ఇది ఆ ID పొంది ఇది విలువ తెలుసుకుంటాడు. 1144 00:55:50,920 --> 00:55:51,590 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 1145 00:55:51,590 --> 00:55:54,300 ఇది దీని ఏకైక, నోడ్ పనిచేయకుండా గుర్తింపు పేరు. 1146 00:55:54,300 --> 00:55:56,900 ఇది, దానిలో విలువ తీసుకుంటున్న ఉంది, బహుశా, ఏ యూజర్ 1147 00:55:56,900 --> 00:55:58,190 అతని లేదా ఆమె టైప్. 1148 00:55:58,190 --> 00:56:01,020 అది నిల్వ లో వేరియబుల్ విలువ అని. 1149 00:56:01,020 --> 00:56:03,720 ఒక పక్కన, మీరు కూడా కలిగి భిన్నంగా ఈ చిన్న చేసిన. 1150 00:56:03,720 --> 00:56:09,250 దానిని చేయడం ఆమోదయోగ్యం అబద్ధం var విలువను పొందుతాయి 1151 00:56:09,250 --> 00:56:10,500 document.getElementById. 1152 00:56:10,500 --> 00:56:12,860 1153 00:56:12,860 --> 00:56:15,460 ఇది కొద్దిగా వై మరియు ఈ ఉంది j క్వెరీ ఉపయోగించడానికి లేదు దుర్భరమైన. 1154 00:56:15,460 --> 00:56:16,710 "పేరు". విలువ. 1155 00:56:16,710 --> 00:56:18,330 1156 00:56:18,330 --> 00:56:19,620 కాబట్టి ఆమోదయోగ్యం. 1157 00:56:19,620 --> 00:56:22,770 దీన్ని రకాలుగా. j క్వెరీ కేవలం కొంచెం క్లుప్తమైన మరియు ఉంటుంది 1158 00:56:22,770 --> 00:56:25,230 ఖచ్చితంగా ఎక్కువ జనాదరణ ప్రోగ్రామర్ల మధ్య. 1159 00:56:25,230 --> 00:56:27,590 >> ఇప్పుడు, నేను ఒక తెలివి యొక్క ఒక బిట్ చేయడం వెబ్ ఎందుకంటే సమస్య లో, తనిఖీ 1160 00:56:27,590 --> 00:56:30,820 ప్రకటన మేము స్పష్టంగా చెప్పారు ఉంటే వినియోగదారు ఇంకా టైప్ అయితే అతని లేదా ఆమె 1161 00:56:30,820 --> 00:56:32,580 ఒక హెచ్చరికలు చూపవద్దు, పేరు. 1162 00:56:32,580 --> 00:56:35,390 కానీ మీరు ద్వారా, ఆ తనిఖీ చేయవచ్చు ఒక కోసం ఖాళీ స్ట్రింగ్ కోసం తనిఖీ 1163 00:56:35,390 --> 00:56:37,850 ఉంది ఉంటే కోట్-unquote వాస్తవానికి అక్కడ ఏమీ. 1164 00:56:37,850 --> 00:56:40,880 కానీ కోట్-unquote సమానం కాదు ఉంటే, నేను హెచ్చరికలు ప్రయోగించాను. 1165 00:56:40,880 --> 00:56:45,610 మరియు ఇక్కడ ఆసక్తికరమైన భాగం మేము, ప్లస్ ఆపరేటర్లు ఉపయోగిస్తున్నట్లయితే ఇది 1166 00:56:45,610 --> 00:56:48,130 జావాస్క్రిప్ట్ లో దేనిని? 1167 00:56:48,130 --> 00:56:48,740 Concatenate. 1168 00:56:48,740 --> 00:56:50,690 కనుక ఇది PHPs డాట్ ఆపరేటర్లు వంటిది. 1169 00:56:50,690 --> 00:56:52,820 అదే ఆలోచన, కొద్దిగా వివిధ సింటాక్స్. 1170 00:56:52,820 --> 00:56:55,280 మరియు నేను స్ట్రింగ్ సృష్టించడం నేను ఆ మీరు స్క్రీన్ షాట్ చూసిన - 1171 00:56:55,280 --> 00:56:57,750 హలో, అదే విధంగా. 1172 00:56:57,750 --> 00:56:59,200 >> మరియు తర్వాత గత వివరాలు ఈ ఉంది. 1173 00:56:59,200 --> 00:57:04,970 నేను తప్పుడు లోపల తిరిగి చెయ్యాలి ఈ తెలియని ఫంక్షన్? 1174 00:57:04,970 --> 00:57:07,420 >> ప్రేక్షకులు: విలువ ఉంది. 1175 00:57:07,420 --> 00:57:09,380 మీరు రూపంలో ఉంచారు. 1176 00:57:09,380 --> 00:57:12,320 1177 00:57:12,320 --> 00:57:16,730 విలువ కాదు ఉంటే ఇది కేవలం, చెప్పారు ఖాళీ సమానంగా, అప్పుడు అది. 1178 00:57:16,730 --> 00:57:20,040 1179 00:57:20,040 --> 00:57:20,940 ఆ సమర్పణ లో ఒక ఖాళీ ఉంది. 1180 00:57:20,940 --> 00:57:21,170 >> డేవిడ్ J. మలన్: సరే. 1181 00:57:21,170 --> 00:57:21,640 అయితే జాగ్రత్తగా. 1182 00:57:21,640 --> 00:57:22,830 ఇక్కడ ఎవరూ ఉంది. 1183 00:57:22,830 --> 00:57:25,510 మరియు ఆ తిరిగి తప్పుడు బయట ఉంది పరిస్థితులు ఉంటే. 1184 00:57:25,510 --> 00:57:29,470 కాబట్టి ఈ, తప్పుడు తిరిగి, లైన్ హైలైట్ ఎవైనా ఉన్నప్పుడు అమలు 1185 00:57:29,470 --> 00:57:32,310 సమర్పించిన. 1186 00:57:32,310 --> 00:57:36,810 ఈ తప్పుడు లోపల తిరిగి లేదు అది అని కార్యక్రమం నిర్వహణ, 1187 00:57:36,810 --> 00:57:38,450 ప్రశ్న లో ఈవెంట్ సమర్పణ ఉండటం? 1188 00:57:38,450 --> 00:57:42,350 1189 00:57:42,350 --> 00:57:44,470 >> ప్రేక్షకులు: ఎందుకంటే ఒక్కసారి మాత్రమే జరుగుతుంది. 1190 00:57:44,470 --> 00:57:45,320 >> డేవిడ్ J. మలన్: ఒక్కసారి మాత్రమే జరుగుతుంది. 1191 00:57:45,320 --> 00:57:46,821 కాదు. 1192 00:57:46,821 --> 00:57:47,292 అవును? 1193 00:57:47,292 --> 00:57:50,589 >> ప్రేక్షకులు: ఇది ఏర్పడేందుకు నిరోధిస్తుంది , డిఫాల్ట్ ప్రవర్తన సమర్పించడం 1194 00:57:50,589 --> 00:57:52,480 పేజీ రీలోడ్ చేసే. 1195 00:57:52,480 --> 00:57:53,110 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 1196 00:57:53,110 --> 00:57:56,490 నేను, పదం ఇక్కడ submit ఓవర్లోడింగ్ వెబ్ నేను చెప్పడం నేను ఎందుకంటే, రూపం 1197 00:57:56,490 --> 00:57:57,670 సమర్పించడం. 1198 00:57:57,670 --> 00:58:02,240 మీరు సూచించినట్లు కానీ, నిజానికి కాదు నిజమైన HTTP విధంగా సమర్పించబడింది. 1199 00:58:02,240 --> 00:58:06,870 మీరు ఎందుకంటే, సమర్పించండి క్లిక్ చేసినప్పుడు మా onSubmit నిర్వహణ, మేము అంతరాయం చేస్తున్నారు 1200 00:58:06,870 --> 00:58:09,040 ఆ రూపం సమర్పణ మాట్లాడటానికి. 1201 00:58:09,040 --> 00:58:11,290 మేము అప్పుడు మా పనిని చేస్తున్న జావాస్క్రిప్ట్ కోడ్ తో. 1202 00:58:11,290 --> 00:58:14,070 కానీ నేను ఉద్దేశపూర్వకంగా, తప్పుడు తిరిగి నేను నేను జరిగే అనుకుంటున్న ఎందుకంటే ఒక 1203 00:58:14,070 --> 00:58:18,430 స్ప్లిట్ సెకండ్ తరువాత మొత్తం రూపం కోసం ఉంది కూడా వెబ్ సమర్పించిన 1204 00:58:18,430 --> 00:58:22,800 మార్చడం ద్వారా కీ విలువ జతల తో సర్వర్ లాగ URL 1205 00:58:22,800 --> 00:58:26,180 q = పిల్లులు లేదా ఎలాగైనా మేము, ఉదాహరణకు, తరగతి లో. 1206 00:58:26,180 --> 00:58:29,640 నేను, జరిగే ఆ వద్దు ఎందుకంటే తరాలకి సర్వర్ వినే ఉంది 1207 00:58:29,640 --> 00:58:30,690 సమర్పణ ఏర్పాటు. 1208 00:58:30,690 --> 00:58:32,320 ఇది పూర్తిగా జావాస్క్రిప్ట్ కోడ్ చేసిన. 1209 00:58:32,320 --> 00:58:35,760 నేను కూడా లేదు ఎందుకు మరియు ఆ ఒక చర్య, నా రూపం న లక్షణం ఎందుకంటే నేను 1210 00:58:35,760 --> 00:58:38,870 ఈ కోసం అనుకోకుంటే ఎప్పుడూ సర్వర్ వెళ్ళండి. 1211 00:58:38,870 --> 00:58:40,780 >> కనుక ఇది సమర్పించిన చేయబడిన. 1212 00:58:40,780 --> 00:58:44,340 కానీ మేము ఆ రూపం అంతరాయం చేస్తున్నారు సమర్పణ సిద్ధ నివారించడం 1213 00:58:44,340 --> 00:58:47,477 వాస్తవానికి ఇది ప్రవర్తన, అన్ని మార్గం సర్వర్ వెళ్ళండి. 1214 00:58:47,477 --> 00:58:48,730 >> ప్రేక్షకులు: ఇది క్లైంట్ వైపు ఉంచడం. 1215 00:58:48,730 --> 00:58:49,780 >> డేవిడ్ J. మలన్: కీపింగ్ ఇది క్లైంట్ వైపు. 1216 00:58:49,780 --> 00:58:51,030 సరిగ్గా కుడి. 1217 00:58:51,030 --> 00:58:53,240 1218 00:58:53,240 --> 00:58:55,757 తర్వాత MySQL ఓహ్ మై ఉంది. 1219 00:58:55,757 --> 00:59:00,000 1220 00:59:00,000 --> 00:59:00,430 >> రాబ్ బౌడెన్: OK. 1221 00:59:00,430 --> 00:59:04,990 కాబట్టి ఈ మొదటి ప్రశ్న సాధారణంగా ఉంది ప్రజలకు కఠినమైన. 1222 00:59:04,990 --> 00:59:07,270 తరువాత వాటిని మంచి దక్కాయి. 1223 00:59:07,270 --> 00:59:12,260 కాబట్టి మీరు సరైన డేటా ఎంచుకోండి వచ్చింది ఈ వ్యాసాల రెండు కోసం రకాల. 1224 00:59:12,260 --> 00:59:17,750 మరియు ఈ రెండు కొన్ని వాటిని గురించి విషయాలు 1225 00:59:17,750 --> 00:59:20,620 ఎంపిక కష్టతరం. 1226 00:59:20,620 --> 00:59:24,430 కాబట్టి Int ఒక చెల్లదు సంఖ్య కోసం టైప్. 1227 00:59:24,430 --> 00:59:29,410 ఒక 12 అంకెల ఖాతా ఉండటం కారణం సంఖ్య, ఒక Int తగినంత పెద్ద కాదు 1228 00:59:29,410 --> 00:59:31,070 మొత్తం అంకెలు నిల్వ. 1229 00:59:31,070 --> 00:59:36,570 కాబట్టి ఒక చెల్లుబాటు అయ్యే ఎంపిక ఒక పెద్ద ఉండేది మీరు ఆ తెలిసిన జరిగితే Int. 1230 00:59:36,570 --> 00:59:42,090 మరొక ఎంపిక ఉండేవి పొడవు 12 ఒక చార్ రంగంలో. 1231 00:59:42,090 --> 00:59:44,560 కాబట్టి వారిలో గాని పని ఉండేది. 1232 00:59:44,560 --> 00:59:46,100 Int కాదు. 1233 00:59:46,100 --> 00:59:50,170 >> ఇప్పుడు, సంతులనం, తిరిగి pset7 అనుకుంటున్నాను. 1234 00:59:50,170 --> 00:59:59,540 కాబట్టి మేము ప్రత్యేకంగా దశాంశ ఉపయోగిస్తారు షేర్లు లేదా విలువ నిల్వ - 1235 00:59:59,540 --> 01:00:00,550 >> డేవిడ్ J. మలన్: నగదు. 1236 01:00:00,550 --> 01:00:01,060 >> రాబ్ బౌడెన్: నగదు. 1237 01:00:01,060 --> 01:00:05,710 మేము మొత్తం నిల్వ దశాంశ ఉపయోగిస్తారు యూజర్ ప్రస్తుతం నగదు. 1238 01:00:05,710 --> 01:00:10,950 కాబట్టి మేము అలా కారణం , గుర్తు ఎందుకంటే తేలుతుంది. 1239 01:00:10,950 --> 01:00:12,480 నిర్దిష్టత ఫ్లోటింగ్ పాయింట్ ఉంది. 1240 01:00:12,480 --> 01:00:18,200 ఇది ఖచ్చితంగా నగదు నిల్వ కాదు మేము వంటి విలువలు కావలసిన. 1241 01:00:18,200 --> 01:00:23,630 కాబట్టి దశాంశ ఖచ్చితంగా స్టోర్ చేయవచ్చు , చెప్పటానికి ఏదైనా, రెండు దశాంశ స్థానాలు. 1242 01:00:23,630 --> 01:00:27,630 సంతులనం, మేము అది ఎందుకు ఆ వార్తలు ఫ్లోట్ దశాంశ మరియు ఉండాలి. 1243 01:00:27,630 --> 01:00:30,230 >> డేవిడ్ J. మలన్: మరియు, చాలా, అయితే ఇది ఇతర లో తెలివైన ఉండవచ్చు 1244 01:00:30,230 --> 01:00:32,760 ఆలోచించడం సందర్భాలలో, బహుశా ఈ ఒక Int కోసం ఒక అవకాశం ఉంది. 1245 01:00:32,760 --> 01:00:34,420 నేను ట్రాక్ చేస్తాము నాణేలు విషయాలు. 1246 01:00:34,420 --> 01:00:38,670 మేము స్పష్టంగా డిఫాల్ట్ చూపించాడు ఎందుకంటే , 100.00 ఉండటం విలువ ఆ 1247 01:00:38,670 --> 01:00:40,380 ఇది కేవలం ఒక పూర్ణాంకానికి ఉంటుంది అర్థం. 1248 01:00:40,380 --> 01:00:45,310 మరియు చాలా సంఖ్యలో మరొక సూక్ష్మభేదం ఇది ఉద్దేశించబడింది అని ఉంది 1249 01:00:45,310 --> 01:00:46,180 ఒక ట్రిక్ ప్రశ్న. 1250 01:00:46,180 --> 01:00:49,860 కానీ గుర్తు ఆ MySQL లో ఒక Int, వంటి C, కనీసం లో 1251 01:00:49,860 --> 01:00:51,440 ఉపకరణం, 32-bit ఉంది. 1252 01:00:51,440 --> 01:00:53,960 మరియు మేము మీరు ఊహించిన లేదు అయినప్పటికీ ఉంటే ఖచ్చితంగా ఎన్ని అంకెలు ఆ 1253 01:00:53,960 --> 01:00:56,910 అంటే, గుర్తు ఆ సంఖ్యలో మీరు శక్తివంతంగా సూచిస్తుంది 1254 01:00:56,910 --> 01:01:00,710 ఒక 32-bit సంఖ్య సుమారుగా ఏమిటి? 1255 01:01:00,710 --> 01:01:02,760 >> మేము ఎల్లప్పుడూ ఏమి సంఖ్య చెబుతారు? 1256 01:01:02,760 --> 01:01:04,530 2 సుమారు ఏమిటి, 32? 1257 01:01:04,530 --> 01:01:07,492 1258 01:01:07,492 --> 01:01:08,780 మీరు ఖచ్చితంగా తెలుసు లేదు. 1259 01:01:08,780 --> 01:01:10,580 కానీ సుమారు జీవితంలో ఉపయోగకరంగా ఉంటుంది. 1260 01:01:10,580 --> 01:01:12,200 ఇది సుమారు 4 బిలియన్ ఉంది. 1261 01:01:12,200 --> 01:01:14,430 కాబట్టి మేము కొన్ని సార్లు చెప్పారు చేసిన. 1262 01:01:14,430 --> 01:01:16,360 నేను తెలుసు నేను కొన్ని సార్లు చెప్పారు. 1263 01:01:16,360 --> 01:01:17,670 మరియు అది సుమారు 4 బిలియన్. 1264 01:01:17,670 --> 01:01:19,710 మరియు ఒక మంచి పాలన బండ తెలుసు. 1265 01:01:19,710 --> 01:01:21,880 మీరు 8 బిట్స్, 256 ఉంటే మేజిక్ సంఖ్య. 1266 01:01:21,880 --> 01:01:24,160 మీరు 32 బిట్స్, 4 ఉంటే బిలియన్ ఇవ్వడం లేదా. 1267 01:01:24,160 --> 01:01:27,140 కాబట్టి మీరు డౌన్ 4 బిలియన్ వ్రాస్తే, మీరు కంటే తక్కువ అంకెలు చూస్తారు 1268 01:01:27,140 --> 01:01:30,970 ఆ స్పష్టంగా కాదు అంటే 12, పట్టుకోవటానికి తగినంత వ్యక్తీకరణ ఒక 1269 01:01:30,970 --> 01:01:34,220 12 అంకెల ఖాతా సంఖ్య. 1270 01:01:34,220 --> 01:01:34,940 >> రాబ్ బౌడెన్: OK. 1271 01:01:34,940 --> 01:01:38,520 కాబట్టి ఇతర వాటిని తీసుకోలేకపోయారు. 1272 01:01:38,520 --> 01:01:40,900 కాబట్టి ఆ బ్యాంకు ఒక $ 20 నెలవారీ విధిస్తుంది 1273 01:01:40,900 --> 01:01:42,400 అన్ని ఖాతాలు నిర్వహణ రుసుము. 1274 01:01:42,400 --> 01:01:45,506 ఏ SQL ప్రశ్న అని బ్యాంకు తో కూడా, ప్రతి కౌంట్ $ 20 తీసివేయు 1275 01:01:45,506 --> 01:01:47,520 ఇది కొన్ని ప్రతికూల నిల్వలను ఫలితాలు? 1276 01:01:47,520 --> 01:01:50,380 కాబట్టి ప్రాథమికంగా, నాలుగు ఉన్నాయి ప్రశ్నలు యొక్క ప్రధాన రకాల - 1277 01:01:50,380 --> 01:01:52,840 , ఇన్సర్ట్ ఎంచుకోండి, నవీకరించండి మరియు తొలగించండి. 1278 01:01:52,840 --> 01:01:56,080 కనుక మేము ఏమి ఆలోచిస్తాడు ఇక్కడ ఉపయోగించడానికి వెళుతున్న? 1279 01:01:56,080 --> 01:01:57,000 నవీకరించండి. 1280 01:01:57,000 --> 01:01:58,260 >> కాబట్టి యొక్క పరిశీలించి అనుమతిస్తుంది. 1281 01:01:58,260 --> 01:02:04,290 1282 01:02:04,290 --> 01:02:05,870 కాబట్టి ఇక్కడ అప్ డేట్ చేస్తున్నాము. 1283 01:02:05,870 --> 01:02:09,900 ఏ పట్టిక మేము ఖాతాల నవీకరిస్తున్నాము? 1284 01:02:09,900 --> 01:02:11,670 కాబట్టి ఖాతాల నవీకరించుటకు. 1285 01:02:11,670 --> 01:02:15,390 ఆపై వాక్యనిర్మాణం, చెప్పే ఖాతాల లో మేము నవీకరిస్తున్నాము? 1286 01:02:15,390 --> 01:02:19,520 Well, మేము సమానంగా సంతులనం సెట్ సంతులనం మైనస్ 20 యొక్క ప్రస్తుత విలువ. 1287 01:02:19,520 --> 01:02:22,860 కాబట్టి ఈ అన్ని వరుసలు అప్ డేట్ ఖాతాల, తీసివేయడం 1288 01:02:22,860 --> 01:02:26,250 సంతులనం నుండి $ 20. 1289 01:02:26,250 --> 01:02:29,260 >> డేవిడ్ J. మలన్: ఇక్కడ ఒక సాధారణ తప్పు, మేము కొన్నిసార్లు క్షమించినది అయినప్పటికీ, 1290 01:02:29,260 --> 01:02:32,990 నిజానికి ఇక్కడ PHP కోడ్ కలిగి ఉంది ప్రశ్న ఫంక్షన్ కాల్ లేదా ఉంచడం 1291 01:02:32,990 --> 01:02:35,460 ప్రతిదీ చుట్టూ కోట్ అని అక్కడ అవసరం లేదు. 1292 01:02:35,460 --> 01:02:39,780 >> రాబ్ బౌడెన్: MySQL అని గుర్తుంచుకోండి PHP నుండి ఒక ప్రత్యేక భాష. 1293 01:02:39,780 --> 01:02:42,410 మేము PHP లో MySQL రాయడం ఏం. 1294 01:02:42,410 --> 01:02:46,180 మరియు PHP అది పంపుతోంది MySQL సర్వర్ కు. 1295 01:02:46,180 --> 01:02:51,120 క్రమంలో కానీ మీరు PHP అవసరం లేదు ఒక MySQL సర్వర్ కమ్యూనికేట్. 1296 01:02:51,120 --> 01:02:51,730 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 1297 01:02:51,730 --> 01:02:54,240 డాలర్ సంకేతాలను ఏ వేరియబుల్స్ కాబట్టి ఈ సందర్భంలో ఉండాలి. 1298 01:02:54,240 --> 01:02:59,550 ఇది కేవలం గణిత అన్ని చేయవచ్చు డేటాబేస్ లోపలే. 1299 01:02:59,550 --> 01:03:00,080 >> రాబ్ బౌడెన్: OK. 1300 01:03:00,080 --> 01:03:01,300 కాబట్టి తదుపరి. 1301 01:03:01,300 --> 01:03:02,731 ఈ తదుపరి ఏమిటి? 1302 01:03:02,731 --> 01:03:03,210 అవును. 1303 01:03:03,210 --> 01:03:06,570 ఏ SQL ప్రశ్న అని బ్యాంకు తో కాబట్టి దాని యొక్క ఖాతా సంఖ్యలు తిరిగి 1304 01:03:06,570 --> 01:03:09,300 ధనిక వినియోగదారులకు, తో ఆ 1,000 కంటే ఎక్కువ నిల్వలు? 1305 01:03:09,300 --> 01:03:13,280 అందువలన నాలుగు ప్రధాన రకాల ఇది మేము ఇక్కడ ఇస్తున్నాయి? 1306 01:03:13,280 --> 01:03:14,430 ఎంచుకోండి. 1307 01:03:14,430 --> 01:03:16,650 కాబట్టి మేము ఎంచుకోండి. 1308 01:03:16,650 --> 01:03:17,610 మనం ఎంచుకోండి అనుకుంటున్నారు? 1309 01:03:17,610 --> 01:03:19,380 మేము ఎంచుకోండి ఏమి కాలమ్ అనుకుంటున్నారు? 1310 01:03:19,380 --> 01:03:20,970 మేము ప్రత్యేకంగా కనిపిస్తుంది సంఖ్య ఎంచుకోండి. 1311 01:03:20,970 --> 01:03:23,910 కానీ మీరు స్టార్, మేము చెప్పారు ఉంటే కూడా అంగీకరించారు. 1312 01:03:23,910 --> 01:03:25,820 >> కాబట్టి ఏమి పట్టిక నుండి సంఖ్య ఎంచుకోండి? 1313 01:03:25,820 --> 01:03:26,640 అకౌంట్స్. 1314 01:03:26,640 --> 01:03:28,370 మరియు తర్వాత మేము పరిస్థితి కావలసిన? 1315 01:03:28,370 --> 01:03:30,140 ఎక్కడ 1,000 కంటే ఎక్కువ సంతులనం. 1316 01:03:30,140 --> 01:03:31,720 మేము కూడా ఎక్కువ అంగీకరించారు ఎక్కువ లేదా సమానం. 1317 01:03:31,720 --> 01:03:35,230 1318 01:03:35,230 --> 01:03:36,190 చివరి. 1319 01:03:36,190 --> 01:03:42,940 ఏ SQL ప్రశ్న అని బ్యాంకు తో దగ్గరగా, అనగా, ప్రతి ఖాతా తొలగించమని 1320 01:03:42,940 --> 01:03:44,480 $ 0 సమతౌల్యం ఉంది? 1321 01:03:44,480 --> 01:03:47,620 కాబట్టి నాలుగు ఇది మేము ఉంటాయి ఉపయోగించడానికి అన్నారు? 1322 01:03:47,620 --> 01:03:48,320 తొలగించు. 1323 01:03:48,320 --> 01:03:50,180 కాబట్టి ఆ కోసం వాక్యనిర్మాణం? 1324 01:03:50,180 --> 01:03:51,890 ఏమి పట్టిక నుండి తొలగించు? 1325 01:03:51,890 --> 01:03:53,550 అకౌంట్స్. 1326 01:03:53,550 --> 01:03:55,790 మరియు అప్పుడు పరిస్థితి ఇది మేము తొలగించాలనుకుంటున్నారా - 1327 01:03:55,790 --> 01:03:57,280 సంతులనం సున్నా సమానం. 1328 01:03:57,280 --> 01:04:03,050 కాబట్టి ఖాతాల నుండి అన్ని వరుసలను తొలగించడానికి సంతులనం సున్నా పేరు. 1329 01:04:03,050 --> 01:04:04,300 ఈ ఏ ప్రశ్నలకు? 1330 01:04:04,300 --> 01:04:08,840 1331 01:04:08,840 --> 01:04:10,260 క్యూ చేయాలనుకుంటున్నారా? 1332 01:04:10,260 --> 01:04:11,200 >> డేవిడ్ J. మలన్: క్యూ గైడ్. 1333 01:04:11,200 --> 01:04:17,110 కాబట్టి ఈ ఒక, మేము మీరు కొంత ఇచ్చింది మేము ఒక అన్వేషించారు అని తెలిసిన నిర్మాణాన్ని 1334 01:04:17,110 --> 01:04:20,450 structs కలిసి తరగతి బిట్, ఒక డేటా ఇది 1335 01:04:20,450 --> 01:04:21,910 ఆత్మ లో సంబంధిత నిర్మాణం. 1336 01:04:21,910 --> 01:04:24,670 ఒక క్యూ తో అయితే తేడా ఉంది మేము ఏదో గుర్తు వచ్చింది ఎవరు 1337 01:04:24,670 --> 01:04:27,900 పెద్ద, క్యూ ముందు ఉంది మేము మరిన్ని వాటికి భాగంగా కాబట్టి 1338 01:04:27,900 --> 01:04:30,530 మెమరీ సమర్థవంతంగా ఉపయోగించడానికి, కనీసం మేము వ్యూహం ఉపయోగించి ఉంటే. 1339 01:04:30,530 --> 01:04:35,460 >> ఎందుకంటే రీకాల్, మేము వ్యూహం ఉంటే, ఉంటే, ఉదాహరణకు, ఈ ముందు ఉంది 1340 01:04:35,460 --> 01:04:38,470 క్యూ, నేను ఇక్కడ క్యూ లోకి వస్తే, ఆపై ఎవరైనా లైన్ లో గెట్స్ 1341 01:04:38,470 --> 01:04:42,710 నాకు వెనుక నాకు వెనుక నాకు,,, మరియు వెనుక ఒక వ్యక్తి బయటికి వేసింది, మీరు 1342 01:04:42,710 --> 01:04:45,930 అని, మేము మా మానవ కొందరు వంటి తరగతి వాలంటీర్లు, ప్రతి ఒక్కరూ కలిగి 1343 01:04:45,930 --> 01:04:47,100 ఈ విధంగా మారవచ్చు. 1344 01:04:47,100 --> 01:04:50,880 కానీ సాధారణంగా, ఒక్కరికీ కలిగి ఏదో సమయంలో ఉపయోగించడం లేదు 1345 01:04:50,880 --> 01:04:54,600 ఒక కార్యక్రమంలో, ఎందుకంటే అది మీ అల్గోరిథం ఏమిటి అమలవుతోంది 1346 01:04:54,600 --> 01:04:56,520 asymptotic నడుస్తున్న సమయం? 1347 01:04:56,520 --> 01:04:57,420 ఇది సరళ ఉంది. 1348 01:04:57,420 --> 01:04:59,600 >> ఆ రకమైన స్టుపిడ్ వంటి మరియు నేను భావిస్తున్నాను. 1349 01:04:59,600 --> 01:05:02,890 లైన్ లో తదుపరి వ్యక్తికి తదుపరి ఉంటే వెళ్ళాలని కోరుకుంటున్నాము వ్యక్తి 1350 01:05:02,890 --> 01:05:04,660 స్టోర్, వారు అన్ని లేదు కలిసి తరలించడానికి. 1351 01:05:04,660 --> 01:05:08,200 ఆ వ్యక్తి పెరికి లెట్ సమయం ఉదాహరణకు, వస్తే. 1352 01:05:08,200 --> 01:05:09,870 కాబట్టి మేము అక్కడ సమయం బిట్ సేవ్ చేయవచ్చు. 1353 01:05:09,870 --> 01:05:14,840 మరియు అలా అయితే, సాధనాలు ఆ క్యూ యొక్క తల లేదా 1354 01:05:14,840 --> 01:05:18,060 క్యూ ముందు అన్నారు క్రమక్రమంగా లోతుగా మరియు లోతైన తరలించడానికి 1355 01:05:18,060 --> 01:05:23,340 శ్రేణి మరియు చివరికి వాటిని మేము ఒక ఉపయోగిస్తున్నట్లయితే నిజానికి చుట్టూ 1356 01:05:23,340 --> 01:05:25,790 ప్రజలు నిల్వ శ్రేణి ఈ క్యూ లో. 1357 01:05:25,790 --> 01:05:28,390 కాబట్టి మీరు దాదాపు ఆలోచించవచ్చు ఒక వృత్తాకార డేటా వంటి శ్రేణి 1358 01:05:28,390 --> 01:05:29,880 కోణంలో నిర్మాణం. 1359 01:05:29,880 --> 01:05:33,970 >> కాబట్టి మీరు, ఏదో ట్రాక్ ఉంటుంది ఇది యొక్క పరిమాణం లేదా దాని నిజంగా ముగింపు 1360 01:05:33,970 --> 01:05:36,250 ఆపై ఇది ప్రారంభంలో ఉన్న. 1361 01:05:36,250 --> 01:05:39,490 కాబట్టి మేము మీరు డిక్లేర్ ప్రతిపాదించారు అలాంటి క్యూ, కాలింగ్ 1362 01:05:39,490 --> 01:05:41,330 ఇది q, కేవలం ఒక లేఖ. 1363 01:05:41,330 --> 01:05:44,570 అప్పుడు మేము ముందు ఉంటుంది ప్రతిపాదించారు సున్నా మరియు initialized పరిమాణం 1364 01:05:44,570 --> 01:05:45,470 సున్నా కు initialized అవుతుంది. 1365 01:05:45,470 --> 01:05:47,770 >> కాబట్టి ప్రస్తుతం, ఏమీ లేదు ఆ క్యూ లోపల. 1366 01:05:47,770 --> 01:05:50,910 మరియు మేము పూర్తి మీరు అడగవచ్చు క్రింద ఎన్క్యూ అమలు 1367 01:05:50,910 --> 01:05:55,250 కు n జోడించే విధంగా అయితే q ముగింపు మరియు నిజమైన తిరిగి. 1368 01:05:55,250 --> 01:05:58,690 కానీ q పూర్తి లేదా ప్రతికూల ఉంటే, ఫంక్షన్ బదులుగా తప్పుడు తిరిగి. 1369 01:05:58,690 --> 01:06:01,060 మరియు మేము మీరు ఒక జంట ఇచ్చింది ఊహల. 1370 01:06:01,060 --> 01:06:04,320 కానీ వారు నిజంగా క్రియాశీలంగా లేదు సంబంధిత, ఆ bool, ఉంది 1371 01:06:04,320 --> 01:06:06,690 సాంకేతికంగా, bool లేదు, ఎందుకంటే మీరు ఉన్నాయి తప్ప C ఉన్నాయి ఒక 1372 01:06:06,690 --> 01:06:07,310 కొన్ని శీర్షికా ఫైలును. 1373 01:06:07,310 --> 01:06:09,350 అందువలన నిర్ధారించుకోండి చేశారు ఏ ఈ ఒక ట్రిక్ ఉంది చేశారు 1374 01:06:09,350 --> 01:06:10,940 విషయం ప్రశ్న రకమైన. 1375 01:06:10,940 --> 01:06:16,280 >> కాబట్టి ఎన్క్యూ మేము నమూనా లో ప్రతిపాదిత క్రింది పరిష్కారాలను అమలు చేయడానికి. 1376 01:06:16,280 --> 01:06:20,420 ఒక, మేము మొదటి సులభంగా తనిఖీ, తక్కువ ఉరి పండ్లు. 1377 01:06:20,420 --> 01:06:23,820 క్యూ పూర్తి లేదా సంఖ్య ఉంటే ఆ మీరు ఇన్సర్ట్ ప్రయత్నిస్తున్న తక్కువ ఉంది 1378 01:06:23,820 --> 01:06:26,380 మేము లో చెప్పాడు సున్నా కంటే సమస్య యొక్క వివరణ ఉండాలి 1379 01:06:26,380 --> 01:06:30,320 మేము మాత్రమే మీరు ఎందుకంటే, అనుమతించాలి కాని ప్రతికూల విలువలు, అప్పుడు మీరు తప్పక 1380 01:06:30,320 --> 01:06:31,640 కేవలం వెంటనే తప్పుడు తిరిగి. 1381 01:06:31,640 --> 01:06:33,820 కాబట్టి కొన్ని చాలా సులభం దోష. 1382 01:06:33,820 --> 01:06:38,720 మీరు నిజమైన జోడించాలనుకుంటే అయితే ఉంటే సంఖ్య, మీరు ఒక బిట్ చేయాలని 1383 01:06:38,720 --> 01:06:39,440 ఇక్కడ ఆలోచిస్తూ. 1384 01:06:39,440 --> 01:06:41,330 ఇది ఒక చిన్న బాధించే ఎక్కడ ఉంది మానసికంగా, మీకు ఎందుకంటే 1385 01:06:41,330 --> 01:06:43,000 చుట్టబెట్టిన నిర్వహించడానికి ఎలా గుర్తించడానికి. 1386 01:06:43,000 --> 01:06:46,870 >> కానీ ఆలోచన యొక్క బీజ ఇక్కడ ఆ వార్తలు మాకు ఆసక్తి అని చుట్టబెట్టిన ఉంది 1387 01:06:46,870 --> 01:06:51,480 తరచుగా ప్రామాణిక అంక గణితం సూచిస్తుంది మరియు mod ఆపరేటర్లు, శాతం వైపు, 1388 01:06:51,480 --> 01:06:55,140 మీరు ఒక పెద్ద విలువ నుండి వెళ్ళే పేరు తిరిగి సున్నాకి ఆపై ఒక మరియు రెండు మరియు 1389 01:06:55,140 --> 01:06:58,650 మూడు మరియు తరువాత చుట్టూ తిరిగి సున్నాకు, ఒక మరియు రెండు మొదలగునవి మూడు మరియు 1390 01:06:58,650 --> 01:06:59,380 మళ్లీ మళ్లీ. 1391 01:06:59,380 --> 01:07:02,880 కాబట్టి మేము ఈ చేయడం కూడానా మార్గం మేము సూచిక అనుకుంటున్నారు అని 1392 01:07:02,880 --> 01:07:05,850 సంఖ్యలను అని శ్రేణి మా పూర్ణాంకాల ఉంటాయి. 1393 01:07:05,850 --> 01:07:10,740 కానీ అక్కడ పొందడానికి, మేము మొదటి చేయాలనుకుంటున్నారా క్యూ యొక్క పరిమాణం కానీ ఏమైనా 1394 01:07:10,740 --> 01:07:14,080 ఆ జోడించండి సంసార జాబితా ముందు ఉంది. 1395 01:07:14,080 --> 01:07:17,880 మరియు ఆ ప్రభావం మాకు ఉంచాలి కుడి క్యూలో స్థానం మరియు 1396 01:07:17,880 --> 01:07:20,970 భావించండి ఆ లైన్ లో మొదటి వ్యక్తి ప్రారంభంలో ఉంది, ఇది అతను లేదా 1397 01:07:20,970 --> 01:07:24,130 ఆమె పూర్తిగా కావచ్చు ఉంటే మేము ప్రతి ఒక్కరూ బదిలీ చేశారు. 1398 01:07:24,130 --> 01:07:26,710 కానీ మేము కేవలం పని సృష్టిస్తున్నారు మేమే కోసం మేము చేపడితే 1399 01:07:26,710 --> 01:07:27,800 నిర్దిష్ట మార్గం. 1400 01:07:27,800 --> 01:07:29,330 >> కాబట్టి మేము సులభమైన ఉంచుకోవచ్చు. 1401 01:07:29,330 --> 01:07:32,180 మేము గుర్తు లేదని మేము క్యూ ఒక పూర్ణాంకానికి జోడించారు. 1402 01:07:32,180 --> 01:07:35,850 మరియు తర్వాత మేము నిజమైన తిరిగి. 1403 01:07:35,850 --> 01:07:38,560 ఇంతలో, dequeue లో, మేము అడిగిన మీరు క్రింది చేయడానికి. 1404 01:07:38,560 --> 01:07:42,260 విధంగా అది అమలు అది dequeues, ఆ, తొలగిస్తుంది మరియు తిరిగి 1405 01:07:42,260 --> 01:07:44,190 క్యూ ముందు పూర్ణాంకానికి. 1406 01:07:44,190 --> 01:07:46,410 పూర్ణాంకానికి తొలగించేందుకు, అది సంతృప్తి పరుస్తుంది మరిచిపోయేందుకు. 1407 01:07:46,410 --> 01:07:47,650 మీరు దాని బిట్ భర్తీ అవసరం లేదు. 1408 01:07:47,650 --> 01:07:48,820 కాబట్టి ఇది నిజానికి ఇప్పటికీ. 1409 01:07:48,820 --> 01:07:51,930 కేవలం ఒక హార్డు డ్రైవు డేటా వంటి, మేము నిజానికి విస్మరించలేరు 1410 01:07:51,930 --> 01:07:52,970 అది ఇప్పుడు అని. 1411 01:07:52,970 --> 01:07:55,520 Q ఖాళీగా ఉంటే, మేము తప్పక బదులుగా ప్రతికూల 1 తిరిగి. 1412 01:07:55,520 --> 01:07:56,750 కాబట్టి ఈ ఏకపక్ష భావించే. 1413 01:07:56,750 --> 01:08:01,640 ఎందుకు ప్రతికూల 1 తిరిగి బదులుగా ఫాల్స్? 1414 01:08:01,640 --> 01:08:02,620 అవును. 1415 01:08:02,620 --> 01:08:05,070 >> ప్రేక్షకులు: Q నిల్వ విలువలను. 1416 01:08:05,070 --> 01:08:10,950 మీరు మాత్రమే విలువలను నిల్వ నుండి q లో, ప్రతికూల పొరపాటని. 1417 01:08:10,950 --> 01:08:11,510 >> డేవిడ్ J. మలన్: సరే, నిజమైన. 1418 01:08:11,510 --> 01:08:14,850 మేము కేవలం అనుకూల నిల్వ చేస్తున్నారు కాబట్టి ఎందుకంటే విలువలు లేదా సున్నా, అది మంచిది 1419 01:08:14,850 --> 01:08:18,050 ఒక సెంటినెల్ వంటి ప్రతికూల విలువ తిరిగి విలువ, ఒక ప్రత్యేక చిహ్నం. 1420 01:08:18,050 --> 01:08:21,630 కానీ మీరు, అక్కడ చరిత్ర మళ్లీ చేస్తున్నారు ఎందుకంటే మేము ఉన్నాము కారణం 1421 01:08:21,630 --> 01:08:25,890 కాని ప్రతికూల విలువలు తిరిగి మేము కావలసిన ఎందుకంటే ఉంది 1422 01:08:25,890 --> 01:08:27,670 ఒక సెంటినెల్ విలువ ఉంటుంది. 1423 01:08:27,670 --> 01:08:32,617 కాబట్టి ప్రత్యేకంగా, ఎందుకు కేవలం లోపాలు సందర్భాల్లో తప్పుడు తిరిగి? 1424 01:08:32,617 --> 01:08:33,099 అవును. 1425 01:08:33,099 --> 01:08:35,510 >> ప్రేక్షకులు: మీరు విఫలమైంది చేసిన పూర్ణాంకం తిరిగి. 1426 01:08:35,510 --> 01:08:36,630 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 1427 01:08:36,630 --> 01:08:38,569 సి గెట్స్ ఎక్కడ ఉంది అందంగా నిరోధించడానికి. 1428 01:08:38,569 --> 01:08:40,590 మీరు చూడాలని చెప్పడం ఉంటే ఒక పూర్ణాంకానికి తిరిగి, మీరు పొందారు 1429 01:08:40,590 --> 01:08:41,279 ఒక పూర్ణాంకానికి తిరిగి. 1430 01:08:41,279 --> 01:08:43,689 మీరు ఫాన్సీ పొందండి మరియు తిరిగి ప్రారంభం కాదు ఒక bool లేదా ఫ్లోట్ లేదా ఒక 1431 01:08:43,689 --> 01:08:45,040 స్ట్రింగ్ లేదా అలాంటిదే. 1432 01:08:45,040 --> 01:08:49,370 ఇప్పుడు, మరోవైపు, JavaScript మరియు PHP మరియు ఇతర భాషలు చెయ్యవచ్చు, నిజానికి, 1433 01:08:49,370 --> 01:08:51,310 మీరు వివిధ తిరిగి చేశారు విలువలు రకాల. 1434 01:08:51,310 --> 01:08:54,819 మరియు ఆ నిజానికి, ఉపయోగపడుతుంది మీరు అనుకూల ints, సున్నాలు తిరిగి, 1435 01:08:54,819 --> 01:08:59,439 ప్రతికూల ints, లేదా తప్పుడు లేదా శూన్య కూడా లోపం అర్థంతో. 1436 01:08:59,439 --> 01:09:01,890 కానీ మేము లేని సి లో పాండిత్యము 1437 01:09:01,890 --> 01:09:04,569 >> కాబట్టి dequeue తో, మేము ఉంది చేయడానికి ప్రతిపాదించారు - 1438 01:09:04,569 --> 01:09:07,350 1439 01:09:07,350 --> 01:09:09,830 >> రాబ్ బౌడెన్: మీరు తప్పుడు తిరిగి రావచ్చు. 1440 01:09:09,830 --> 01:09:13,189 ఇది హాష్ ఆ తప్పుడు పత్రిక సున్నాకి తప్పుడు వివరిస్తాయి. 1441 01:09:13,189 --> 01:09:16,000 కాబట్టి మీరు తిరిగి తప్పుడు ఉంటే, మీరు సున్నా తిరిగి చేస్తున్నారు. 1442 01:09:16,000 --> 01:09:25,470 మరియు సున్నా మా క్యూ లో ఒక చెల్లుబాటు అయ్యే విషయం ప్రతికూల 1 మాత్రం కాదు ఉంటే 1443 01:09:25,470 --> 01:09:27,000 తప్పుడు ప్రతికూల 1 సంభవించింది. 1444 01:09:27,000 --> 01:09:29,972 కానీ మీరు కూడా కాదు అని తెలుసుకోవాలి. 1445 01:09:29,972 --> 01:09:32,399 >> డేవిడ్ J. మలన్: పేర్కొంది ఎందుకు నేను అనలేదు. 1446 01:09:32,399 --> 01:09:36,450 >> రాబ్ బౌడెన్: కానీ ఇది నిజమైన కాదు మీరు తిరిగి తప్పుడు కాదు. 1447 01:09:36,450 --> 01:09:37,700 >> డేవిడ్ J. మలన్: ఖచ్చితంగా. 1448 01:09:37,700 --> 01:09:40,920 1449 01:09:40,920 --> 01:09:44,240 కాబట్టి dequeue, దేశంలోని గమనించవచ్చు దాని వాదన వంటి రద్దు. 1450 01:09:44,240 --> 01:09:45,479 మేము లేదు ఎందుకంటే మరియు ఆ ఏదైనా సైన్ ప్రయాణిస్తున్న 1451 01:09:45,479 --> 01:09:48,359 మేము కేవలం మూలకం తొలగించాలనుకుంటే క్యూ ముందు. 1452 01:09:48,359 --> 01:09:49,819 కాబట్టి మేము ఎలా చేయడం గురించి వెళ్ళవచ్చు? 1453 01:09:49,819 --> 01:09:51,290 ముందుగల, దీన్ని చూద్దాం త్వరగా తెలివి తనిఖీ. 1454 01:09:51,290 --> 01:09:53,350 క్యూ పరిమాణం 0 ఉంటే, ఉంది చెయ్యటానికి ఏ పని. 1455 01:09:53,350 --> 01:09:54,210 1 ప్రతికూల తిరిగి. 1456 01:09:54,210 --> 01:09:54,800 డన్. 1457 01:09:54,800 --> 01:09:56,340 కాబట్టి నా ప్రోగ్రామ్ యొక్క కొన్ని పంక్తులు ఉంది. 1458 01:09:56,340 --> 01:09:58,180 కాబట్టి నాలుగు పంక్తులు ఉన్నాయి. 1459 01:09:58,180 --> 01:10:01,310 >> ఇక్కడ నేను తరుగుదల నిర్ణయించుకుంటారు పరిమాణం. 1460 01:10:01,310 --> 01:10:04,620 మరియు సమర్థవంతంగా పరిమాణం దానికి వీలు నేను మర్చిపోకుండా ఉండాలనే వెబ్ అర్థం 1461 01:10:04,620 --> 01:10:06,010 ఏదో ఉంది. 1462 01:10:06,010 --> 01:10:09,910 కానీ నేను కూడా అప్డేట్ ఉంటుంది పేరు సంఖ్యలు ముందు ఉన్నాయి. 1463 01:10:09,910 --> 01:10:11,620 కాబట్టి అలా, నేను అవసరం రెండు పనులను. 1464 01:10:11,620 --> 01:10:16,390 నేను మొదటి సంఖ్య గుర్తుంచుకోవాల్సిన అవసరం క్యూ ముందు ఉంది, 1465 01:10:16,390 --> 01:10:17,860 నేను ఆ విషయం తిరిగి అవసరం ఎందుకంటే. 1466 01:10:17,860 --> 01:10:20,910 కాబట్టి నేను అనుకోకుండా మర్చిపోతే వద్దు దాని గురించి ఆపై దానిని తిరిగి. 1467 01:10:20,910 --> 01:10:22,840 నేను ఒక Int లో గుర్తు చేస్తున్నాను. 1468 01:10:22,840 --> 01:10:27,310 >> ఇప్పుడు, నేను నవీకరించాలనుకున్న q.front +1 q.front వుంటుంది. 1469 01:10:27,310 --> 01:10:30,070 ఈ మొట్టమొదటి వ్యక్తి అయితే లైన్, ఇప్పుడు, నేను ప్లస్ 1 చేయాలనుకుంటున్నారా 1470 01:10:30,070 --> 01:10:31,930 లైన్ లో తదుపరి వ్యక్తికి సమయంలో. 1471 01:10:31,930 --> 01:10:33,420 కానీ నేను ఆ చుట్టబెట్టిన నిర్వహించడానికి. 1472 01:10:33,420 --> 01:10:37,270 మరియు సామర్థ్యం ప్రపంచ స్థిరమైన ఉంటే, ఆ నాకు ఖచ్చితంగా చేయడానికి అనుమతించే అవకాశముంది 1473 01:10:37,270 --> 01:10:41,140 నేను చాలా చివరి వ్యక్తి సూచించడానికి వంటి లైన్, మోడ్యులో ఆపరేషన్ తెస్తుంది 1474 01:10:41,140 --> 01:10:43,840 వద్ద సున్నా తిరిగి నన్ను క్యూ ముందు. 1475 01:10:43,840 --> 01:10:46,050 మరియు ఇక్కడ చుట్టబెట్టిన నిర్వహిస్తోంది. 1476 01:10:46,050 --> 01:10:48,950 ఆపై నేను n తిరిగి వెళ్లండి. 1477 01:10:48,950 --> 01:10:51,530 >> ఇప్పుడు, ఖచ్చితంగా చెప్పాలంటే, నేను కాదు n ప్రకటించాలని ఉన్నాయి. 1478 01:10:51,530 --> 01:10:53,880 నేను పట్టుకొను మరియు నిల్వ లేదు తాత్కాలికంగా, విలువ ఎందుకంటే 1479 01:10:53,880 --> 01:10:54,740 ఇప్పటికీ. 1480 01:10:54,740 --> 01:10:57,490 నేను సరైన లెక్కలు కాలేదు మాజీ అధిపతి తిరిగి 1481 01:10:57,490 --> 01:10:58,450 క్యూ. 1482 01:10:58,450 --> 01:11:01,850 కానీ నేను ఈ మరింత స్పష్టమైన అని భావించాడు నిజానికి పూర్ణాంకానికి పట్టుకోడానికి, ఉంచండి 1483 01:11:01,850 --> 01:11:04,320 n లో, మరియు ఆ తిరిగి స్పష్టత కోసమని కానీ 1484 01:11:04,320 --> 01:11:05,735 సాంకేతికంగా. 1485 01:11:05,735 --> 01:11:09,313 1486 01:11:09,313 --> 01:11:12,130 హేయ్. 1487 01:11:12,130 --> 01:11:13,410 వారు నా తల లో పలికే ఉన్నారు. 1488 01:11:13,410 --> 01:11:15,940 1489 01:11:15,940 --> 01:11:19,110 >> రాబ్ బౌడెన్: కాబట్టి మొదటి ప్రశ్న బైనరీ చెట్టు సమస్య. 1490 01:11:19,110 --> 01:11:22,140 కాబట్టి మొదటి ప్రశ్న మేము ఉన్నాము, ఉంది ఈ సంఖ్యలు ఇచ్చిన. 1491 01:11:22,140 --> 01:11:27,160 మరియు మేము ఏదో వాటిని ఇన్సర్ట్ ఈ నోడ్స్ ఇది అని ఒక 1492 01:11:27,160 --> 01:11:30,110 చెల్లుబాటు అయ్యే బైనరీ శోధన చెట్టు. 1493 01:11:30,110 --> 01:11:36,260 కాబట్టి ఒక విషయం గురించి గుర్తు బైనరీ శోధన చెట్లు కాదు ఉంది 1494 01:11:36,260 --> 01:11:39,800 ఆ ఎడమవైపు విషయం తక్కువ మరియు విషయం 1495 01:11:39,800 --> 01:11:41,120 కుడి ఎక్కువ. 1496 01:11:41,120 --> 01:11:44,580 ఇది ఉండాలి మొత్తం చెట్టు ఎడమ తక్కువ, మరియు మొత్తం చెట్టు 1497 01:11:44,580 --> 01:11:45,740 కుడి ఎక్కువ. 1498 01:11:45,740 --> 01:11:55,260 >> నేను ఎగువన ఇక్కడ 34 చాలు, మరియు అలా అయితే నేను ఇక్కడ 20, అలా కాబట్టి చెల్లదు 1499 01:11:55,260 --> 01:11:56,970 చాలా, ఎందుకంటే 34 ఇక్కడ. 1500 01:11:56,970 --> 01:11:57,920 20 ఎడమ అన్నారు. 1501 01:11:57,920 --> 01:11:58,950 కాబట్టి ఆ తక్కువగా. 1502 01:11:58,950 --> 01:12:03,640 కానీ నేను, ఇక్కడ 59 పెట్టలేదు ఎందుకంటే 59 20 కుడి ఉంది, అయినప్పటికీ 1503 01:12:03,640 --> 01:12:06,140 ఇది 34 యొక్క ఎడమ ప్రక్రియలోనే. 1504 01:12:06,140 --> 01:12:10,760 గ్రహించండి నిరోధ తో కాబట్టి, బహుశా ఈ పరిష్కార యొక్క సులభమైన మార్గం 1505 01:12:10,760 --> 01:12:14,330 సమస్య కేవలం విధమైన ఈ సంఖ్యల - 1506 01:12:14,330 --> 01:12:18,720 కాబట్టి 20, 34, 36, 52, 59, 106. 1507 01:12:18,720 --> 01:12:21,640 ఆ తరువాత ఆ ఇన్సర్ట్ ఎడమ నుండి కుడికి. 1508 01:12:21,640 --> 01:12:23,390 >> కాబట్టి 20 ఇక్కడ వెళ్తాడు. 1509 01:12:23,390 --> 01:12:24,630 34 ఇక్కడ వెళ్తాడు. 1510 01:12:24,630 --> 01:12:25,830 36 ఇక్కడ వెళ్తాడు. 1511 01:12:25,830 --> 01:12:29,360 52, 59, 106. 1512 01:12:29,360 --> 01:12:34,730 మరియు మీరు కూడా తో కనుగొన్నారు కాలేదు కొన్ని పూరించే మరియు గ్రహించి, 1513 01:12:34,730 --> 01:12:38,830 ఓహ్, నేను తగినంత సంఖ్యలో లేదు, వేచి ఇక్కడ ఈ పూరించడానికి. 1514 01:12:38,830 --> 01:12:42,170 నేను reshift అవసరం ఏమి నా మార్గం గమనిక అన్నారు. 1515 01:12:42,170 --> 01:12:47,490 అయితే, చివరి మూడు లో గమనించవచ్చు ఎడమ నుండి కుడికి మీరు చదివిన, అది ఉంది 1516 01:12:47,490 --> 01:12:48,740 పెరుగుతున్న క్రమంలో. 1517 01:12:48,740 --> 01:12:52,150 1518 01:12:52,150 --> 01:12:56,540 >> కాబట్టి ఇప్పుడు, మేము ప్రకటించాలని ఏమి struct కోసం అన్నారు 1519 01:12:56,540 --> 01:12:58,300 ఈ చెట్టు లో నోడ్స్. 1520 01:12:58,300 --> 01:13:02,720 ఒక బైనరీ చెట్టు లో మేము ఏమి చేయాలి? 1521 01:13:02,720 --> 01:13:05,830 కాబట్టి మేము రకం ఒక విలువ కలిగి Int, కొన్ని Int విలువ. 1522 01:13:05,830 --> 01:13:07,220 మనం అని ఏమి లేదు పరిష్కారం లో - 1523 01:13:07,220 --> 01:13:08,500 N Int. 1524 01:13:08,500 --> 01:13:13,570 మేము ఎడమ చైల్డ్ ఒక పాయింటర్ అవసరం మరియు కుడి చైల్డ్ ఒక పాయింటర్. 1525 01:13:13,570 --> 01:13:17,540 కాబట్టి అది ఇలా చేస్తాడు. 1526 01:13:17,540 --> 01:13:20,510 మరియు అది నిజానికి ముందు పరిశీలిస్తాము రెట్టింపైన-లింక్ ఉన్నప్పుడు 1527 01:13:20,510 --> 01:13:25,090 జాబితా అంశాలను, కాబట్టి నోటీసు - 1528 01:13:25,090 --> 01:13:27,860 నేను స్క్రోల్ ఉంటుంది వెళుతున్న అన్ని తిరిగి డౌన్ సమస్య 11. 1529 01:13:27,860 --> 01:13:30,980 1530 01:13:30,980 --> 01:13:36,390 >> కాబట్టి, ఇది ఈ సారూప్యత కనిపిస్తోంది గమనించవచ్చు మేము ఈ కాల్ వస్తుంది తప్ప 1531 01:13:36,390 --> 01:13:38,590 వివిధ పేర్లు. 1532 01:13:38,590 --> 01:13:41,440 మేము ఇంకా పూర్ణాంకం విలువ మరియు రెండు పాయింటర్లు. 1533 01:13:41,440 --> 01:13:44,850 ఇది బదులుగా చికిత్స కేవలం ఆ తదుపరి విషయం సూచిస్తుందని గమనికలు 1534 01:13:44,850 --> 01:13:47,955 మరియు మునుపటి విషయం, మేము చికిత్స చేస్తున్నారు గమనికలు ఒక ఎడమ చైల్డ్ సూచించడానికి 1535 01:13:47,955 --> 01:13:49,205 మరియు కుడి బాల. 1536 01:13:49,205 --> 01:13:57,372 1537 01:13:57,372 --> 01:13:57,860 OK. 1538 01:13:57,860 --> 01:13:59,650 కాబట్టి మా struct నోడ్. 1539 01:13:59,650 --> 01:14:03,920 ఇప్పుడు, మాత్రమే ఫంక్షన్ మేము అవసరం ఈ సంచరిస్తారు ఉంది కోసం, అమలు ఇది 1540 01:14:03,920 --> 01:14:08,320 మేము చెట్టు, ముద్రణ వెళ్ళి కావలసిన క్రమంలో చెట్టు విలువలు. 1541 01:14:08,320 --> 01:14:15,241 >> ఇక్కడ చూస్తున్న, మేము ప్రింట్ కావాలో 20, 34, 36, 52, 59, మరియు 106. 1542 01:14:15,241 --> 01:14:17,970 మేము ఆ పూర్తిచేస్తారు? 1543 01:14:17,970 --> 01:14:18,890 కనుక ఇది అందంగా పోలి ఉంది. 1544 01:14:18,890 --> 01:14:22,910 మీరు గత పరీక్షలో చూసినట్లయితే సమస్య మీరు ప్రింట్ కోరుకున్నాడు 1545 01:14:22,910 --> 01:14:25,940 మధ్య కామాలతో మొత్తం చెట్టు ప్రతిదీ, అది కూడా నిజానికి ఉంది 1546 01:14:25,940 --> 01:14:27,320 కంటే సులభంగా. 1547 01:14:27,320 --> 01:14:30,950 ఇక్కడ పరిష్కారం. 1548 01:14:30,950 --> 01:14:33,110 ఈ గణనీయంగా సులభం మీరు పునరావృతంగా చేస్తే. 1549 01:14:33,110 --> 01:14:36,650 ఎవరైనా ప్రయత్నించారు ఉంటే నాకు తెలీదు మరల దీన్ని. 1550 01:14:36,650 --> 01:14:38,340 >> కానీ మొదటి, మేము మా బేస్ సందర్భాన్ని. 1551 01:14:38,340 --> 01:14:39,660 దానికి మూల శూన్య ఉంటే? 1552 01:14:39,660 --> 01:14:40,610 అప్పుడు మేము తిరిగి చూడాలని. 1553 01:14:40,610 --> 01:14:42,300 మేము ఏదైనా ప్రింట్ లేదు. 1554 01:14:42,300 --> 01:14:45,940 మిగతా మేము ప్రయాణించేందుకు చూడాలని పునరావృతంగా డౌన్. 1555 01:14:45,940 --> 01:14:48,140 మొత్తం ఎడమ subtree ప్రింట్. 1556 01:14:48,140 --> 01:14:51,440 కాబట్టి తక్కువ ప్రతిదీ ప్రింట్ నా ప్రస్తుత విలువకంటే. 1557 01:14:51,440 --> 01:14:53,930 ఆపై నేను ప్రింట్ వెళుతున్న. 1558 01:14:53,930 --> 01:14:57,310 ఆపై నేను డౌన్ recurse వెళుతున్న నా మొత్తం కుడి subtree, నిద్రతో 1559 01:14:57,310 --> 01:14:58,810 నా విలువ కంటే ఎక్కువ. 1560 01:14:58,810 --> 01:15:03,870 మరియు ఈ ప్రింట్ అన్నారు క్రమంలో ప్రతిదీ. 1561 01:15:03,870 --> 01:15:05,860 ఎలా ఈ వాస్తవానికి ప్రశ్నల తట్టుకోలేరు? 1562 01:15:05,860 --> 01:15:09,892 1563 01:15:09,892 --> 01:15:12,545 >> ప్రేక్షకులు: నేను ఒక ప్రశ్న [వినబడని] న. 1564 01:15:12,545 --> 01:15:15,090 1565 01:15:15,090 --> 01:15:23,550 >> రాబ్ బౌడెన్: పరిశీలించడంలో కాబట్టి ఒక మార్గం ఏ పునరావృత సమస్య కేవలం ఆలోచించడం ఉంది 1566 01:15:23,550 --> 01:15:26,275 ఇష్టం గురించి మీరు ఆలోచించడం కలిగి అన్ని మూలలో కేసులు. 1567 01:15:26,275 --> 01:15:32,150 1568 01:15:32,150 --> 01:15:38,110 కాబట్టి మేము కావలసిన పరిగణలోకి ఈ మొత్తం చెట్టు ప్రింట్. 1569 01:15:38,110 --> 01:15:42,030 కాబట్టి అన్ని మేము దృష్టి వెళ్తున్నారు ఈ ప్రత్యేక నోడ్ - 1570 01:15:42,030 --> 01:15:43,740 36. 1571 01:15:43,740 --> 01:15:47,420 పునరావృత కాల్స్, మేము నటిస్తారు ఆ కేవలం పని. 1572 01:15:47,420 --> 01:15:54,000 ఇక్కడ, ఈ పునరావృత కాల్ సంచరిస్తారు, మేము కూడా ఆలోచించకుండా 1573 01:15:54,000 --> 01:15:58,640 దాని గురించి, కేవలం ఎడమ traversing మూడు, ఇప్పటికే 20 ముద్రిస్తుంది ఊహించే 1574 01:15:58,640 --> 01:16:00,730 మనకోసం 34. 1575 01:16:00,730 --> 01:16:03,350 ఆపై మేము చివరికి పునరావృతంగా ట్రావర్సె కాల్ 1576 01:16:03,350 --> 01:16:07,890 కుడి, సరిగ్గా ముద్రిస్తుంది 52, 59, మరియు మాకు కోసం 106. 1577 01:16:07,890 --> 01:16:13,620 >> కాబట్టి ఈ 20, 34 ముద్రించవచ్చు ఇచ్చిన, మరియు ఇతర, 52, 59, 108 ముద్రించవచ్చు 1578 01:16:13,620 --> 01:16:17,180 మేము చేస్తామని అవసరం అన్ని ముద్రణ ఉంది ఆ మధ్యలో స్వయంగా. 1579 01:16:17,180 --> 01:16:21,250 కాబట్టి మాకు ముందు ప్రతిదీ ప్రింట్. 1580 01:16:21,250 --> 01:16:27,710 స్వయంగా ప్రింట్ ప్రస్తుత నోడ్ ముద్రణ 36, సాధారణ printf, ఆపై 1581 01:16:27,710 --> 01:16:31,170 మాకు తర్వాత ప్రతిదీ ప్రింట్. 1582 01:16:31,170 --> 01:16:32,730 >> డేవిడ్ J. మలన్: ఈ పేరు సూత్రం ఉంది నిజంగా అందంగా కనిపిస్తుంది. 1583 01:16:32,730 --> 01:16:36,270 ఇది విశ్వాసం యొక్క ఈ అద్భుతమైన లీపు పేరు మీరు పని tiniest బిట్ చేయండి. 1584 01:16:36,270 --> 01:16:38,460 ఆపై మీరు వీలు ఎవరైనా వేరే మిగిలిన. 1585 01:16:38,460 --> 01:16:40,180 మరియు ఎవరో మీరు, చిత్రంగా, ఉంది. 1586 01:16:40,180 --> 01:16:44,260 1587 01:16:44,260 --> 01:16:48,360 తీవ్రమైన సంబరం పాయింట్లు, చేస్తే మీరు ప్రశ్నలు న స్క్రోల్ - 1588 01:16:48,360 --> 01:16:50,530 >> రాబ్ బౌడెన్: ప్రశ్నలు న? 1589 01:16:50,530 --> 01:16:53,490 >> డేవిడ్ J. మలన్: మరియు ఒక చిన్న డౌన్ ఇక్కడ సంఖ్యలు, ఎవరైనా తెలుసు 1590 01:16:53,490 --> 01:16:55,190 ఈ సంఖ్యలు నుండి వస్తాయి? 1591 01:16:55,190 --> 01:16:56,610 >> రాబ్ బౌడెన్: నేను అక్షరాలా సంఖ్య ఆలోచన ఉంది. 1592 01:16:56,610 --> 01:16:59,794 >> డేవిడ్ J. మలన్: వారు కనిపిస్తుంది క్విజ్ అంతటా. 1593 01:16:59,794 --> 01:17:01,150 >> ప్రేక్షకులు: వారు అదే లేరు 1594 01:17:01,150 --> 01:17:01,910 >> డేవిడ్ J. మలన్: ఆ సంఖ్యలు. 1595 01:17:01,910 --> 01:17:03,260 ఒక చిన్న ఈస్టర్ గుడ్డు. 1596 01:17:03,260 --> 01:17:08,100 కాబట్టి ఆన్లైన్ చూడటం మీరు ఆ కోసం హోమ్, మీకు ఇమెయిల్ ద్వారా మమ్మల్ని వర్తమాన 1597 01:17:08,100 --> 01:17:12,680 heads@CS50.net ఏమి ప్రాముఖ్యత ఈ పునరావృత ఆరు సంఖ్యలు యొక్క 1598 01:17:12,680 --> 01:17:18,560 క్విజ్ 1 అంతటా, మేము మీకు షవర్ ఉంటుంది చివరి అద్భుతమైన దృష్టి తో 1599 01:17:18,560 --> 01:17:21,610 ఉపన్యాసం మరియు ఒత్తిడి బంతి. 1600 01:17:21,610 --> 01:17:25,460 1601 01:17:25,460 --> 01:17:27,790 సూక్ష్మ, నైస్. 1602 01:17:27,790 --> 01:17:29,570 >> రాబ్ బౌడెన్: ఇంగ్లీషు ప్రశ్నలు క్విజ్ లో ఏదైనా గురించి? 1603 01:17:29,570 --> 01:17:32,608