1 00:00:00,000 --> 00:00:11,860 2 00:00:11,860 --> 00:00:13,120 >> SPEAKER 1: అన్ని కుడి, కాబట్టి మేము తిరిగి ఉంటాయి. 3 00:00:13,120 --> 00:00:14,480 CS50 స్వాగతం. 4 00:00:14,480 --> 00:00:16,510 ఈ వారం ఏడు ముగింపు. 5 00:00:16,510 --> 00:00:20,200 సో చివరిసారి గుర్తుకు, మేము ప్రారంభించారు కొద్దిగా మరింత ఆధునిక చూడటం 6 00:00:20,200 --> 00:00:21,100 డేటా నిర్మాణాలు. 7 00:00:21,100 --> 00:00:25,110 అప్ ఇప్పుడు వరకు నుండి, అన్ని మేము నిజంగా ఉంది మా పారవేయడం వద్ద ఈ, ఒక శ్రేణి ఉంది. 8 00:00:25,110 --> 00:00:29,340 >> కానీ మేము శ్రేణి తొలగించాలనుకుంటున్నారా గా ముందు అన్ని ఆసక్తికరమైన, ఇది నిజానికి ఇది 9 00:00:29,340 --> 00:00:33,570 నిజానికి, కొన్ని ఏమి ఉన్నాయి ఈ సాధారణ డేటా pluses 10 00:00:33,570 --> 00:00:34,560 నిర్మాణం ఇప్పటివరకు? 11 00:00:34,560 --> 00:00:36,110 ఇది మంచి ఏమిటి? 12 00:00:36,110 --> 00:00:39,450 ఇప్పటివరకు మేము చూసిన వంటి? 13 00:00:39,450 --> 00:00:42,540 మీరు ఏమి వచ్చింది లేదు? 14 00:00:42,540 --> 00:00:44,028 ఏమీ. 15 00:00:44,028 --> 00:00:45,020 >> STUDENT: [వినబడని]. 16 00:00:45,020 --> 00:00:45,395 >> SPEAKER 1: ఏమి ఆ? 17 00:00:45,395 --> 00:00:46,410 >> STUDENT: [వినబడని]. 18 00:00:46,410 --> 00:00:47,000 >> SPEAKER 1: స్థిర పరిమాణం. 19 00:00:47,000 --> 00:00:51,260 OK, కాబట్టి స్థిర పరిమాణం అయితే మంచి? 20 00:00:51,260 --> 00:00:53,180 >> STUDENT: [వినబడని]. 21 00:00:53,180 --> 00:00:56,240 >> SPEAKER 1: OK, కాబట్టి అది సమర్థవంతం మీరు ఒక కేటాయించుటకు చేసే భావం 22 00:00:56,240 --> 00:01:00,070 స్థలం స్థిర మొత్తం, ఇది ఆశాజనక ఖచ్చితంగా ఎక్కువ ఉంది 23 00:01:00,070 --> 00:01:01,180 స్పేస్ మీకు కావలసిన. 24 00:01:01,180 --> 00:01:02,720 తద్వారా ఖచ్చితంగా ఒక ప్లస్ కావచ్చు. 25 00:01:02,720 --> 00:01:06,530 >> ఒక అర్రే యొక్క మరో వైపు ఏమిటి? 26 00:01:06,530 --> 00:01:07,610 అవును? 27 00:01:07,610 --> 00:01:08,750 >> STUDENT: [వినబడని]. 28 00:01:08,750 --> 00:01:09,550 >> SPEAKER 1: అన్ని - క్షమించండి? 29 00:01:09,550 --> 00:01:11,270 >> STUDENT: [వినబడని]. 30 00:01:11,270 --> 00:01:13,620 >> SPEAKER 1: మెమరీ లో అన్ని బాక్సులను లేదా ప్రతి ఇతర పక్కన. 31 00:01:13,620 --> 00:01:15,220 మరియు ఆ ఉపయోగపడిందా వార్తలు - ఎందుకు? 32 00:01:15,220 --> 00:01:15,970 ఆ చాలా నిజం. 33 00:01:15,970 --> 00:01:18,611 కానీ ఎలా మేము సత్యం దాటుకొని వెళ్ళగలదు? 34 00:01:18,611 --> 00:01:21,500 >> STUDENT: [వినబడని]. 35 00:01:21,500 --> 00:01:24,490 >> SPEAKER 1: సరిగ్గా, మేము ట్రాక్ చేయగలరు ప్రతిదీ కేవలం తెలుసుకోవడం ద్వారా ఇక్కడ 36 00:01:24,490 --> 00:01:28,560 ఒక నామంగా చిరునామా, యొక్క చిరునామా మెమరీ యొక్క భాగం మొదటి బైట్. 37 00:01:28,560 --> 00:01:30,420 లేదా స్ట్రింగ్ విషయంలో, మొదటి చిరునామా 38 00:01:30,420 --> 00:01:31,460 ఆ స్ట్రింగ్ లో చార్. 39 00:01:31,460 --> 00:01:33,330 మరియు అక్కడ నుండి, మేము పొందవచ్చు స్ట్రింగ్ యొక్క ముగింపు. 40 00:01:33,330 --> 00:01:35,710 మేము రెండవ మూలకం, వెదుక్కోవచ్చు మూడవ మూలకం, మొదలగునవి. 41 00:01:35,710 --> 00:01:38,740 >> మరియు వర్ణించి కాబట్టి ఫాన్సీ మార్గం ఫీచర్ శ్రేణుల మాకు ఇవ్వాలని ఉంది 42 00:01:38,740 --> 00:01:40,020 రాండమ్ యాక్సెస్. 43 00:01:40,020 --> 00:01:44,330 కేవలం చదరపు బ్రాకెట్ ఉపయోగించి సంజ్ఞామానం మరియు ఒక సంఖ్య, మీరు వెళ్లగలదు 44 00:01:44,330 --> 00:01:48,070 అర్రే లో ఒక ప్రత్యేక ఎలిమెంట్ స్థిరంగా సమయం, పెద్ద O లో 45 00:01:48,070 --> 00:01:49,810 ఒకటి, మాట్లాడటానికి. 46 00:01:49,810 --> 00:01:51,080 >> కానీ కొన్ని దుష్ప్రభావాలు ఉన్నాయి. 47 00:01:51,080 --> 00:01:53,110 ఒక అర్రే చాలా సులభంగా ఏమి లేదు? 48 00:01:53,110 --> 00:01:55,810 49 00:01:55,810 --> 00:01:57,170 ఇది మంచి ఏమి కాదు? 50 00:01:57,170 --> 00:01:58,810 >> STUDENT: [వినబడని]. 51 00:01:58,810 --> 00:01:59,860 >> SPEAKER 1: ఏమి ఆ? 52 00:01:59,860 --> 00:02:00,530 >> STUDENT: [వినబడని]. 53 00:02:00,530 --> 00:02:01,460 >> SPEAKER 1: పరిమాణం విస్తరణ. 54 00:02:01,460 --> 00:02:04,800 అర్రే యొక్క దుష్ప్రభావాలు కనుక ఏమి ఖచ్చితంగా సరసన 55 00:02:04,800 --> 00:02:05,540 upsides ఉన్నాయి. 56 00:02:05,540 --> 00:02:07,610 సో దుష్ప్రభావాలు ఒకటి అది ఒక స్థిర పరిమాణం అని. 57 00:02:07,610 --> 00:02:09,400 సో మీరు నిజంగా అది పెరుగుతాయి కాదు. 58 00:02:09,400 --> 00:02:13,510 మీరు ఒక పెద్ద భాగం పునర్నియోగిస్తాయి చేయవచ్చు మెమరీ, మరియు అప్పుడు పాత అంశాలు తరలించడానికి 59 00:02:13,510 --> 00:02:14,460 కొత్త శ్రేణి లోకి. 60 00:02:14,460 --> 00:02:18,060 మరియు తరువాత ఉచిత పాత శ్రేణి, ఉదాహరణకు, malloc లేదా ఇదే ఉపయోగించి 61 00:02:18,060 --> 00:02:21,180 realloc అని ఫంక్షన్, ఇది reallocates మెమరీ. 62 00:02:21,180 --> 00:02:25,490 >> Realloc, జనాంతికంగా, మీరు ఇవ్వాలని ప్రయత్నిస్తాడు అర్రే పక్కన ఉండే మెమరీ 63 00:02:25,490 --> 00:02:26,610 మీరు ఇప్పటికే కలిగి. 64 00:02:26,610 --> 00:02:28,740 కానీ విషయాలు వెళ్ళడం పూర్తిగా చుట్టూ. 65 00:02:28,740 --> 00:02:30,710 కానీ చిన్న లో, ఆ కుడి, ఖరీదైన వార్తలు? 66 00:02:30,710 --> 00:02:33,440 ఎందుకంటే మీరు మెమరీ భాగం కలిగి ఉంటే ఈ పరిమాణం, కానీ మీరు నిజంగా ఒక కావలసిన 67 00:02:33,440 --> 00:02:36,710 ఈ పరిమాణం, మరియు మీరు భద్రపర్చాలనుకుంటున్నారా అసలు అంశాలు, మీరు 68 00:02:36,710 --> 00:02:40,510 సుమారు ఒక సరళ సమయం కాపీ ప్రక్రియ నుండి జరిగే అవసరం 69 00:02:40,510 --> 00:02:41,900 కొత్త పాత శ్రేణి. 70 00:02:41,900 --> 00:02:44,630 మరియు రియాలిటీ ఆపరేటింగ్ అడుగుతున్నారు మళ్లీ మళ్లీ వ్యవస్థ మరియు 71 00:02:44,630 --> 00:02:48,340 మళ్ళీ మెమరీ పెద్ద రాళ్లను ప్రారంభించవచ్చు కోసం అలాగే మీరు కొంత సమయం ఖర్చు. 72 00:02:48,340 --> 00:02:52,250 కనుక ఇది ఒక దీవెన మరియు ఒక శాపం కూడా , నిజానికి దాచిపెట్టు ఈ శ్రేణుల 73 00:02:52,250 --> 00:02:53,860 స్థిర పరిమాణంలో ఉంటాయి. 74 00:02:53,860 --> 00:02:56,790 కానీ దానికి బదులుగా ఏదో పరిచయం ఉంటే ఈ వంటి, ఇది మేము ఒక లింక్ అని 75 00:02:56,790 --> 00:03:00,580 జాబితా, మేము కొన్ని upsides పొందుటకు మరియు కొన్ని ఇక్కడ దుష్ప్రభావాలు అలాగే. 76 00:03:00,580 --> 00:03:05,780 >> ఒక లింక్ జాబితా కేవలం ఒక డేటా కాబట్టి నిర్మాణం ఈ సి structs తయారు 77 00:03:05,780 --> 00:03:09,850 ఒక struct, రీకాల్, కేవలం సందర్భంలో, ఒకటి లేదా ఎక్కువ ఖచ్చితమైన కోసం ఒక కంటైనర్ 78 00:03:09,850 --> 00:03:11,100 వేరియబుల్స్ రకాల. 79 00:03:11,100 --> 00:03:16,110 ఈ సందర్భంలో, ఏ డేటా రకాలు చేయండి struct లోపలి కనిపించే 80 00:03:16,110 --> 00:03:17,600 చివరిసారి మేము ఒక కణుపు అని పిలిచే? 81 00:03:17,600 --> 00:03:19,380 ఈ దీర్ఘ చతురస్రాలు ప్రతి ఒక కణుపు. 82 00:03:19,380 --> 00:03:22,660 మరియు చిన్న దీర్ఘ చతురస్రాలు ప్రతి అది లోపల ఒక డేటా రకం. 83 00:03:22,660 --> 00:03:25,300 మేము ఏ రకమైన అని పేర్కొన్నారు వారు సోమవారం ఉన్నాయి? 84 00:03:25,300 --> 00:03:26,478 అవును? 85 00:03:26,478 --> 00:03:27,870 >> STUDENT: [వినబడని]. 86 00:03:27,870 --> 00:03:30,721 >> SPEAKER 1: ఒక వేరియబుల్ మరియు ఒక పాయింటర్, లేదా మరింత ప్రత్యేకంగా, ఒక Int, n కోసం, 87 00:03:30,721 --> 00:03:32,180 మరియు దిగువన ఒక పాయింటర్. 88 00:03:32,180 --> 00:03:35,360 ఆ రెండు వద్ద, 32 బిట్స్ కావడం ఈ CS50 వంటి కంప్యూటర్లో కనీసం 89 00:03:35,360 --> 00:03:37,980 ఉపకరణం, మరియు వారు మీరు కనుక పరిమాణం సమానంగా డ్రా. 90 00:03:37,980 --> 00:03:42,260 >> సో వాట్ పాయింటర్ ఉపయోగిస్తున్నారు స్పష్టంగా కోసం అయితే? 91 00:03:42,260 --> 00:03:47,690 శ్రేణుల ఉన్నప్పుడు ఎందుకు ఇప్పుడు ఈ బాణం జోడించండి కాబట్టి nice మరియు శుభ్రంగా మరియు సాధారణ? 92 00:03:47,690 --> 00:03:50,460 పాయింటర్ కోసం ఏం చేస్తోంది మాకు ఈ నోడ్స్ ప్రతి? 93 00:03:50,460 --> 00:03:52,160 >> STUDENT: [వినబడని]. 94 00:03:52,160 --> 00:03:52,465 >> SPEAKER 1: సరిగ్గా. 95 00:03:52,465 --> 00:03:54,120 ఇక్కడ మీరు చెప్పుచున్నారు తదుపరి ఒకటి. 96 00:03:54,120 --> 00:03:57,350 నేను విధమైన యొక్క సాదృశ్యం ఉపయోగించడానికి యొక్క క్రమం ఒక థ్రెడ్ ఉపయోగించి 97 00:03:57,350 --> 00:03:59,180 కలిసి ఈ నోడ్స్ థ్రెడ్. 98 00:03:59,180 --> 00:04:01,760 మరియు ఆ మేము చేస్తున్న సరిగ్గా ఏమిటి గమనికలు ఎందుకంటే వీటిలో ప్రతి 99 00:04:01,760 --> 00:04:06,360 మెమరీ రాళ్లను ఉండవచ్చు లేదా పక్కపక్క, బ్యాక్ టు బ్యాక్ టు బ్యాక్ 100 00:04:06,360 --> 00:04:09,500 RAM యొక్క లోపల, ఎందుకంటే ప్రతి మీరు malloc మాట్లాడుతూ కాల్, నాకు తగినంత ఇవ్వాలని 101 00:04:09,500 --> 00:04:12,510 ఒక కొత్త నోడ్ కొరకు బైట్స్, అది వాటిని ఇక్కడ లేదా ఇక్కడ కావచ్చు. 102 00:04:12,510 --> 00:04:13,120 ఇది ఇక్కడ కావచ్చు. 103 00:04:13,120 --> 00:04:13,730 ఇది ఇక్కడ కావచ్చు. 104 00:04:13,730 --> 00:04:14,640 మీకు లేదు. 105 00:04:14,640 --> 00:04:17,880 >> కానీ చిరునామాలలో గమనికలు ఉపయోగించి ఆ నోడ్స్, మీరు కుట్టు వాటిని చెయ్యవచ్చు 106 00:04:17,880 --> 00:04:22,370 కలిసి దృష్టి కనిపించే విధంగా ఈ విషయాలు కూడా ఒక జాబితా వంటి 107 00:04:22,370 --> 00:04:26,770 అన్ని మీ ఒకటి లేదా మొత్తం వ్యాపించి మీ రెండు లేదా RAM యొక్క మీ నాలుగు గిగాబైట్ల 108 00:04:26,770 --> 00:04:28,760 మీ సొంత కంప్యూటర్ లోపల. 109 00:04:28,760 --> 00:04:33,230 >> యొక్క, అప్పుడు, వ్యతిరేక స్థితి సో ఒక లింక్ జాబితా ఏమిటి? 110 00:04:33,230 --> 00:04:34,670 మేము ఒక ధర ఏమిటి స్పష్టంగా చెల్లించి? 111 00:04:34,670 --> 00:04:36,010 >> STUDENT: [వినబడని]. 112 00:04:36,010 --> 00:04:36,920 >> SPEAKER 1: మరింత స్పేస్, కుడి? 113 00:04:36,920 --> 00:04:39,340 మేము ఈ సందర్భంలో, మొత్తం రెట్టింపు చేసిన స్థలం మేము వెళ్ళిన చేసిన ఎందుకంటే 114 00:04:39,340 --> 00:04:43,500 ప్రతి ప్రతి నోడ్ 32 బిట్స్, నుండి Int, కాబట్టి ఇప్పుడు మేము 64 బిట్స్ ఎందుకంటే 115 00:04:43,500 --> 00:04:45,050 అలాగే ఒక పాయింటర్ చుట్టూ ఉంచడానికి. 116 00:04:45,050 --> 00:04:48,860 మీరు మరింత సామర్థ్యం పొందుటకు మీ struct ఉంటే ఈ సాధారణ విషయం కంటే పెద్దది. 117 00:04:48,860 --> 00:04:52,020 మీరు నిజంగానే లోపల ఒక విద్యార్థి కలిగి ఉంటే ఇది యొక్క తీగలు ఒక జంట కోసం 118 00:04:52,020 --> 00:04:55,430 పేరు మరియు ఇంటి, ఉండవచ్చు ఒక ID సంఖ్య, పూర్తిగా ఉండవచ్చు కొన్ని ఇతర ఖాళీలను. 119 00:04:55,430 --> 00:04:59,000 >> మీరు ఒక పెద్ద తగినంత struct కలిగి ఉంటే, అప్పుడు ఉండవచ్చు పాయింటర్ యొక్క ఖర్చు 120 00:04:59,000 --> 00:05:00,010 అంత పెద్ద ఒప్పందంలో. 121 00:05:00,010 --> 00:05:03,570 ఇది ఒక మూలలో సందర్భంలో ఒక బిట్ ఉంది మేము ఒక సాధారణ ఆదిమ నిల్వ చేస్తున్నారు 122 00:05:03,570 --> 00:05:04,760 లింక్ జాబితా లోపల. 123 00:05:04,760 --> 00:05:05,790 కానీ పాయింట్ అదే. 124 00:05:05,790 --> 00:05:08,230 మీరు ఖచ్చితంగా ఖర్చు చేస్తున్నారు మెమరీ, కానీ మీరు పొందుతుంటే 125 00:05:08,230 --> 00:05:08,990 వశ్యత. 126 00:05:08,990 --> 00:05:12,280 ఇప్పుడు నేను ఒక మూలకం జోడించాలనుకుంటే ఎందుకంటే ఈ జాబితా యొక్క ప్రారంభంలో, 127 00:05:12,280 --> 00:05:14,340 నేను ఒక కొత్త నోడ్ కేటాయించుటకు కలిగి. 128 00:05:14,340 --> 00:05:17,180 మరియు నేను ఆ నవీకరించుటకు కలిగి కేవలం కదల్చి ఏదో బాణాలు 129 00:05:17,180 --> 00:05:17,980 చుట్టూ కొన్ని గమనికలు. 130 00:05:17,980 --> 00:05:20,580 >> నేను లోకి ఏదో ఇన్సర్ట్ అనుకొంటే జాబితా మధ్యలో, నేను లేదు 131 00:05:20,580 --> 00:05:24,410 మేము లో చేశాడు ప్రక్కన ప్రతి ఒక్కరూ పుష్ మా వాలంటీర్లతో వారాల 'గత ఎవరు 132 00:05:24,410 --> 00:05:25,700 ఒక అర్రే ప్రాతినిధ్యం. 133 00:05:25,700 --> 00:05:29,470 నేను ఒక కొత్త నోడ్ కేటాయించుటకు మరియు చేయవచ్చు అప్పుడు కేవలం బాణాలు పాయింటు 134 00:05:29,470 --> 00:05:32,290 వేర్వేరు దిశల్లో అది లేదు ఎందుకంటే అసలు ఉండేందుకు కలిగి 135 00:05:32,290 --> 00:05:35,670 నేను తీసిన చేసిన వంటి మెమరీ నిజమైన లైన్ ఇక్కడ స్క్రీన్ మీద. 136 00:05:35,670 --> 00:05:38,400 >> ఆపై చివరగా, మీరు ఇన్సర్ట్ అనుకుంటే జాబితా ముగింపులో ఏదో, అది 137 00:05:38,400 --> 00:05:39,210 కూడా సులభంగా. 138 00:05:39,210 --> 00:05:43,320 ఈ స్వతంత్ర సంజ్ఞామానం విధమైన ఉంది కానీ 34 యొక్క పాయింటర్, ఒక అంచనా పడుతుంది. 139 00:05:43,320 --> 00:05:46,710 చాలా దాని పాయింటర్ విలువ ఏమిటి ఒక పాత వంటి వస్తాయనే డ్రా విధమైన 140 00:05:46,710 --> 00:05:47,700 అక్కడ పాఠశాల యాంటెన్నా? 141 00:05:47,700 --> 00:05:48,920 >> STUDENT: [వినబడని]. 142 00:05:48,920 --> 00:05:49,900 >> SPEAKER 1: ఇది బహుశా శూన్య వార్తలు. 143 00:05:49,900 --> 00:05:52,710 నిజానికి ఆ ఒకటి రచయిత శూన్య ప్రాతినిధ్యాన్ని. 144 00:05:52,710 --> 00:05:56,310 ఎందుకంటే మీరు ఖచ్చితంగా మరియు శూన్య వార్తలు తెలుసుకోవాలి పేరు ఒక లింక్ యొక్క ముగింపు 145 00:05:56,310 --> 00:06:00,050 జాబితా మీరు క్రింది ఉంచేందుకు భయంవలన, మరియు ఈ బాణాలు తరువాత మరియు తరువాత 146 00:06:00,050 --> 00:06:01,170 కొన్ని చెత్త విలువ. 147 00:06:01,170 --> 00:06:06,230 సో శూన్య ఏదీ ఆ ప్రాధాన్యత ఉంటుంది 34 కుడి మరింత నోడ్స్, 148 00:06:06,230 --> 00:06:07,200 ఈ సందర్భంలో. 149 00:06:07,200 --> 00:06:10,270 >> కాబట్టి మేము అమలు చేసే ప్రతిపాదన కోడ్ లో ఈ నోడ్. 150 00:06:10,270 --> 00:06:12,130 మరియు మేము ఈ రకమైన చూసిన సింటెక్స్ ముందు. 151 00:06:12,130 --> 00:06:15,090 Typedef కేవలం ఒక కొత్త రకం నిర్వచిస్తుంది మాకు, వంటి మాకు పర్యాయపదంగా ఇస్తుంది 152 00:06:15,090 --> 00:06:17,100 స్ట్రింగ్ చార్ * కోసం. 153 00:06:17,100 --> 00:06:21,030 ఈ సందర్భంలో, అది మాకు ఇవ్వాలని జరగబోతోంది సంక్షిప్త లిపి సంకేతం కనుక struct నోడ్ 154 00:06:21,030 --> 00:06:24,010 బదులుగా కేవలం వ్రాయవచ్చు చాలా క్లీనర్ ఇది నోడ్. 155 00:06:24,010 --> 00:06:25,360 ఇది తక్కువ మందమైన పలు. 156 00:06:25,360 --> 00:06:30,080 >> ఒక నోడ్ లోపల స్పష్టంగా ఒక Int ఉంది అని n, ఆపై ఒక struct నోడ్ * 157 00:06:30,080 --> 00:06:34,670 ఇది మాకు కోరుకున్న సరిగ్గా అర్థం బాణాలు మరొక, ఒక పాయింటర్ అర్థం 158 00:06:34,670 --> 00:06:36,940 ఖచ్చితమైన అదే డేటా రకం నోడ్. 159 00:06:36,940 --> 00:06:40,300 మరియు నేను మేము ఒక అమలు అని ప్రతిపాదించారు ఈ వంటి శోధన ఫంక్షన్, ఇది వద్ద 160 00:06:40,300 --> 00:06:41,890 మొదటి చూపులో అనిపించవచ్చు ఉండవచ్చు కొద్దిగా క్లిష్టమైన. 161 00:06:41,890 --> 00:06:43,330 కానీ అది సందర్భంలో చూద్దాం. 162 00:06:43,330 --> 00:06:45,480 >> నాకు ఇక్కడ పరికరానికి వెళ్ళి లెట్. 163 00:06:45,480 --> 00:06:48,460 నన్ను పిలిచి ఒక ఫైల్ తెరుచుకుంటుంది లెట్ జాబితా సున్నా డాట్ h. 164 00:06:48,460 --> 00:06:53,950 మరియు మాత్రమే నిర్వచనం మేము కలిగి కేవలం ఈ డేటాను కోసం ఒక క్షణం క్రితం చూసింది 165 00:06:53,950 --> 00:06:55,390 రకం ఒక కణుపు అని పిలిచే. 166 00:06:55,390 --> 00:06:57,350 కనుక మనం ఒక డాట్ h ఫైల్లోకి ఉంచిన. 167 00:06:57,350 --> 00:07:01,430 >> మరియు ఒక ప్రక్కన, కూడా ఈ అయితే మీరు చూడబోతున్నారు ఆ కార్యక్రమం 168 00:07:01,430 --> 00:07:05,410 అన్ని ఆ క్లిష్టమైన, అది నిజానికి వార్తలు ఒక ప్రోగ్రామ్ రాసేటప్పుడు సమావేశం 169 00:07:05,410 --> 00:07:10,270 లాగండి, డేటా రకాలు వంటి విషయాలు చాలు కొన్నిసార్లు, లోపల మీ యొక్క స్థిరాంకాలు 170 00:07:10,270 --> 00:07:13,210 శీర్షికా ఫైలును మరియు అవసరం లేదు లో మీ సి ఫైలు, ఖచ్చితంగా మీ 171 00:07:13,210 --> 00:07:17,370 కార్యక్రమాలు పెద్ద మరియు పెద్ద పొందుటకు, తద్వారా రెండు చూడండి ఇక్కడ మీరు తెలుసు 172 00:07:17,370 --> 00:07:20,840 కొన్ని సందర్భాల్లో డాక్యుమెంటేషన్, లేదా ఈ వంటి ప్రాథమిక అంశాలు, కోసం 173 00:07:20,840 --> 00:07:22,360 కొన్ని రకం నిర్వచనం. 174 00:07:22,360 --> 00:07:25,680 >> నేను ఇప్పుడు జాబితా సున్నా డాట్ అప్ తెరిస్తే సి, కొన్ని విషయాలు గమనించవచ్చు. 175 00:07:25,680 --> 00:07:29,090 ఇది చాలా కొన్ని శీర్షిక ఫైళ్లు ఉన్నాయి ఇది మనం ముందు చూసిన. 176 00:07:29,090 --> 00:07:31,980 ఇది దాని సొంత శీర్షిక ఫైల్. 177 00:07:31,980 --> 00:07:35,200 >> మరియు జనాంతికంగా, ఎందుకు ఆ డబుల్ వార్తలు ఇక్కడ వ్యాఖ్యలు, వంటి కోణం వ్యతిరేకంగా 178 00:07:35,200 --> 00:07:38,340 లైన్ న బ్రాకెట్లలో ఆ నేను అక్కడ హైలైట్ చేసిన? 179 00:07:38,340 --> 00:07:39,180 >> STUDENT: [వినబడని]. 180 00:07:39,180 --> 00:07:40,460 >> SPEAKER 1: అవును దీనిని స్థానిక ఫైల్ యొక్క. 181 00:07:40,460 --> 00:07:44,300 ఇక్కడ మీ స్వంత ఒక స్థానిక ఫైల్ కాబట్టి ఉంటే లైన్ 15 న, ఉదాహరణకు, మీరు ఉపయోగించడానికి 182 00:07:44,300 --> 00:07:46,570 డబుల్ కోట్స్ బదులుగా కోణ పరిధుల. 183 00:07:46,570 --> 00:07:48,270 >> ఇప్పుడు ఈ ఆసక్తికరమైన రకం. 184 00:07:48,270 --> 00:07:51,830 నేను ఒక ప్రపంచ డిక్లేర్డ్ చేసిన గమనించండి లైన్ 18 న ఈ కార్యక్రమం లో వేరియబుల్ 185 00:07:51,830 --> 00:07:55,910 మొదటి అని, ఈ ఉండటం ఆలోచన మొదటి ఒక పాయింటర్ అవతరిస్తుంది 186 00:07:55,910 --> 00:07:59,190 నా లింక్ జాబితా నోడ్, మరియు నేను చేసిన నేను చేసిన ఎందుకంటే, అది శూన్యం కు initialized 187 00:07:59,190 --> 00:08:02,310 ఏ వాస్తవ కేటాయించిన కాదు ఇంకా కేవలం నోడ్స్. 188 00:08:02,310 --> 00:08:07,570 >> సో ఈ మేము, చిత్రాల, సూచిస్తుంది చిత్రం లో ఒక క్షణం క్రితం చూసింది 189 00:08:07,570 --> 00:08:10,090 చాలా ఆ పాయింటర్ వైపు వదిలి. 190 00:08:10,090 --> 00:08:12,260 సో ఇప్పుడు, ఆ పాయింటర్ ఒక బాణం లేదు. 191 00:08:12,260 --> 00:08:14,590 ఇది బదులుగా నిరర్థక ఉంది. 192 00:08:14,590 --> 00:08:17,880 కానీ అది ఏ సూచిస్తుంది మొదటి వాస్తవ చిరునామా 193 00:08:17,880 --> 00:08:19,480 ఈ జాబితాలో నోడ్. 194 00:08:19,480 --> 00:08:22,120 సో నేను ఒక అంతర్జాతీయ అమలు చేసిన అన్ని ఈ, మీరు చూస్తారు ఎందుకంటే 195 00:08:22,120 --> 00:08:25,310 కార్యక్రమం జీవితంలో అమలు ఉంది లేదు నాకు ఒక లింక్ జాబితా. 196 00:08:25,310 --> 00:08:27,050 >> ఇప్పుడు నేను ఇక్కడ కొన్ని నమూనా పొందాను. 197 00:08:27,050 --> 00:08:31,190 నేను వంటి లక్షణాలను అమలు నిర్ణయించుకుంది తొలగింపు, జొప్పించే, శోధించడం, మరియు 198 00:08:31,190 --> 00:08:31,740 ట్రావెర్సల్ - 199 00:08:31,740 --> 00:08:35,210 అంతటా గత కేవలం ఉండటం నడక జాబితా, దాని మూలకాలు ముద్రించి. 200 00:08:35,210 --> 00:08:36,750 మరియు ఇప్పుడు ఇక్కడ నా ప్రధాన సాధారణ వార్తలు. 201 00:08:36,750 --> 00:08:39,890 మరియు మేము చాలా సమయం ఖర్చు కాదు ఈ నుంచి ఈ ఆశాజనక, విధమైన ఉంది 202 00:08:39,890 --> 00:08:41,780 ఇప్పుడు ద్వారా పాత టోపీ. 203 00:08:41,780 --> 00:08:45,370 >> నేను, క్రింది చేయ బోతున్నాను యూజర్ సహకరిస్తుంది అయితే. 204 00:08:45,370 --> 00:08:47,300 ఒక సో, నేను ప్రింట్ వెళుతున్న ఈ మెను నుండి. 205 00:08:47,300 --> 00:08:49,420 మరియు నేను అది ఫార్మాట్ చేసిన వారు ఈ విధంగా చెప్పాడు వంటి. 206 00:08:49,420 --> 00:08:52,240 అంటే ఒక వినియోగదారు రకాల ఒకవేళ వారు ఏదో తొలగించాలనుకుంటున్నారా. 207 00:08:52,240 --> 00:08:54,560 అంటే రెండు వినియోగదారు రకాల ఒకవేళ వారు ఏదో ఇన్సర్ట్ అనుకుంటున్నారా. 208 00:08:54,560 --> 00:08:55,930 మొదలగునవి. 209 00:08:55,930 --> 00:08:58,270 నేను ప్రాంప్ట్ వెళుతున్న అప్పుడు ఒక ఆదేశం కోసం. 210 00:08:58,270 --> 00:08:59,300 ఆపై నేను GetInt ఉపయోగించడానికి వెళుతున్న. 211 00:08:59,300 --> 00:09:02,790 >> సో ఈ ఒక నిజంగా సాధారణ menuing ఉంది మీరు కేవలం టైప్ ఉన్న అనుసంధానము 212 00:09:02,790 --> 00:09:05,270 ఒక ఒక సంఖ్య మ్యాపింగ్ ఆ ఆదేశాల. 213 00:09:05,270 --> 00:09:08,730 మరియు ఇప్పుడు నేను ఒక nice శుభ్రంగా స్విచ్ కలిగి స్విచ్ వెళుతున్న ఆ ప్రకటన 214 00:09:08,730 --> 00:09:10,090 యూజర్ సైన్ టైప్ సంసార 215 00:09:10,090 --> 00:09:12,180 వారు ఒక టైప్ ఉంటే, నేను చేస్తాము తొలగించడానికి కాల్ మరియు బ్రేక్. 216 00:09:12,180 --> 00:09:14,380 వారు రెండు టైప్ ఉంటే, నేను చేస్తాము ఇన్సర్ట్ కాల్ మరియు బ్రేక్. 217 00:09:14,380 --> 00:09:16,490 >> మరియు ఇప్పుడు నేను ప్రతి ఉంచిన నోటీసు అదే లైన్ లో ఈ. 218 00:09:16,490 --> 00:09:18,360 ఈ కేవలం ఒక శైలీకృత నిర్ణయం. 219 00:09:18,360 --> 00:09:20,210 సాధారణంగా మనం ఏదో చూసిన దీన్ని ఇష్టపడుతున్నారు. 220 00:09:20,210 --> 00:09:23,260 కానీ నేను, స్పష్టముగా, నా కార్యక్రమం నిర్ణయించుకుంది చదవదగ్గ చూసారు ఎందుకంటే 221 00:09:23,260 --> 00:09:25,980 ఇది మాత్రమే నాలుగు కేసులు ఉంది ఇదే విధంగా దానిని. 222 00:09:25,980 --> 00:09:28,360 శైలి పూర్తిగా చట్టబద్ధమైన ఉపయోగం. 223 00:09:28,360 --> 00:09:31,480 మరియు నేను ఈ చాలా కాలం చేయ బోతున్నాను యూజర్ సున్నా టైప్ లేదు, ఇది నేను 224 00:09:31,480 --> 00:09:33,910 నిర్ణయించుకుంది వారు విడిచి కావలసిన అర్థం అవుతుంది. 225 00:09:33,910 --> 00:09:36,630 >> కాబట్టి ఇప్పుడు నేను ఏమి గమనించవచ్చు ఇక్కడ చేయబోవడం. 226 00:09:36,630 --> 00:09:38,650 నేను స్పష్టంగా జాబితా విడిపించేందుకు వెళుతున్న. 227 00:09:38,650 --> 00:09:40,230 కేవలం ఒక క్షణం లో ఆ మరింత. 228 00:09:40,230 --> 00:09:41,640 మొదటి ఈ కార్యక్రమం అమలు లెట్. 229 00:09:41,640 --> 00:09:45,250 సో నాకు ఒక పెద్ద టెర్మినల్ తయారు చేద్దాము విండో, డాట్ స్లాష్ జాబితా 0. 230 00:09:45,250 --> 00:09:49,510 నేను ముందు వెళ్ళి ఇన్సర్ట్ వెళుతున్నాను టైపింగ్ రెండు, ఇప్పుడు ఒక 50 వంటి సంఖ్య, మరియు 231 00:09:49,510 --> 00:09:51,590 మీరు జాబితా ఇప్పుడు 50 చూస్తారు. 232 00:09:51,590 --> 00:09:53,380 మరియు నా టెక్స్ట్ కేవలం ఒక బిట్ అప్ scrolled. 233 00:09:53,380 --> 00:09:55,940 కాబట్టి ఇప్పుడు జాబితా ఉంది గమనించవచ్చు సంఖ్య 50. 234 00:09:55,940 --> 00:09:58,220 >> రెండు తీసుకొని మరొక చొప్పించు అన్నారు యొక్క. 235 00:09:58,220 --> 00:10:01,630 యొక్క ఒక వంటి టైప్ లెట్. 236 00:10:01,630 --> 00:10:03,940 జాబితా ఇప్పుడు 50 తరువాత ఒకటి. 237 00:10:03,940 --> 00:10:06,020 ఈ కేవలం ఒక పాఠ్య ప్రాతినిధ్యం కాబట్టి జాబితా. 238 00:10:06,020 --> 00:10:10,550 మరియు యొక్క వంటి ఒక మరింత సంఖ్య ఇన్సర్ట్ వీలు ఆశాజనక ఇది సంఖ్య 42, 239 00:10:10,550 --> 00:10:14,620 ఎందుకంటే, మధ్యలో వదులుకోవడానికి వెళుతున్న ప్రత్యేక రకాల ఈ ప్రోగ్రామ్ 240 00:10:14,620 --> 00:10:16,320 అది ఇన్సర్ట్ వాటిని అంశాలు. 241 00:10:16,320 --> 00:10:17,220 సో అక్కడ మేము కలిగి. 242 00:10:17,220 --> 00:10:20,730 ఆ విధంగా సూపర్ సాధారణ ప్రోగ్రామ్ ఖచ్చితంగా నేను వ్యూహం ఉపయోగిస్తారు, కానీ 243 00:10:20,730 --> 00:10:23,280 అనుబంధ జాబితా ఉపయోగిస్తూ జరిగే కేవలం నేను డైనమిక్ చెయ్యవచ్చు 244 00:10:23,280 --> 00:10:24,610 పెరుగుతాయి మరియు దీన్ని కుదించి. 245 00:10:24,610 --> 00:10:28,470 >> కనుక, యొక్క శోధన కోసం పరిశీలించి వీలు నేను కమాండ్ మూడు అమలు, నేను శోధించడానికి మీరు 246 00:10:28,470 --> 00:10:31,040 సంఖ్య 43, చెప్పటానికి, కోసం. 247 00:10:31,040 --> 00:10:34,190 మరియు ఏమీ స్పష్టంగా కనిపించింది, నేను ఎటువంటి సమాధానం తిరిగి వచ్చింది ఎందుకంటే. 248 00:10:34,190 --> 00:10:35,010 మరలా దీన్ని చేసుకుందాం. 249 00:10:35,010 --> 00:10:35,690 అన్వేషణ. 250 00:10:35,690 --> 00:10:39,520 50, లేదా కాకుండా అన్వేషణ కోసం లెట్ శోధన 42 కోసం, ఇది ఒక nice ఉంది 251 00:10:39,520 --> 00:10:40,850 కొద్దిగా సూక్ష్మ అర్థం. 252 00:10:40,850 --> 00:10:42,610 మరియు నేను అక్కడ జీవితార్థాన్ని దొరకలేదు. 253 00:10:42,610 --> 00:10:44,990 మీకు తెలిసిన లేకపోతే సంఖ్య 42, సూచన, ఇది Google. 254 00:10:44,990 --> 00:10:45,350 అన్ని కుడి. 255 00:10:45,350 --> 00:10:47,130 సో వాట్ నాకు ఈ కార్యక్రమం పూర్తి? 256 00:10:47,130 --> 00:10:50,660 ఇది నాకు విధంగా ఇన్సర్ట్ చెయ్యడానికి అనుమతించాడు మూలకాల కోసం చాలా మరియు శోధన. 257 00:10:50,660 --> 00:10:53,650 >> కు, అప్పుడు, ఫాస్ట్ ఫార్వార్డ్ లెట్ మేము వద్ద glanced ఆ ఫంక్షన్ 258 00:10:53,650 --> 00:10:55,360 సోమవారం ఒక టీజర్ వంటి. 259 00:10:55,360 --> 00:10:59,620 ఈ ఫంక్షన్ సో, నేను, శోధనలు క్లెయిమ్ మొదటి జాబితాలో ఒక మూలకం 260 00:10:59,620 --> 00:11:03,830 ఒక, వినియోగదారు ప్రాంప్ట్ మరియు తరువాత కాల్ ఒక వాస్తవ Int పొందుటకు GetInt 261 00:11:03,830 --> 00:11:05,060 శోది కావలసిన. 262 00:11:05,060 --> 00:11:06,460 >> అప్పుడు ఈ గమనించవచ్చు. 263 00:11:06,460 --> 00:11:10,690 నేను ఒక తాత్కాలిక వేరియబుల్ సృష్టించడానికి వెళుతున్నాను లైన్ 188 లో పాయింటర్ అని - 264 00:11:10,690 --> 00:11:11,270 PTR - 265 00:11:11,270 --> 00:11:12,440 ఇది ఏదైనా అని ఉండవచ్చు. 266 00:11:12,440 --> 00:11:16,140 మరియు అది ఒక నోడ్ ఒక పాయింటర్ వార్తలు నేను అక్కడ నోడ్ * చెప్పారు. 267 00:11:16,140 --> 00:11:19,900 మరియు నేను దానికి సమానమైనది ప్రారంభించడం వెబ్ మొదటి నేను సమర్థవంతంగా ఉందని నా 268 00:11:19,900 --> 00:11:22,860 వేలు, కాబట్టి చాలా న, మాట్లాడటం జాబితా మొదటి మూలకం. 269 00:11:22,860 --> 00:11:27,460 ఇక్కడ నా కుడి చేతి PTR నేను కనుక ఉంటే అదే విషయం గురిపెట్టి మొదటి 270 00:11:27,460 --> 00:11:28,670 వద్ద సూచిస్తుంది. 271 00:11:28,670 --> 00:11:31,430 >> కాబట్టి ఇప్పుడు తిరిగి కోడ్ లో, ఏమి తదుపరి జరుగుతుంది - 272 00:11:31,430 --> 00:11:35,070 సంభవింప ఈ ఒక సాధారణ సమాహారం ఒక వంటి ఒక నిర్మాణం మీద 273 00:11:35,070 --> 00:11:35,970 లింక్ జాబితా. 274 00:11:35,970 --> 00:11:40,410 నేను అయితే క్రింది చేయ బోతున్నాను పాయింటర్ సో శూన్యం సమానం కాదు అయితే 275 00:11:40,410 --> 00:11:47,530 నా వేలు కొన్ని శూన్య వద్ద గురిపెట్టి లేదు విలువ, పాయింటర్ బాణం n n సమానం ఉంటే. 276 00:11:47,530 --> 00:11:52,290 మేము n అని మొదటి గమనిస్తారు ఏమి ప్రతి GetInts లో టైప్ యూజర్ ఇక్కడ కాల్. 277 00:11:52,290 --> 00:11:54,280 >> మరియు పాయింటర్ బాణం n అర్థం? 278 00:11:54,280 --> 00:11:59,020 మేము ఇక్కడ చిత్రాన్ని తిరిగి వెళ్ళి బాగా ఉంటే, నేను వద్ద గురిపెట్టి ఒక వేలు ఉంటే 279 00:11:59,020 --> 00:12:02,960 తొమ్మిది, కలిగిన మొదటి నోడ్ బాణం తప్పనిసరిగా ఆ వెళ్ళండి అర్థం 280 00:12:02,960 --> 00:12:08,860 నోడ్ మరియు, నగర n వద్ద విలువ పట్టుకోడానికి ఈ సందర్భంలో, డేటా రంగంలో n అని. 281 00:12:08,860 --> 00:12:14,120 >> జనాంతికంగా - మరియు మేము ఈ ఒక జంట చూసింది వారాల క్రితం ఎవరైనా అడిగినప్పుడు - 282 00:12:14,120 --> 00:12:18,840 ఈ సింటాక్స్ కొత్త, కానీ అది లేదు మాకు అధికారాలు ఇవ్వాలని మేము 283 00:12:18,840 --> 00:12:20,040 ఇప్పటికే లేదు. 284 00:12:20,040 --> 00:12:25,325 ఉపయోగించి సమానమైన ఈ పదబంధం ఏమిటి డాట్ సంజ్ఞామానం మరియు స్టార్ జంట 285 00:12:25,325 --> 00:12:29,490 వారాల క్రితం మేము తిరిగి ఒలిచిన ఉన్నప్పుడు ఈ ఒక బిట్ ముందుగానే పొర? 286 00:12:29,490 --> 00:12:31,780 >> STUDENT: [వినబడని]. 287 00:12:31,780 --> 00:12:38,880 >> SPEAKER 1: సరిగ్గా, అది స్టార్, మరియు అది తో, స్టార్ డాట్ n ఉంది 288 00:12:38,880 --> 00:12:41,930 ఇక్కడ బ్రాకెట్లు ఇది కనిపిస్తుంది, స్పష్టముగా, నేను చాలా అనుకుంటున్నాను 289 00:12:41,930 --> 00:12:43,320 చదవడానికి అధిక నిగూఢ. 290 00:12:43,320 --> 00:12:46,270 కానీ స్టార్ పాయింటర్, ఎల్లప్పుడూ, అంటే అక్కడ వెళ్ళి. 291 00:12:46,270 --> 00:12:49,090 మరియు ఒకసారి మీరు ఏమి డేటా, అక్కడ ఉన్నందుకు రంగంలో మీరు ఆక్సెస్ అనుకుంటున్నారు? 292 00:12:49,090 --> 00:12:52,730 బాగా మీరు ఆక్సెస్ చెయ్యడానికి డాట్ సంజ్ఞామానం ఉపయోగించడానికి ఒక structs డేటా రంగంలో, మరియు నేను 293 00:12:52,730 --> 00:12:54,140 ప్రత్యేకంగా n మీరు. 294 00:12:54,140 --> 00:12:56,240 >> స్పష్టముగా, నేను ఈ వాదిస్తుంది చదవడానికి మాత్రమే కష్టం. 295 00:12:56,240 --> 00:12:58,080 ఇక్కడ గుర్తుంచుకోవాలి కష్టం బ్రాకెట్లు గో 296 00:12:58,080 --> 00:12:59,030 స్టార్ మరియు అన్ని. 297 00:12:59,030 --> 00:13:02,150 సో ప్రపంచ కొన్ని వాక్యనిర్మాణ స్వీకరించింది చక్కెర, మాట్లాడటానికి. 298 00:13:02,150 --> 00:13:04,740 అని కేవలం ఒక సెక్సీ మార్గం, ఈ సమానమైన, మరియు 299 00:13:04,740 --> 00:13:05,970 బహుశా మరింత సులభంగా. 300 00:13:05,970 --> 00:13:09,600 పాయింటర్ నిజానికి ఒక పాయింటర్ ఉంటే, బాణం సంజ్ఞామానం అంటే అక్కడ వెళ్ళి కనుగొనేందుకు 301 00:13:09,600 --> 00:13:11,890 ఈ సందర్భంలో రంగంలో n అని. 302 00:13:11,890 --> 00:13:13,660 >> నేను దానిని కనుగొనేందుకు కనుక, నేను ఏమి గమనించవచ్చు. 303 00:13:13,660 --> 00:13:17,430 నేను మాత్రమే ప్రింట్, నేను, శాతం i దొరకలేదు ఆ Int కోసం విలువ పూరించే. 304 00:13:17,430 --> 00:13:20,730 నేను రకమైన కేవలం ఒక రెండవ కోసం నిద్ర కాల్ తెర మీద విరామం విషయాలు 305 00:13:20,730 --> 00:13:22,900 యూజర్ స్వీకరించే రెండవ ఇవ్వాలని వాట్ జస్ట్ హాపెండ్. 306 00:13:22,900 --> 00:13:24,290 ఆపై నేను విచ్ఛిన్నం. 307 00:13:24,290 --> 00:13:26,330 లేకపోతే, నేను ఏమి చెయ్యాలి? 308 00:13:26,330 --> 00:13:30,960 నేను సమాన కు పాయింటర్ అప్డేట్ తదుపరి పాయింటర్ బాణం. 309 00:13:30,960 --> 00:13:35,840 >> సో కేవలం స్పష్టమైన ఉండాలి, ఈ వెళ్ళి అర్ధం , నా పాత పాఠశాల సంజ్ఞామానం అక్కడ ఉపయోగించి. 310 00:13:35,840 --> 00:13:39,580 ఈ కేవలం సంసార వెళ్ళడానికి అని చెప్పుకుంటారు మీరు చాలా లో, ఇది వద్ద గురిపెట్టి చేస్తున్నారు 311 00:13:39,580 --> 00:13:43,660 మొదటి సందర్భంలో నేను గురిపెట్టి వెబ్ ఉంది అది తొమ్మిది struct. 312 00:13:43,660 --> 00:13:44,510 నేను అక్కడ పోయింది చేసిన. 313 00:13:44,510 --> 00:13:47,880 ఆపై డాట్ సంజ్ఞామానం అంటే, తదుపరి వద్ద విలువ పొందుటకు. 314 00:13:47,880 --> 00:13:50,470 >> కానీ విలువ, అది డ్రా లో అయినప్పటికీ ఒక ఇరుకైన కేవలం ఒక సంఖ్య. 315 00:13:50,470 --> 00:13:51,720 ఇది ఒక సంఖ్యా చిరునామా యొక్క. 316 00:13:51,720 --> 00:13:55,670 అని, కోడ్ యొక్క ఈ ఒక లైన్ కు , ఈ వంటి వ్రాసిన మరింత గుప్తమైన 317 00:13:55,670 --> 00:14:00,190 మార్గం, లేదా దీన్ని ఇష్టపడుతున్నారు, కొద్దిగా ఎక్కువ ప్రోత్సాహక మార్గాన్ని, నా చేతి తరలించడానికి అర్థం 318 00:14:00,190 --> 00:14:03,460 తదుపరి ఒక మొదటి నోడ్ నుండి, అప్పుడు తరువాత ఒకటి మరియు 319 00:14:03,460 --> 00:14:05,320 ఒక తదుపరి, మొదలగునవి. 320 00:14:05,320 --> 00:14:09,920 >> కనుక మనం ఇతర న నివసించు లేదు ఇన్సర్ట్ మరియు తొలగించడానికి అమలు 321 00:14:09,920 --> 00:14:14,030 మరియు ట్రావెర్సల్, మొదటి రెండు ఇది బొత్తిగా పాలుపంచుకున్న. 322 00:14:14,030 --> 00:14:17,010 మరియు నేను పొందుటకు చాలా సులభం అనుకుంటున్నాను నోటితో చేస్తున్నప్పుడు కోల్పోయింది. 323 00:14:17,010 --> 00:14:19,890 కానీ మేము ఇక్కడ చేయవచ్చు ఉంది నిర్ణయించడానికి ప్రయత్నించండి ఎలా 324 00:14:19,890 --> 00:14:21,640 ఉత్తమ దృష్టి దీన్ని. 325 00:14:21,640 --> 00:14:24,800 నేను ప్రతిపాదన ఎందుకంటే ఒకవేళ మేము ఈ లోకి అంశాలు ఇన్సర్ట్ అనుకుంటున్నారా 326 00:14:24,800 --> 00:14:26,680 ఇప్పటికే ఉన్న జాబితా, ఇది ఐదు మూలకాలు ఉన్నాయి - 327 00:14:26,680 --> 00:14:29,530 9, 17, 22, 26, మరియు 33 - 328 00:14:29,530 --> 00:14:33,300 నేను ఈ అమలు చేయబోతున్నట్లు ఉంటే కోడ్, నేను వెళ్ళి ఎలా పరిగణలోకి తీసుకోవాలని 329 00:14:33,300 --> 00:14:34,160 ఈ చేయడం గురించి. 330 00:14:34,160 --> 00:14:37,720 >> మరియు నేను శిశువు దశలను ప్రతిపాదించారు ఉంటుంది ఈ సందర్భంలో నేను అర్థం దానిద్వారా, ఏమిటి 331 00:14:37,720 --> 00:14:41,090 సాధ్యమయ్యే దృశ్యాలను మేము సాధారణంగా ఎదుర్కొనే కొన్ని? 332 00:14:41,090 --> 00:14:44,120 ఒక అనుసంధాన కోసం చొప్పించు అమలు చేసినప్పుడు జాబితా, ఈ కేవలం ఒక నిర్మాణము 333 00:14:44,120 --> 00:14:46,090 పరిమాణం ఐదు ప్రత్యేక ఉదాహరణ. 334 00:14:46,090 --> 00:14:50,420 మీరు, ఒక సంఖ్య ఇన్సర్ట్ మీరు బాగా ఉంటే ప్రధమ చెప్పటానికి ఇష్టం, మరియు 335 00:14:50,420 --> 00:14:53,380 పేరు, క్రమబద్ధీకరించబడింది క్రమం ఖచ్చితంగా ఒక అవసరం సంఖ్య చేస్తుంది 336 00:14:53,380 --> 00:14:55,686 ఈ నిర్దిష్ట ఉదాహరణ వెళ్ళి? 337 00:14:55,686 --> 00:14:56,840 ప్రారంభంలో ఇష్టం. 338 00:14:56,840 --> 00:15:00,030 >> కానీ ఆసక్తికరంగా దాన్ని ఉంది మీరు దీన్ని ఒక ఇన్సర్ట్ అనుకుంటే 339 00:15:00,030 --> 00:15:04,100 జాబితా, ఏ ప్రత్యేక పాయింటర్ అవసరం స్పష్టంగా నవీకరించబడింది చేయాలి? 340 00:15:04,100 --> 00:15:04,610 మొదటి. 341 00:15:04,610 --> 00:15:07,830 నేను ఈ మొదటి సందర్భంలో, వాదిస్తుంది మేము ఒక, పరిగణలోకి అనుకొనుచున్న 342 00:15:07,830 --> 00:15:11,140 వద్ద ఇన్సర్ట్ పాల్గొన్న సందర్భంలో జాబితా ప్రారంభంలో. 343 00:15:11,140 --> 00:15:15,400 >> యొక్క కూడా ఒక సులభంగా లేదా ఉండవచ్చు ఆఫ్ ధైర్యము లెట్ సులభంగా సందర్భంలో, చాలా మాట్లాడుతూ. 344 00:15:15,400 --> 00:15:18,110 నేను ఇన్సర్ట్ మీరు ఊహించు క్రమబద్ధీకరించబడింది క్రమంలో 35. 345 00:15:18,110 --> 00:15:20,600 ఇది ఖచ్చితంగా అక్కడ చెందినది. 346 00:15:20,600 --> 00:15:25,320 సో వాట్ పాయింటర్ ఖచ్చితంగా కానుంది ఆ సందర్భంలో నవీకరించబడింది ఉండాలి? 347 00:15:25,320 --> 00:15:30,060 34 యొక్క పాయింటర్ శూన్య కాదు మారుతోంది కానీ struct యొక్క చిరునామా 348 00:15:30,060 --> 00:15:31,800 సంఖ్య 35 కలిగి. 349 00:15:31,800 --> 00:15:32,750 సో ఆ సందర్భంలో రెండు వార్తలు. 350 00:15:32,750 --> 00:15:36,190 ఇప్పటికే, నేను quantizing విధమైన రెడీ నేను ఇక్కడ కలిగి ఎంత పని. 351 00:15:36,190 --> 00:15:39,880 >> చివరకు, స్పష్టమైన మధ్య కేసు నిజానికి, మధ్యలో, నేను మీరు 352 00:15:39,880 --> 00:15:45,870 వెళ్తాడు చెప్తారు 23, ఏదో ఇన్సర్ట్ 23 మరియు 26 మధ్య, కానీ 353 00:15:45,870 --> 00:15:48,680 ఇప్పుడు విషయాలు కొద్దిగా మరింత పొందండి చేరి ఎందుకంటే ఏమి 354 00:15:48,680 --> 00:15:52,800 గమనికలు మార్చాలి? 355 00:15:52,800 --> 00:15:56,680 22 ఖచ్చితంగా మార్చబడింది అవసరం కాబట్టి అతను ఇకపై 26 పాయింటు ఎందుకంటే. 356 00:15:56,680 --> 00:16:00,320 అతను కొత్త నోడ్ పాయింటు అవసరం నేను కాల్ కేటాయించుటకు ఉంటుంది 357 00:16:00,320 --> 00:16:01,770 malloc లేదా కొన్ని సమానమైన. 358 00:16:01,770 --> 00:16:05,990 >> కానీ అప్పుడు నేను కూడా కొత్త నోడ్, 23 అవసరం ఈ సందర్భంలో, దాని పాయింటర్ కలిగి 359 00:16:05,990 --> 00:16:07,870 వీరిలో వద్ద గురిపెట్టి? 360 00:16:07,870 --> 00:16:08,560 26. 361 00:16:08,560 --> 00:16:10,380 మరియు ఒక ఉన్నట్లు జరగబోతోంది ఇక్కడ కార్యకలాపాలు క్రమాన్ని. 362 00:16:10,380 --> 00:16:13,410 ఎందుకంటే నేను తెలివిలేక దీన్ని, మరియు నేను ఉంటే ప్రారంభంలో ఉదాహరణకు ప్రారంభం కోసం 363 00:16:13,410 --> 00:16:16,040 జాబితా, మరియు నా లక్ష్యం 23 ఇన్సర్ట్ ఉంటుంది. 364 00:16:16,040 --> 00:16:18,610 మరియు నేను చెందిన లేదు, తనిఖీ ఇక్కడ, తొమ్మిది సమీపంలో? 365 00:16:18,610 --> 00:16:18,950 నం 366 00:16:18,950 --> 00:16:20,670 ఇది 17 పక్కన, ఇక్కడ చెందినవా? 367 00:16:20,670 --> 00:16:20,940 నం 368 00:16:20,940 --> 00:16:22,530 ఇది 22 పక్కన ఇక్కడ చెందిన చేస్తుంది? 369 00:16:22,530 --> 00:16:23,300 అవును. 370 00:16:23,300 --> 00:16:26,400 >> ఇప్పుడు నేను ఇక్కడ వెర్రి రెడీ ఉంటే, మరియు కాదు ఈ ద్వారా ఆలోచిస్తూ, నేను వాటిని 371 00:16:26,400 --> 00:16:28,320 23 నా కొత్త నోడ్ కేటాయించుటకు. 372 00:16:28,320 --> 00:16:32,080 నేను నుండి పాయింటర్ అప్డేట్ ఉండవచ్చు నోడ్ గురిపెట్టి, 22 అని 373 00:16:32,080 --> 00:16:33,080 కొత్త నోడ్. 374 00:16:33,080 --> 00:16:36,140 ఆపై నేను అప్డేట్ ఏమి ఉన్నాయి కొత్త నోడ్ యొక్క పాయింటర్ గా? 375 00:16:36,140 --> 00:16:38,120 >> STUDENT: [వినబడని]. 376 00:16:38,120 --> 00:16:38,385 >> SPEAKER 1: సరిగ్గా. 377 00:16:38,385 --> 00:16:39,710 26 వద్ద గురిపెట్టి. 378 00:16:39,710 --> 00:16:45,590 నేను ఇప్పటికే అప్డేట్ లేదు ఉంటే dammit 22 యొక్క పాయింటర్ ఈ వ్యక్తి సమయంలో, మరియు 379 00:16:45,590 --> 00:16:48,260 ఇప్పుడు నేను అనాధల, మిగిలిన జాబితా, మాట్లాడటానికి. 380 00:16:48,260 --> 00:16:52,140 ఇక్కడ కార్యకలాపాలు కాబట్టి క్రమంలో ముఖ్యమైన అవతరిస్తుంది. 381 00:16:52,140 --> 00:16:55,100 >> దీన్ని నేను, దొంగిలించి కాలేదు , ఆరు స్వచ్ఛందంగా చెప్పటానికి. 382 00:16:55,100 --> 00:16:57,650 మరియు మేము ఈ ఇవ్వలేకపోతే యొక్క చూడనీ దృష్టి బదులుగా కోడ్ వారీగా. 383 00:16:57,650 --> 00:16:59,330 మరియు మేము కొన్ని సుందరమైన ఒత్తిడి కలిగి నేడు మీరు కోసం బంతుల్లో. 384 00:16:59,330 --> 00:17:02,510 OK, ఎలా ఒక, రెండు, లో తిరిగి - అక్కడ ముగింపు. 385 00:17:02,510 --> 00:17:04,530 మీరు రెండు మూడు, నాలుగు, ముగింపు న అబ్బాయిలు. 386 00:17:04,530 --> 00:17:05,579 మరియు ఐదు, ఆరు. 387 00:17:05,579 --> 00:17:05,839 ఖచ్చితంగా. 388 00:17:05,839 --> 00:17:06,450 ఐదు మరియు ఆరు. 389 00:17:06,450 --> 00:17:08,390 అన్ని కుడి మరియు మేము వచ్చి చేస్తాము మీరు అబ్బాయిలు పక్కన సమయం. 390 00:17:08,390 --> 00:17:09,640 అన్ని కుడి, మీద వస్తాయి. 391 00:17:09,640 --> 00:17:12,010 392 00:17:12,010 --> 00:17:14,819 >> అన్ని కుడి, మీరు ఇక్కడ మొదటి అప్ ఉన్నకారణంగా, మీరు వికారంగా ఒక ఉండాలని కోరుకుంటారు 393 00:17:14,819 --> 00:17:16,119 ఇక్కడ Google గ్లాస్ లో? 394 00:17:16,119 --> 00:17:19,075 అన్ని కుడి, కాబట్టి, OK, గ్లాస్, ఒక వీడియోను రికార్డ్. 395 00:17:19,075 --> 00:17:22,720 396 00:17:22,720 --> 00:17:24,589 OK, మీరు అన్నిటికి ఉన్నాము. 397 00:17:24,589 --> 00:17:27,950 >> అన్ని కుడి, కాబట్టి మీరు అబ్బాయిలు పైగా రావచ్చు ఉంటే ఇక్కడ, నేను ముందుగానే తయారు చేశారు 398 00:17:27,950 --> 00:17:30,110 కొన్ని సంఖ్యలు. 399 00:17:30,110 --> 00:17:31,240 అన్ని కుడి, ఇక్కడ కమ్ ఆన్ ఓవర్. 400 00:17:31,240 --> 00:17:33,440 మరియు ఎందుకు మీరు కొద్దిగా వెళ్లరు మరింత విధంగా. 401 00:17:33,440 --> 00:17:35,520 మరియు యొక్క చూద్దాము, మీ పేరు ఏమిటి, Google గ్లాస్ తో? 402 00:17:35,520 --> 00:17:35,910 >> STUDENT: బెన్. 403 00:17:35,910 --> 00:17:36,230 >> SPEAKER 1: బెన్? 404 00:17:36,230 --> 00:17:38,380 OK, బెన్, మీరు వాచ్యంగా, మొదటి ఉంటుంది. 405 00:17:38,380 --> 00:17:40,580 కాబట్టి మేము మీరు పంపిన చేయబోతున్నామని దశ చివర. 406 00:17:40,580 --> 00:17:41,670 అన్ని కుడి, మరియు మీ పేరు? 407 00:17:41,670 --> 00:17:41,990 >> STUDENT: జాసన్. 408 00:17:41,990 --> 00:17:44,530 >> SPEAKER 1: జాసన్, OK మీరు చేస్తాము తొమ్మిదవ ఉంటుంది. 409 00:17:44,530 --> 00:17:46,700 మీరు బెన్ విధంగా అనుసరించండి మీరు అనుకుంటే. 410 00:17:46,700 --> 00:17:47,010 >> STUDENT: జిల్. 411 00:17:47,010 --> 00:17:49,630 >> SPEAKER 1: జిల్ మీరు చేయబోతున్నామని 17, ఇది నేను ఈ ఎక్కువ పూర్తి భావిస్తే 412 00:17:49,630 --> 00:17:51,260 తెలివిగా, నేను కలిగి ఉంటుంది ఇతర చివరిలో ప్రారంభించారు. 413 00:17:51,260 --> 00:17:52,370 మీరు మార్గం వెళ్ళి. 414 00:17:52,370 --> 00:17:53,030 22. 415 00:17:53,030 --> 00:17:53,670 మరియు మీరు? 416 00:17:53,670 --> 00:17:53,980 >> STUDENT: మేరీ. 417 00:17:53,980 --> 00:17:56,130 >> SPEAKER 1: మేరీ, మీరు 22 ఉంటాం. 418 00:17:56,130 --> 00:17:58,420 మరియు మీ పేరు? 419 00:17:58,420 --> 00:17:58,810 >> STUDENT: క్రిస్. 420 00:17:58,810 --> 00:18:00,100 >> SPEAKER 1: క్రిస్, మీరు 26 ఉంటాం. 421 00:18:00,100 --> 00:18:00,740 ఆపై చివరగా. 422 00:18:00,740 --> 00:18:01,400 >> STUDENT: డయానా. 423 00:18:01,400 --> 00:18:02,670 >> SPEAKER 1: డయానా, మీరు 34 ఉంటాం. 424 00:18:02,670 --> 00:18:03,920 సో మీరు ఇక్కడ కమ్ ఆన్ ఓవర్. 425 00:18:03,920 --> 00:18:06,360 >> అన్ని కుడి, కాబట్టి క్రమబద్ధీకరించబడింది పరిపూర్ణతచెంది ఇప్పటికే ఆర్డర్. 426 00:18:06,360 --> 00:18:09,600 మరియు యొక్క ముందుకు వెళ్లి ఈ తెలియజేసేలా తద్వారా మేము నిజంగా చెయ్యవచ్చు - 427 00:18:09,600 --> 00:18:11,720 బెన్ మీరు చూస్తున్న కేవలం రకమైన ఉన్నాము బయటకు ఎక్కడా అక్కడ లోకి. 428 00:18:11,720 --> 00:18:15,670 OK, కాబట్టి యొక్క ముందుకు వెళ్లి ఈ వర్ణిస్తాయి వీలు నేను చాలా వంటి, చేతులు ఉపయోగించి, సరిగ్గా, 429 00:18:15,670 --> 00:18:16,250 ఏమి జరగబోతోంది. 430 00:18:16,250 --> 00:18:19,540 అందుకే yourselves ఒక ఇవ్వాలని అడుగు లేదా yourselves మధ్య రెండు. 431 00:18:19,540 --> 00:18:22,900 మరియు ఒక చేతితో ముందుకు మరియు పాయింటు మీరు ఎవరైతే గురిపెట్టి చేయాలి 432 00:18:22,900 --> 00:18:23,470 ఈ ఆధారంగా. 433 00:18:23,470 --> 00:18:25,890 మీరు శూన్య అయితే కేవలం పాయింటు నేరుగా డౌన్ అంతస్తు వరకు. 434 00:18:25,890 --> 00:18:27,690 OK, కాబట్టి మంచి. 435 00:18:27,690 --> 00:18:32,290 >> కాబట్టి ఇప్పుడు మేము ఒక లింక్ జాబితా, మరియు నాకు వీలు నేను పాత్ర ఆడుతుందో ప్రతిపాదించారు 436 00:18:32,290 --> 00:18:35,110 PTR, కాబట్టి నేను ఇబ్బంది లేదు చుట్టూ ఈ మోసుకెళ్ళే. 437 00:18:35,110 --> 00:18:37,830 ఆపై - ఎవరైనా తెలివితక్కువదని సమావేశం - మీరు మీకు కావలసిన ఈ ఏదైనా కాల్ చేయవచ్చు - 438 00:18:37,830 --> 00:18:39,800 ముందు పాయింటర్, pred పాయింటర్ - 439 00:18:39,800 --> 00:18:43,930 ఇది కేవలం మేము ఇచ్చిన మారుపేరు వార్తలు నా ఎడమ చేతితో మా నమూనా కోడ్. 440 00:18:43,930 --> 00:18:47,240 ఉంచడం వెళుతున్న ఇతర చేతి ఎవరు ఎవరు ట్రాక్ 441 00:18:47,240 --> 00:18:48,400 దృశ్యాలు తరువాత. 442 00:18:48,400 --> 00:18:52,390 >> సో మొదటి, నేను ఆఫ్ ధైర్యము అనుకుంటున్నారా, ఊహించు ఇన్సర్ట్ మొదటి ఉదాహరణ చెబుతాను 443 00:18:52,390 --> 00:18:54,330 20, జాబితా లోకి. 444 00:18:54,330 --> 00:18:57,160 నేను ఎవరైనా అవసరం వెళుతున్న మాకు సంఖ్య 20 రూపొందించారు. 445 00:18:57,160 --> 00:18:58,950 నేను malloc ఎవరైనా అవసరం ప్రేక్షకుల నుండి. 446 00:18:58,950 --> 00:18:59,380 అప్ న వస్తాయి. 447 00:18:59,380 --> 00:19:00,340 మీ పేరు ఏమిటి? 448 00:19:00,340 --> 00:19:01,300 >> STUDENT: బ్రియాన్. 449 00:19:01,300 --> 00:19:05,270 >> SPEAKER 1: బ్రియాన్, అన్ని కుడి, కాబట్టి మీరు 20 కలిగి నోడ్ ఉండాలి. 450 00:19:05,270 --> 00:19:06,810 అన్ని కుడి, ఇక్కడ కమ్ ఆన్ ఓవర్. 451 00:19:06,810 --> 00:19:10,025 మరియు ఖచ్చితంగా, పేరు బ్రియాన్ చెందినవా? 452 00:19:10,025 --> 00:19:12,190 సో, మధ్యలో - నిజానికి, ఒక నిమిషం వేచి. 453 00:19:12,190 --> 00:19:13,420 మేము ఆర్డర్ ఈ అవ్ట్ చేస్తున్న. 454 00:19:13,420 --> 00:19:17,170 మేము చాలా కష్టం ఈ ఉంచుతున్నాము ఇది మొదటి వద్ద ఉండాలి కంటే. 455 00:19:17,170 --> 00:19:21,210 OK, మేము ఉచిత బ్రియాన్ చేయబోతున్నామని మరియు ఐదు realloc బ్రియాన్. 456 00:19:21,210 --> 00:19:23,680 >> OK, కాబట్టి ఇప్పుడు మేము ఇన్సర్ట్ అనుకుంటున్నారా ఐదు బ్రియాన్. 457 00:19:23,680 --> 00:19:25,960 కాబట్టి తరువాతి ఇక్కడ కమ్ ఆన్ ఓవర్ కేవలం ఒక క్షణం బెన్. 458 00:19:25,960 --> 00:19:28,250 మరియు మీరు బహుశా తెలియజేయవచ్చు ఈ కథ వెళుతున్న ఉన్న. 459 00:19:28,250 --> 00:19:30,500 కానీ వీలు యొక్క గురించి జాగ్రత్తగా అనుకుంటున్నాను క్రియల క్రమం. 460 00:19:30,500 --> 00:19:32,880 మరియు అది ఖచ్చితంగా ఈ దృశ్య వార్తలు ఒకే అవకాశముంది అని 461 00:19:32,880 --> 00:19:34,080 ఆ నమూనా కోడ్ తో. 462 00:19:34,080 --> 00:19:40,120 ఇక్కడ నేను PTR ప్రారంభంలో గురిపెట్టి చేశారు కాదు కేవలంగా బెన్, వద్ద, కానీ సంసార వద్ద 463 00:19:40,120 --> 00:19:43,245 అతను కలిగి విలువ ఈ సందర్భంలో - మీ పేరు తిరిగి ఏమిటి? 464 00:19:43,245 --> 00:19:43,670 >> STUDENT: జాసన్. 465 00:19:43,670 --> 00:19:47,350 >> SPEAKER 1: జాసన్, బెన్ మరియు నేను రెండు కాబట్టి ఈ సమయంలో జాసన్ వద్ద గురిపెట్టి. 466 00:19:47,350 --> 00:19:49,700 కాబట్టి ఇప్పుడు నేను గుర్తించడానికి కలిగి, బ్రియాన్ పేరు చెందినవా? 467 00:19:49,700 --> 00:19:53,500 మాత్రమే విషయం నేను యాక్సెస్ ప్రస్తుతం తన n డేటా అంశం. 468 00:19:53,500 --> 00:19:58,280 నేను, తనిఖీ ఉంది వెళుతున్నాను జాసన్ కంటే బ్రియాన్ తక్కువ? 469 00:19:58,280 --> 00:19:59,770 సమాధానం వర్తిస్తుంది. 470 00:19:59,770 --> 00:20:03,680 >> సో ఇప్పుడు, ఏమి కావాలి సరైన క్రమంలో? 471 00:20:03,680 --> 00:20:07,120 నేను ఎన్ని గమనికలు నవీకరించవలసి ఉంది ఈ కథ లో మొత్తం? 472 00:20:07,120 --> 00:20:10,720 నా చేతి ఇప్పటికీ వద్ద గురిపెట్టి ఉన్న జాసన్ మరియు మీ చేతి - మీరు అనుకుంటే 473 00:20:10,720 --> 00:20:12,930 విధమైన, మీ చేతి చాలు, నేను ఒక ప్రశ్న గుర్తు తెలియదు. 474 00:20:12,930 --> 00:20:14,070 OK, మంచి. 475 00:20:14,070 --> 00:20:15,670 >> అన్ని కుడి, మీరు కనుక కొన్ని అభ్యర్థులు. 476 00:20:15,670 --> 00:20:20,500 బెన్ లేదా నేను లేదా బ్రియాన్ లేదా జాసన్ గాని వేరే లేదా ప్రతి ఒక్కరూ, ఇది 477 00:20:20,500 --> 00:20:21,370 గమనికలు మార్చాలి? 478 00:20:21,370 --> 00:20:23,260 ఎలా మొత్తం చాలా? 479 00:20:23,260 --> 00:20:24,080 >> OK, కాబట్టి రెండు. 480 00:20:24,080 --> 00:20:27,090 నా పాయింటర్ నిజంగా ఇకపై పట్టింపు లేదు నేను తాత్కాలిక ఉంటాను కాబట్టి. 481 00:20:27,090 --> 00:20:31,370 అది బహుశా, ఈ రెండు అబ్బాయిలు వార్తలు బెన్ మరియు బ్రియాన్ రెండు. 482 00:20:31,370 --> 00:20:34,410 కాబట్టి మేము అప్డేట్ నాకు ప్రతిపాదించారు వీలు బెన్, నుండి అతను మొదటిది. 483 00:20:34,410 --> 00:20:36,350 ఈ జాబితాలో మొదటి మూలకం ఇప్పుడు బ్రియాన్ అవతరిస్తుంది. 484 00:20:36,350 --> 00:20:38,070 బ్రియాన్ వద్ద కనుక బెన్ పాయింట్. 485 00:20:38,070 --> 00:20:39,320 OK, ఇప్పుడు ఏమి? 486 00:20:39,320 --> 00:20:41,950 487 00:20:41,950 --> 00:20:43,460 >> ఎవరు ఎవరికి దిశగానే కావాలి? 488 00:20:43,460 --> 00:20:44,710 >> STUDENT: [వినబడని]. 489 00:20:44,710 --> 00:20:46,180 >> SPEAKER 1: OK కాబట్టి బ్రియాన్ ఉంది జాసన్ వద్ద మార్చాలి. 490 00:20:46,180 --> 00:20:48,360 కానీ నేను ఆ పాయింటర్ యొక్క ట్రాక్ కోల్పోయారు? 491 00:20:48,360 --> 00:20:49,980 జాసన్ ఉన్న నేను మీకు తెలుసా? 492 00:20:49,980 --> 00:20:50,790 >> STUDENT: [వినబడని]. 493 00:20:50,790 --> 00:20:52,620 >> SPEAKER 1: నేను నుండి నేను, చేయండి తాత్కాలిక పాయింటర్. 494 00:20:52,620 --> 00:20:55,110 మరియు బహుశా, నేను మారలేదు కొత్త నోడ్ దశలో. 495 00:20:55,110 --> 00:20:58,300 కాబట్టి మేము కేవలం బ్రియాన్ పాయింట్ కలిగి ఎవరైతే అతడ్ని వద్ద నేను గురిపెట్టి వెబ్. 496 00:20:58,300 --> 00:20:59,000 మరియు మేము పూర్తి చేసిన. 497 00:20:59,000 --> 00:21:01,890 సో సందర్భంలో ఒక వద్ద చొప్పించడం జాబితా ప్రారంభం. 498 00:21:01,890 --> 00:21:02,950 రెండు ముఖ్యమైన దశలను ఉన్నాయి. 499 00:21:02,950 --> 00:21:06,750 ఒక, మేము బెన్ అప్డేట్ కలిగి, మరియు అప్పుడు మేము కూడా బ్రియాన్ అప్డేట్ కలిగి. 500 00:21:06,750 --> 00:21:09,230 ఆపై నేను ఇబ్బంది లేదు మిగిలిన traipsing 501 00:21:09,230 --> 00:21:12,680 మేము ఇప్పటికే దొరకలేదు జాబితా, ఎందుకంటే అతని అతను చెంది నగర, ఎందుకంటే 502 00:21:12,680 --> 00:21:14,080 మొదటి మూలకం ఎడమ. 503 00:21:14,080 --> 00:21:15,400 >> అన్ని కుడి, కాబట్టి అందంగా నేరుగా. 504 00:21:15,400 --> 00:21:18,110 మేము దాదాపు ఉన్నాము వంటి నిజానికి, అనిపిస్తుంది ఈ చాలా క్లిష్టమైన మేకింగ్. 505 00:21:18,110 --> 00:21:20,240 సో యొక్క ఇప్పుడు ముగింపు ఆఫ్ ధైర్యము వీలు జాబితా, మరియు ఇక్కడ చూడండి 506 00:21:20,240 --> 00:21:21,380 సంక్లిష్టత మొదలవుతుంది. 507 00:21:21,380 --> 00:21:24,560 ప్రేక్షకుల నుండి ఇప్పుడు, నేను alloc. 508 00:21:24,560 --> 00:21:25,540 ఎవరైనా 55 ప్లే అనుకుంటున్నారా? 509 00:21:25,540 --> 00:21:26,700 అన్ని కుడి, నేను మొదటి మీ చేతి చూసింది. 510 00:21:26,700 --> 00:21:29,620 అప్ న వస్తాయి. 511 00:21:29,620 --> 00:21:30,030 అవును. 512 00:21:30,030 --> 00:21:31,177 మీ పేరు ఏమిటి? 513 00:21:31,177 --> 00:21:32,310 >> STUDENT: [వినబడని]. 514 00:21:32,310 --> 00:21:33,240 >> SPEAKER 1: Habata. 515 00:21:33,240 --> 00:21:33,890 OK, మీద వస్తాయి. 516 00:21:33,890 --> 00:21:35,730 మీరు 55 ఉంటాం. 517 00:21:35,730 --> 00:21:37,820 సో మీరు, కోర్సు యొక్క, చెందిన జాబితా చివర. 518 00:21:37,820 --> 00:21:41,850 సో యొక్క నాతో అనుకరణ రీప్లే వీలు కేవలం ఒక క్షణం PTR ఉండటం. 519 00:21:41,850 --> 00:21:44,050 నేను మొదటి దశలో వెళుతున్నాను బెన్ వద్ద గురిపెట్టి లో సంసార. 520 00:21:44,050 --> 00:21:45,900 మేము ఇప్పుడు బ్రియాన్ వద్ద గురిపెట్టి చేస్తున్న రెండు. 521 00:21:45,900 --> 00:21:48,420 సో 55 కంటే తక్కువ ఐదు కాదు. 522 00:21:48,420 --> 00:21:52,510 సో నేను ద్వారా వచ్చేలా అప్డేట్ వెళుతున్న బ్రియాన్ యొక్క తదుపరి పాయింటర్, గురిపెట్టి ఎవరు 523 00:21:52,510 --> 00:21:54,450 ఇప్పుడు కోర్సు జాసన్ యొక్క ఉంది. 524 00:21:54,450 --> 00:21:57,310 55 కాబట్టి, తక్కువ కంటే తొమ్మిది కాదు నేను PTR అప్డేట్ వెళుతున్న. 525 00:21:57,310 --> 00:21:58,890 నేను PTR అప్డేట్ వెళుతున్న. 526 00:21:58,890 --> 00:22:02,290 నేను PTR అప్డేట్ వెళుతున్న నేను PTR అప్డేట్ వెళుతున్న. 527 00:22:02,290 --> 00:22:05,060 మరియు నేను వెళుతున్న - అయ్యో, ఏమిటి మీ పేరు తిరిగి? 528 00:22:05,060 --> 00:22:05,560 >> STUDENT: డయానా. 529 00:22:05,560 --> 00:22:09,190 >> SPEAKER 1: డయానా సూచిస్తుంది, కోర్సు యొక్క, ఆమె ఎడమ చేతితో శూన్య వద్ద. 530 00:22:09,190 --> 00:22:13,030 సో పేరు Habata నిజానికి చేస్తుంది స్పష్టంగా చెందిన? 531 00:22:13,030 --> 00:22:15,050 ఎడమ, ఇక్కడ. 532 00:22:15,050 --> 00:22:19,460 సో ఎలా నేను ఇక్కడ ఆమె ఉంచాలి తెలుసు నేను ఇరుక్కొనిపోయింది నేను భావిస్తున్నాను. 533 00:22:19,460 --> 00:22:22,420 ఏ PTR కళ ఎందుకంటే సమయం లో ఈ క్షణం? 534 00:22:22,420 --> 00:22:23,240 శూన్యం. 535 00:22:23,240 --> 00:22:25,580 సో అయినప్పటికీ, దృష్టి, మేము ఖచ్చితంగా ఈ అన్ని చూడండి 536 00:22:25,580 --> 00:22:26,610 ఇక్కడ వేదికపై అబ్బాయిలు. 537 00:22:26,610 --> 00:22:29,680 నేను గత ట్రాక్ ఉంచరు చేసిన జాబితాలో వ్యక్తి. 538 00:22:29,680 --> 00:22:33,210 నేను, ఎత్తిచూపారు ఒక వేలు లేదు ఈ సందర్భంలో, నోడ్ 34. 539 00:22:33,210 --> 00:22:34,760 >> సో యొక్క నిజానికి ఈ ప్రారంభించవచ్చు వీలు. 540 00:22:34,760 --> 00:22:37,560 కాబట్టి ఇప్పుడు నేను నిజానికి అవసరం రెండవ స్థానిక వేరియబుల్. 541 00:22:37,560 --> 00:22:40,980 మరియు ఈ లో మీరు చూస్తారు ఏమిటి వాస్తవ నమూనా సి కోడ్, నేను వెళ్ళి అక్కడ, 542 00:22:40,980 --> 00:22:45,860 నేను చెప్పిన నా కుడి చేతి అప్డేట్ చేసినప్పుడు జాసన్, తద్వారా నేను, వెనుక బ్రియాన్ వదిలి 543 00:22:45,860 --> 00:22:51,440 మంచి నా ఎడమ చేతితో ఉపయోగించి మొదలు నేను అక్కడ నేను వెళ్ళి కాబట్టి ఆ అప్డేట్ 544 00:22:51,440 --> 00:22:52,700 ఈ జాబితా ద్వారా - 545 00:22:52,700 --> 00:22:55,040 మరింత వికారంగా నేను ఉద్దేశించిన కంటే ఇప్పుడు ఇక్కడ దృష్టి - 546 00:22:55,040 --> 00:22:56,740 నేను పొందేందుకు వెళుతున్నాను జాబితా ముగింపును. 547 00:22:56,740 --> 00:23:00,020 >> ఈ చేతి అందంగా ఉంది ఇది, ఇంకా శూన్య ఉంది సూచించటం మినహా ఇతర పనికిరాక 548 00:23:00,020 --> 00:23:02,980 నేను, జాబితా ముగింపులో స్పష్టంగా ఉన్నాను కానీ ఇప్పుడు కనీసం నేను ఈ కలిగి 549 00:23:02,980 --> 00:23:08,270 ముందు పాయింటర్ కాబట్టి, ఇక్కడ గురిపెట్టి ఇప్పుడు ఏమి చేతులు మరియు గమనికలు అవసరం 550 00:23:08,270 --> 00:23:10,150 నవీకరించవలసిన? 551 00:23:10,150 --> 00:23:13,214 దీని చేతి మీరు అనుకుంటున్నారు మొదటి పునఃనిర్మితీకరణకు? 552 00:23:13,214 --> 00:23:15,190 >> STUDENT: [వినబడని]. 553 00:23:15,190 --> 00:23:16,220 >> SPEAKER 1: OK, డయానా కాబట్టి. 554 00:23:16,220 --> 00:23:21,110 ఎక్కడ మీరు సూచించండి అనుకుంటున్నారు వద్ద డయానా యొక్క ఎడమ పాయింటర్? 555 00:23:21,110 --> 00:23:23,620 55 వద్ద, బహుశా, తద్వారా మేము అక్కడ చేర్చబడుతుంది చేసిన. 556 00:23:23,620 --> 00:23:25,560 మరియు 55 పాయింటర్ వెళ్ళాలి? 557 00:23:25,560 --> 00:23:27,000 డౌన్ శూన్య ప్రాతినిధ్యం. 558 00:23:27,000 --> 00:23:28,890 మరియు నా చేతులు, ఈ సమయంలో, లేదు వారు కేవలం ఎందుకంటే పట్టింపు 559 00:23:28,890 --> 00:23:30,070 తాత్కాలిక వేరియబుల్. 560 00:23:30,070 --> 00:23:31,030 కాబట్టి ఇప్పుడు మేము పూర్తి చేసిన. 561 00:23:31,030 --> 00:23:34,650 >> సో అదనపు అక్కడ సంక్లిష్టత - మరియు అది అమలు ఆ హార్డ్ కాదు 562 00:23:34,650 --> 00:23:38,660 కానీ మేము రెండవ వేరియబుల్ అవసరం ఖచ్చితంగా ఆ నా కుడి తరలించడానికి ముందు 563 00:23:38,660 --> 00:23:42,140 చేతి, నేను నా ఎడమ విలువ అప్డేట్ చేతి, pred ఈ విషయంలో పాయింటర్, కాబట్టి 564 00:23:42,140 --> 00:23:45,860 నేను ఒక వెనుకంజలో పాయింటర్ కలిగి నేను అక్కడ ట్రాక్. 565 00:23:45,860 --> 00:23:49,360 ఇప్పుడు జనాంతికంగా, మీరు ఈ అనుకున్నది ఉంటే ఇది వంటి ద్వారా, ఈ అనిపిస్తుంది ఒక 566 00:23:49,360 --> 00:23:51,490 పెట్టాలి కొద్దిగా బాధించే ఈ ఎడమ చేతి యొక్క ట్రాక్. 567 00:23:51,490 --> 00:23:54,015 >> ఏమి మరొక పరిష్కారం చేస్తాను ఈ సమస్యకు ఉన్నాయి? 568 00:23:54,015 --> 00:23:56,500 మీరు డేటా డిజైన్ వచ్చింది ఉంటే మేము ఎవరితో మాట్లాడుతున్నామో నిర్మాణం 569 00:23:56,500 --> 00:23:59,630 ప్రస్తుతం ద్వారా? 570 00:23:59,630 --> 00:24:02,690 ఈ కేవలం ఒక విధమైన చిన్న భావిస్తే , ఇష్టం, రెండు పాయింటర్లు కలిగి బాధించే 571 00:24:02,690 --> 00:24:08,430 ఎవరితో, జాబితా ద్వారా కాలేదు వెళుతున్న , ఆదర్శవంతమైన ప్రపంచంలో, నిర్వహించారు 572 00:24:08,430 --> 00:24:10,160 మేము అవసరమైన సమాచారం? 573 00:24:10,160 --> 00:24:11,360 అవును? 574 00:24:11,360 --> 00:24:12,610 >> STUDENT: [వినబడని]. 575 00:24:12,610 --> 00:24:15,160 576 00:24:15,160 --> 00:24:16,150 >> SPEAKER 1: సరిగ్గా. 577 00:24:16,150 --> 00:24:19,130 కుడి కాబట్టి ఒక ఆసక్తికరమైన నిజానికి ఉంది ఒక ఆలోచన యొక్క బీజ. 578 00:24:19,130 --> 00:24:22,470 మరియు ఒక మునుపటి పాయింటర్ ఈ ఆలోచన, మునుపటి మూలకం వద్ద గురిపెట్టి. 579 00:24:22,470 --> 00:24:25,580 నేను కేవలం మూర్తీభవించిన ఉంటే జాబితా యొక్క లోపల? 580 00:24:25,580 --> 00:24:27,810 మరియు అది ఆలోచించడం కష్టం అవకాశముంది ఈ అన్ని కాగితం లేకుండా 581 00:24:27,810 --> 00:24:28,830 ఫ్లోర్ పడిపోయాడు. 582 00:24:28,830 --> 00:24:31,860 కానీ ఈ కుర్రాళ్ళు రెండు ఉపయోగించిన ఊహించు వారి చేతులు మునుపటి కలిగి 583 00:24:31,860 --> 00:24:35,950 తద్వారా పాయింటర్, మరియు ఒక రాబోయే పాయింటర్, మేము ఒక ఎన్నటికీ కాల్ చేస్తాము ఏమి అమలు 584 00:24:35,950 --> 00:24:36,830 లింక్ జాబితా. 585 00:24:36,830 --> 00:24:41,090 ఆ, నాకు రివైండ్ యొక్క క్రమం అనుమతించే మరింత సులభంగా నాకు లేకుండా, 586 00:24:41,090 --> 00:24:43,800 ప్రోగ్రామర్, ఉంచాలని కలిగి మానవీయంగా ట్రాక్ - 587 00:24:43,800 --> 00:24:44,980 నిజంగా మానవీయంగా - 588 00:24:44,980 --> 00:24:47,280 నేను గతంలో ఇక్కడ జాబితాలో. 589 00:24:47,280 --> 00:24:48,110 కనుక మనం అలా ఉంటుంది. 590 00:24:48,110 --> 00:24:50,950 ఆ ఎందుకంటే మేము అది సాధారణ ఉంటాం రెండుసార్లు వంటి, ఒక ధర వద్ద వచ్చి వెళుతున్న 591 00:24:50,950 --> 00:24:53,450 గమనికలు చాలా స్పేస్, మీరు మరో కావాలా. 592 00:24:53,450 --> 00:24:55,760 కానీ ఆ సామాన్య వార్తలు డేటా నిర్మాణం అంటారు 593 00:24:55,760 --> 00:24:57,410 రెట్టింపైన జాబితా లింక్. 594 00:24:57,410 --> 00:25:01,310 >> ఇక్కడ చివరి ఉదాహరణకు చేయండి మరియు చాలు లెట్ యొక్క వారి కష్టాలను బయటకు ఈ కుర్రాళ్ళు. 595 00:25:01,310 --> 00:25:03,270 Malloc 20 కాబట్టి. 596 00:25:03,270 --> 00:25:05,320 అక్కడ నడవ నుండి న కమ్. 597 00:25:05,320 --> 00:25:06,280 అన్ని కుడి, మీ పేరు ఏమిటి? 598 00:25:06,280 --> 00:25:07,440 >> STUDENT: [వినబడని]. 599 00:25:07,440 --> 00:25:07,855 >> SPEAKER 1: క్షమించండి? 600 00:25:07,855 --> 00:25:08,480 >> STUDENT: [వినబడని]. 601 00:25:08,480 --> 00:25:09,410 >> SPEAKER 1: Demeron? 602 00:25:09,410 --> 00:25:10,230 OK మీద వస్తాయి. 603 00:25:10,230 --> 00:25:11,910 మీరు 20 ఉండాలి. 604 00:25:11,910 --> 00:25:14,720 మీరు ఖచ్చితంగా వెళ్తున్నారు 17 మరియు 22 మధ్య చెందిన. 605 00:25:14,720 --> 00:25:16,150 సో నాకు నా పాఠం తెలుసుకోవడానికి వీలు. 606 00:25:16,150 --> 00:25:18,150 నేను పాయింటర్ ప్రారంభించడానికి వెళుతున్నాను బ్రియాన్ వద్ద గురిపెట్టి. 607 00:25:18,150 --> 00:25:21,190 మరియు నేను నా ఎడమ చేతి కలిగి వెళుతున్నాను నేను తరలి మాత్రమే బ్రియాన్ నవీకరించండి 608 00:25:21,190 --> 00:25:23,600 జాసన్, తనిఖీని తొమ్మిది కంటే 20 తక్కువ చేస్తుంది? 609 00:25:23,600 --> 00:25:24,060 నం 610 00:25:24,060 --> 00:25:25,430 17 కంటే 20 తక్కువ? 611 00:25:25,430 --> 00:25:25,880 నం 612 00:25:25,880 --> 00:25:27,450 22 కంటే 20 తక్కువ? 613 00:25:27,450 --> 00:25:28,440 అవును. 614 00:25:28,440 --> 00:25:34,070 సో వాట్ గమనికలు లేదా మార్చాలి అవసరం అక్కడ వారు ఇప్పుడు గురిపెట్టి చేస్తున్నాం? 615 00:25:34,070 --> 00:25:37,070 >> కనుక మనం 20 వద్ద గురిపెట్టి 17 చేయవచ్చు. 616 00:25:37,070 --> 00:25:37,860 తద్వారా మంచిది. 617 00:25:37,860 --> 00:25:40,080 అక్కడ సూచించాలని అనుకుంటాయి లేదు మీ పాయింటర్ ఇప్పుడు? 618 00:25:40,080 --> 00:25:41,330 22. 619 00:25:41,330 --> 00:25:45,410 22 ఇక్కడ మరియు మేము మళ్ళీ, ధన్యవాదాలు తెలుసు నా తాత్కాలిక పాయింటర్ కు. 620 00:25:45,410 --> 00:25:46,760 కనుక మనం OK అక్కడ ఉన్నందుకు. 621 00:25:46,760 --> 00:25:49,440 ఎందుకనగా ఈ తాత్కాలిక నిల్వ నేను ప్రతి ఒక్కరూ ఇక్కడ ట్రాక్ ఉంచింది చేసిన. 622 00:25:49,440 --> 00:25:55,055 మరియు ఇప్పుడు మీరు దృష్టి పేరు లోకి వెళ్ళే మీరు చెందిన, మరియు ఇప్పుడు మేము 1, 2, 3, అవసరం 623 00:25:55,055 --> 00:25:58,410 4, 5, 6, 7, 8, 9 ఒత్తిడి బంతుల్లో, మరియు ప్రశంసలను ఒక రౌండ్ 624 00:25:58,410 --> 00:25:59,770 ఈ అబ్బాయిలు, మేము చేస్తే. 625 00:25:59,770 --> 00:26:00,410 చక్కగా పూర్తి. 626 00:26:00,410 --> 00:26:05,320 >> [ప్రశంసలను] 627 00:26:05,320 --> 00:26:06,330 >> SPEAKER 1: అన్ని కుడి. 628 00:26:06,330 --> 00:26:09,860 మరియు మీరు ముక్కలు ఉండేందుకు కారణమవుతుంది మెమెన్టోస్ వంటి కాగితం. 629 00:26:09,860 --> 00:26:15,930 >> అన్ని కుడి, కాబట్టి, ఇది చాలా నాకు విశ్వసిస్తే సులభంగా ఆ నడవడానికి 630 00:26:15,930 --> 00:26:17,680 ఇది వాస్తవ కోడ్ తో కంటే మానవులు. 631 00:26:17,680 --> 00:26:22,690 కానీ మీరు ఒక క్షణం లో చూడండి ఇప్పుడు, అదే ఉంది - ఓహ్, ధన్యవాదాలు. 632 00:26:22,690 --> 00:26:23,630 ధన్యవాదాలు - 633 00:26:23,630 --> 00:26:29,360 మీరు అదే డేటా చూడండి అని నిర్మాణం, ఒక లింక్ జాబితా, వాస్తవానికి 634 00:26:29,360 --> 00:26:33,200 మరింత ఒక బిల్డింగ్ బ్లాక్ ఉపయోగిస్తారు అధునాతన డేటా నిర్మాణాలు. 635 00:26:33,200 --> 00:26:37,620 >> మరియు ఇక్కడ చాలా థీమ్ తెలుసుకోవటం అని మేము ఖచ్చితంగా ఎక్కువ పరిచయం చేసిన 636 00:26:37,620 --> 00:26:40,060 అమలు లోకి సంక్లిష్టత ఈ అల్గోరిథం. 637 00:26:40,060 --> 00:26:43,940 చేర్పు, మరియు మేము అది వెళ్ళినట్లయితే, తొలగింపు మరియు శోధన, ఒక చిన్న ఉంది 638 00:26:43,940 --> 00:26:46,660 ఇది కంటే మరింత క్లిష్టంగా వ్యూహం తో. 639 00:26:46,660 --> 00:26:48,040 కానీ కొన్ని చైతన్యానికి పొందటానికి. 640 00:26:48,040 --> 00:26:50,180 మేము ఒక అనుకూల డేటా నిర్మాణం పొందుటకు. 641 00:26:50,180 --> 00:26:54,010 >> కానీ మళ్ళీ, మేము కొన్ని కలిగి ధర చెల్లించడానికి అదనపు సంక్లిష్టత, రెండు 642 00:26:54,010 --> 00:26:54,910 అది అమలు. 643 00:26:54,910 --> 00:26:56,750 మరియు మేము రాండమ్ యాక్సెస్ అప్ ఇచ్చిన చేస్తున్నారు. 644 00:26:56,750 --> 00:27:00,450 మరియు నిజాయితీ ఉండాలి, కొన్ని nice లేదు వార్తలు స్లయిడ్ శుభ్రం నేను మీరు ఇవ్వగలిగిన ఆ 645 00:27:00,450 --> 00:27:03,120 ఇక్కడ చెప్పారు ఎందుకు ఒక లింక్ జాబితా ఒక అర్రే కంటే ఉత్తమం. 646 00:27:03,120 --> 00:27:04,100 మరియు ఆ వదిలి. 647 00:27:04,100 --> 00:27:07,520 థీమ్ కూడా, ఇప్పుడు reoccurring ఎందుకంటే మరింత కాబట్టి రాబోయే వారాలలో, ఉంది 648 00:27:07,520 --> 00:27:10,200 తప్పనిసరిగా కాదు ఒక సరైన సమాధానం. 649 00:27:10,200 --> 00:27:13,830 >> మేము ప్రత్యేక అక్షం ఎందుకు ఈ ఉంది ప్రాబ్లం సెట్స్ రూపకల్పన యొక్క. 650 00:27:13,830 --> 00:27:17,700 ఇది చాలా సందర్భంలో సున్నితమైన ఉంటుంది మీరు ఈ డేటాను ఉపయోగించడానికి నిశ్చఇ 651 00:27:17,700 --> 00:27:21,750 నిర్మాణం లేదా ఒక, మరియు అది పరంగా మీరు వాట్ మాటర్స్ ఆధారపడి 652 00:27:21,750 --> 00:27:24,620 వనరులు మరియు సంక్లిష్టత. 653 00:27:24,620 --> 00:27:28,830 >> కానీ నాకు ప్రతిపాదన చేసే ఆదర్శ డేటా నిర్మాణం, హోలీ గ్రెయిల్, ఉంటుంది 654 00:27:28,830 --> 00:27:32,200 స్థిరంగా సమయం ఏదో, సంబంధం లేకుండా చాలా stuff ఉంది ఎలా 655 00:27:32,200 --> 00:27:36,940 అది లోపల, అది అద్భుతమైన కాదు ఒక ఉంటే డేటా నిర్మాణం సమాధానాలు తిరిగి 656 00:27:36,940 --> 00:27:37,920 స్థిరంగా సమయం. 657 00:27:37,920 --> 00:27:38,330 అవును. 658 00:27:38,330 --> 00:27:40,110 ఈ పదం మీ భారీ నిఘంటువులో ఉంది. 659 00:27:40,110 --> 00:27:41,550 లేదా సంఖ్య, ఈ పదం కాదు. 660 00:27:41,550 --> 00:27:43,270 లేదా అక్కడ ఏ సమస్యా. 661 00:27:43,270 --> 00:27:46,360 చెప్పండి మేము కనీసం పోతే ఆ దిశగా ఒక అడుగు తీసుకోవాలని. 662 00:27:46,360 --> 00:27:50,190 >> నాకు ఒక క్రొత్త డేటా నిర్మాణం ప్రతిపాదించారు అనుమతించే వివిధ కారణాలరీత్యా ఉపయోగించవచ్చు, 663 00:27:50,190 --> 00:27:52,260 ఈ సందర్భంలో ఒక హాష్ పట్టిక అని. 664 00:27:52,260 --> 00:27:55,590 అందువలన మేము చూసుకుంటూ ఉండడాన్ని తిరిగి నిజానికి ఉన్నాము ఒక ఈ విషయంలో శ్రేణిని, మరియు 665 00:27:55,590 --> 00:28:00,550 కొంతవరకు ఏకపక్ష, నేను ఈ డ్రా చేసిన ఒక విధమైన ఒక వ్యూహం హాష్ పట్టిక 666 00:28:00,550 --> 00:28:02,810 రెండు డైమెన్షనల్ శ్రేణి - 667 00:28:02,810 --> 00:28:05,410 లేదా బదులుగా ఒక రెండు ఇక్కడ వర్ణించబడిన లో డైమెన్షనల్ శ్రేణి - కానీ ఈ కేవలం 668 00:28:05,410 --> 00:28:10,770 అంత పరిమాణం 26 ఒక వరుస ఒకవేళ మేము అర్రే పట్టిక, పట్టిక బ్రాకెట్ కాల్ 669 00:28:10,770 --> 00:28:12,440 సున్నా పైన దీర్ఘ చతురస్రంగా చెప్పవచ్చు. 670 00:28:12,440 --> 00:28:15,090 టేబుల్ బ్రాకెట్ 25 దీర్ఘ చతురస్రం అనేది దిగువన. 671 00:28:15,090 --> 00:28:18,620 మరియు ఈ నేను ఒక డేటా డ్రా ఎలా ఉంది నేను నిల్వ చేయడానికి మీరు ఏ నిర్మాణం 672 00:28:18,620 --> 00:28:19,790 ప్రజల పేర్లు. 673 00:28:19,790 --> 00:28:24,370 >> సో ఉదాహరణకు, మరియు నేను డ్రా లేదు ఇక్కడ ఓవర్ హెడ్ న మొత్తం విషయం, నేను 674 00:28:24,370 --> 00:28:29,160 నేను ఇప్పుడు వెళుతున్న ఈ శ్రేణి కలిగి ఒక హాష్ పట్టిక కాల్, మరియు మళ్ళీ ఉంది 675 00:28:29,160 --> 00:28:31,360 నగర సున్నా. 676 00:28:31,360 --> 00:28:34,840 ఈ ఇక్కడ స్థానం ఒక, మొదలగునవి. 677 00:28:34,840 --> 00:28:37,880 నేను ఈ డేటాను ఉపయోగించడానికి కావలసిన క్లెయిమ్ నిర్మాణం, చర్చ కొరకు, 678 00:28:37,880 --> 00:28:42,600 ప్రజల పేర్లు నిల్వ, అలైస్ మరియు బాబ్ మరియు చార్లీ మరియు ఇతర పేర్లు. 679 00:28:42,600 --> 00:28:46,110 సో ప్రారంభం ఇప్పుడు ఈ అనుకుంటున్నారో ఒక నిఘంటువు, చెప్పటానికి, యొక్క 680 00:28:46,110 --> 00:28:47,520 పదాల మా తో. 681 00:28:47,520 --> 00:28:49,435 వారు పేర్లు కావడం ఇక్కడ మా ఉదాహరణలో. 682 00:28:49,435 --> 00:28:52,560 మరియు ఈ, బహుశా, అన్ని చాలా సంబంధించి ఉంది మేము వంటి, ఒక స్పెల్ చెకర్ అమలు 683 00:28:52,560 --> 00:28:54,400 సమస్య కోసం ఆరు సెట్ ఉండవచ్చు. 684 00:28:54,400 --> 00:28:59,300 >> మేము మొత్తం పరిమాణం 26 వ్యూహం కలిగి ఉంటే ఈ 25 నగర దీని 685 00:28:59,300 --> 00:29:03,390 దిగువన, మరియు నేను ఆలిస్ చెప్పడము యొక్క నిఘంటువులో మొదటి పదం 686 00:29:03,390 --> 00:29:07,260 నేను RAM ఇన్సర్ట్ చేయాలనుకున్న పేర్లు, ఈ డేటాను నిర్మాణాన్ని, చోట 687 00:29:07,260 --> 00:29:12,480 మీరు చెప్పడం ప్రవృత్తులు అలైస్ యొక్క పేరు ఈ శ్రేణి లో వెళ్ళాలి? 688 00:29:12,480 --> 00:29:13,510 >> మేము 26 ఎంపికలు ఉన్నాయి. 689 00:29:13,510 --> 00:29:14,990 మేము ఆమె చాలు ఎక్కడ? 690 00:29:14,990 --> 00:29:16,200 మేము, బ్రాకెట్ సున్నా ఆమె కావలసిన కుడి? 691 00:29:16,200 --> 00:29:18,280 ఆలిస్ ఒక, యొక్క ఆ సున్నా కాల్ చెయ్యనివ్వండి. 692 00:29:18,280 --> 00:29:20,110 మరియు B అవుతుంది, మరియు సి రెండు ఉంటుంది. 693 00:29:20,110 --> 00:29:22,600 కనుక మనం రాయాలో చేస్తున్నారు ఇక్కడ ఆలిస్ యొక్క పేరు అప్. 694 00:29:22,600 --> 00:29:24,890 మేము అప్పుడు బాబ్ అతని ఇన్సర్ట్ ఉంటే పేరు ఇక్కడ వెళ్తుంది. 695 00:29:24,890 --> 00:29:27,280 చార్లీ ఇక్కడ వెళ్తుంది. 696 00:29:27,280 --> 00:29:30,500 మొదలగునవి డౌన్ ద్వారా ఈ డేటాను నిర్మాణం. 697 00:29:30,500 --> 00:29:32,090 >> ఈ ఒక అద్భుతమైన డేటా నిర్మాణం. 698 00:29:32,090 --> 00:29:32,730 ఎందుకు? 699 00:29:32,730 --> 00:29:37,460 బాగా రన్నింగ్ సమయం ఏమిటి ఈ ఒక మానవ యొక్క పేరు చేరిక 700 00:29:37,460 --> 00:29:39,850 ప్రస్తుతం డేటా నిర్మాణం? 701 00:29:39,850 --> 00:29:43,702 ఈ పట్టిక అమలు ఉంటుంది, నిజంగా, ఒక వ్యూహం. 702 00:29:43,702 --> 00:29:44,940 బాగా స్థిరంగా సమయం. 703 00:29:44,940 --> 00:29:45,800 ఇది ఒక ఆఫ్ ఆర్డర్ యొక్క. 704 00:29:45,800 --> 00:29:46,360 ఎందుకు? 705 00:29:46,360 --> 00:29:48,630 >> బాగా ఎలా మీరు గుర్తించేందుకు లేదు ఆలిస్ చెందినదే? 706 00:29:48,630 --> 00:29:51,000 మీరు ఆమె పేరు యొక్క లెటర్ చూడండి? 707 00:29:51,000 --> 00:29:51,490 మొదటి. 708 00:29:51,490 --> 00:29:54,350 అది ఒక స్ట్రింగ్ ఉంటే మరియు మీరు,, అక్కడ పొందవచ్చు కేవలం స్ట్రింగ్ చూడటం ద్వారా 709 00:29:54,350 --> 00:29:55,200 బ్రాకెట్ సున్నా. 710 00:29:55,200 --> 00:29:57,110 స్ట్రింగ్ యొక్క జేరోయేత్ పాత్ర కాబట్టి. 711 00:29:57,110 --> 00:29:57,610 చాలా సులభం. 712 00:29:57,610 --> 00:30:00,350 మేము crypto ఆ చేసింది అప్పగించిన వారాల క్రితం. 713 00:30:00,350 --> 00:30:05,310 ఆపై ఒకసారి మీరు అలైస్ యొక్క తెలుసు లేఖ ఒక రాజధాని, మేము తగ్గించు చేయవచ్చు 714 00:30:05,310 --> 00:30:08,160 65 లేదా రాజధానిని కూడా, ఆఫ్ మాకు సున్నా అవుతుంది. 715 00:30:08,160 --> 00:30:10,940 కనుక మనం ఇప్పుడు ఆలిస్ చెందిన తెలుసు నగర సున్నా వద్ద. 716 00:30:10,940 --> 00:30:14,240 >> మరియు ఈ డేటాను ఒక పాయింటర్ ఇచ్చిన నిర్మాణం, కొంత, ఎంత చేస్తుంది 717 00:30:14,240 --> 00:30:18,840 ఇది నగర కనుగొనేందుకు నాకు పడుతుంది వ్యూహంలో సున్నాకి? 718 00:30:18,840 --> 00:30:22,080 కేవలం ఒక అడుగు, కుడి ఇది స్థిరంగా సమయం రాండమ్ యాక్సెస్ ఎందుకంటే మేము 719 00:30:22,080 --> 00:30:23,780 ప్రతిపాదిత వ్యూహం యొక్క ఒక లక్షణం ఉంది. 720 00:30:23,780 --> 00:30:28,570 సో లఘు, ఇందుకు ఏ ఇండెక్స్ ఆలీస్ యొక్క పేరు లో, ఇది ఉంది 721 00:30:28,570 --> 00:30:32,610 ఈ సందర్భంలో, ఒక ఉంది, లేదా లెట్స్ కేవలం పరిష్కరించడానికి సున్నాకి, పేరు B ఒకటి మరియు C అని 722 00:30:32,610 --> 00:30:34,900 రెండు, ఆ చేయాలనుకుంటున్నాను స్థిరంగా సమయం. 723 00:30:34,900 --> 00:30:38,510 నేను, ఆమె మొదటి లేఖ చూడండి కలిగి సున్నా పేరు ఇందుకు ఒక 724 00:30:38,510 --> 00:30:40,460 అర్రే స్థిరంగా సమయం. 725 00:30:40,460 --> 00:30:42,140 సాంకేతికంగా ఆ ఇప్పుడు రెండు దశలను వంటి. 726 00:30:42,140 --> 00:30:43,330 కానీ ఇప్పటికీ స్థిరంగా ఉంది. 727 00:30:43,330 --> 00:30:46,880 కనుక మనం ఒక ఆఫ్ పెద్ద O కాల్, కాబట్టి మేము చేసిన ఈ పట్టిక ఆలిస్ చేర్చబడుతుంది 728 00:30:46,880 --> 00:30:48,440 స్థిరంగా సమయం. 729 00:30:48,440 --> 00:30:50,960 >> కానీ కోర్సు యొక్క, నేను ఉండటం వెబ్ ఇక్కడ అమాయక, కుడి? 730 00:30:50,960 --> 00:30:53,240 ఏ తరగతి లో ఒక ఆరోన్ ఉంది ఉంటే? 731 00:30:53,240 --> 00:30:53,990 లేదా అలిసియా? 732 00:30:53,990 --> 00:30:57,230 లేదా ఏ ఇతర పేర్లతో మొదలు A. ఎక్కడ మేము చాలు వెళ్తున్నారు 733 00:30:57,230 --> 00:31:00,800 ఆ వ్యక్తి కుడి? 734 00:31:00,800 --> 00:31:03,420 నా ఉద్దేశ్యం, ప్రస్తుతం కేవలం మూడు ఉంది పట్టిక ప్రజలు, కాబట్టి ఉండవచ్చు మేము 735 00:31:03,420 --> 00:31:07,490 స్థానంలో ఆరోన్ చాలు ఉండాలి సున్నా ఒకటి రెండు మూడు. 736 00:31:07,490 --> 00:31:09,480 >> రైట్, నేను ఇక్కడ ఒక చాలు కాలేదు. 737 00:31:09,480 --> 00:31:13,350 కానీ అప్పుడు, మేము లోకి డేవిడ్ ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నించండి ఉంటే ఈ జాబితా, డేవిడ్ గడిచిపోయింది? 738 00:31:13,350 --> 00:31:15,170 ఇప్పుడు మా సిస్టమ్ బద్దలు మొదలవుతుంది డౌన్, కుడి? 739 00:31:15,170 --> 00:31:19,210 ఇప్పుడు డేవిడ్ ఇక్కడ ముగుస్తుంది ఎందుకంటే ఆరోన్ ఇక్కడ నిజానికి ఉంటే. 740 00:31:19,210 --> 00:31:23,060 ఒక కలిగి మరియు కాబట్టి ఇప్పుడు ఈ మొత్తం ఆలోచన మాకు ఇచ్చే శుభ్రంగా డేటా నిర్మాణం 741 00:31:23,060 --> 00:31:28,010 స్థిరంగా సమయం ప్రక్షిప్తాలు లేదు నేను ఎందుకంటే స్థిరంగా సమయం, 742 00:31:28,010 --> 00:31:31,240 తనిఖీ, OH, damnit, ఎవరైనా ఇప్పటికే ఆలిస్ యొక్క స్థానంలో. 743 00:31:31,240 --> 00:31:35,320 >> నాకు ఈ డేటాను మిగిలిన ప్రోబ్ లెట్ నిర్మాణం, ఉంచాలి ఒక స్థానం కోసం చూస్తున్న 744 00:31:35,320 --> 00:31:37,130 ఆరోన్ యొక్క పేరు వలె ఎవరైనా. 745 00:31:37,130 --> 00:31:39,390 మరియు కనుక ప్రారంభమైనదని సరళ సమయాన్ని. 746 00:31:39,390 --> 00:31:42,710 అంతేకాక, మీరు ఇప్పుడు కావలసిన ఉంటే ఈ డేటాను నిర్మాణం ఆరోన్, మరియు మీరు 747 00:31:42,710 --> 00:31:45,430 తనిఖీ, మరియు ఆరన్ యొక్క పేరు ఇక్కడ లేదు. 748 00:31:45,430 --> 00:31:47,960 ఆదర్శవంతంగా, మీరు కేవలం ఆరోన్ యొక్క చెబుతా కాదు డేటా నిర్మాణం లో. 749 00:31:47,960 --> 00:31:51,530 కానీ మీరు ఉంటే శ్రీకారం చుట్టారు మొదలు ఆరోన్ పేరు ఒక D ఉన్నాయి ఉండాలి 750 00:31:51,530 --> 00:31:55,600 లేదా ఒక E, మీరు, చెత్త సందర్భంలో, తనిఖీ కలిగి మొత్తం డేటా నిర్మాణం, 751 00:31:55,600 --> 00:31:59,480 ఏదో లోకి devolves ఇది కేసు పట్టిక పరిమాణంలో సరళ. 752 00:31:59,480 --> 00:32:00,920 >> అన్ని కుడి కాబట్టి, నేను ఈ పరిష్కరించడానికి ఉంటాం. 753 00:32:00,920 --> 00:32:04,200 ఇక్కడ సమస్య ఏమిటంటే నేను ఉన్నాడు ఈ శ్రేణి లో 26 అంశాలు. 754 00:32:04,200 --> 00:32:05,000 నాకు మార్చడానికి వీలు. 755 00:32:05,000 --> 00:32:06,010 అయ్యో. 756 00:32:06,010 --> 00:32:10,600 బదులుగా, దీని వలన నాకు మార్చడానికి లెట్ మొత్తం పరిమాణం 26, దిగువ గమనించవచ్చు 757 00:32:10,600 --> 00:32:12,720 ఇండెక్స్ n మైనస్ 1 మార్చడం కానుంది. 758 00:32:12,720 --> 00:32:16,610 26 మానవుల కోసం స్పష్టంగా చాలా చిన్న ఉంటే పేర్లు, ఎందుకంటే వేల ఉంది 759 00:32:16,610 --> 00:32:20,830 ప్రపంచ పేర్లు, యొక్క మనం వీలు 100 లేదా 1000 లేదా 10,000. 760 00:32:20,830 --> 00:32:22,960 యొక్క కేవలం ఒక చాలా స్పేస్ కేటాయించుటకు లెట్. 761 00:32:22,960 --> 00:32:27,230 >> బాగా తప్పనిసరిగా తగ్గదని ఆ మేము రెండు ఉండదు సంభావ్యత 762 00:32:27,230 --> 00:32:31,510 పేర్లతో ప్రజలు ఒక ప్రారంభమై, కాబట్టి, మీరు ఒక ఉంచాలి ప్రయత్నించండి చేయబోతున్నట్లు 763 00:32:31,510 --> 00:32:33,120 ఇప్పటికీ నగర సున్నా వద్ద పేర్లు. 764 00:32:33,120 --> 00:32:36,850 వారు ఇప్పటికీ, ఢీకొను చేయబోతున్నామని ఇది మేము ఇంకా చాలు ఒక పరిష్కారం అవసరం అంటే 765 00:32:36,850 --> 00:32:41,020 ఆలిస్ మరియు ఆరోన్ మరియు అలిసియా మరియు ఇతర ఒక మరెక్కడా ప్రారంభమయ్యే పేర్లు. 766 00:32:41,020 --> 00:32:43,460 కానీ ఈ ఎంత సమస్య ఉంది? 767 00:32:43,460 --> 00:32:46,870 సంభావ్యత ఏమిటి అని మీరు ఒక డేటా పోటీలతో కలిగి 768 00:32:46,870 --> 00:32:48,240 ఈ వంటి నిర్మాణం? 769 00:32:48,240 --> 00:32:52,570 >> బాగా, నాకు తెలపండి - మేము తిరిగి వచ్చి ఉంటుంది ఇక్కడ ప్రశ్న. 770 00:32:52,570 --> 00:32:55,530 మరియు ఎలా మేము వాటిని చూడండి మొదటి దాని పరిష్కార. 771 00:32:55,530 --> 00:32:58,480 నాకు ఇక్కడ ఈ ప్రతిపాదన పుల్ అప్ లెట్. 772 00:32:58,480 --> 00:33:02,020 మనం పైన వివరించిన, ఒక అల్గోరిథం సరళ అనే సమస్య పరిష్కార 773 00:33:02,020 --> 00:33:05,030 మీరు ఇన్సర్ట్ ప్రయత్నించాడు ఉంటే, అనగా ఛేదించి ఈ డేటాను ఇక్కడ ఏదో 774 00:33:05,030 --> 00:33:08,920 ఒక హాష్ పట్టిక అంటారు నిర్మాణం, మరియు గది మీరు, అక్కడ వార్తలు 775 00:33:08,920 --> 00:33:12,000 నిజంగా డేటా నిర్మాణం ప్రోబ్ తనిఖీ, ఈ అందుబాటులో ఉంది? 776 00:33:12,000 --> 00:33:13,430 ఈ అందుబాటులో ఈ అందుబాటులో ఉంది? 777 00:33:13,430 --> 00:33:13,980 ఈ అందుబాటులో ఉంది? 778 00:33:13,980 --> 00:33:17,550 మరియు అది చివరికి ఉన్నప్పుడు, మీరు ఇన్సర్ట్ మీరు మొదట భావించిన పేరు 779 00:33:17,550 --> 00:33:19,370 ఏదో ఒకచోట ఆ స్థానంలో. 780 00:33:19,370 --> 00:33:23,360 కానీ చెత్త సందర్భంలో, మాత్రమే స్పాట్ డేటా చాలా దిగువ కావచ్చు 781 00:33:23,360 --> 00:33:25,090 నిర్మాణం, అర్రే యొక్క చివరిలో. 782 00:33:25,090 --> 00:33:30,130 >> సో సరళ చెత్త సందర్భంలో, ఛేదించి, ఒక సరళ అల్గోరిథం లోకి devolves పేరు 783 00:33:30,130 --> 00:33:34,500 ఆరోన్, అతను గత ఉండటాన్ని జరిగితే ఈ డేటాను నిర్మాణం లో, అతను వాటిని 784 00:33:34,500 --> 00:33:39,540 ఈ మొదటి స్థానాన్ని తో ఢీకొను, కానీ అప్పుడు చాలా చివర దురదృష్టం నిలిపివేస్తున్నట్లు. 785 00:33:39,540 --> 00:33:43,940 సో ఈ ఒక స్థిరమైనది కాదు మాకు సమయం హోలీ గ్రెయిల్. 786 00:33:43,940 --> 00:33:47,650 ఇన్సర్ట్ అంశాలను ఈ విధానం లోకి ఒక డేటా నిర్మాణం ఒక హాష్ అని 787 00:33:47,650 --> 00:33:52,050 పట్టిక స్థిరంగా సమయం అనిపించడం లేదు కనీసం సాధారణ విషయంలో. 788 00:33:52,050 --> 00:33:54,000 ఇది దీర్ఘ ఏదో లోకి బదిలీ చేయవచ్చు. 789 00:33:54,000 --> 00:33:56,970 >> మేము గుద్దుకోవటం పరిష్కరించడానికి సో వాట్ ఉంటే కొంతవరకు భిన్నంగా? 790 00:33:56,970 --> 00:34:00,740 ఇక్కడ మరింత అధునాతనమైన వార్తలు ఇప్పటికీ ఏమి సంప్రదించే 791 00:34:00,740 --> 00:34:02,800 ఒక హాష్ పట్టిక అని. 792 00:34:02,800 --> 00:34:05,890 మరియు హాష్ ద్వారా, ఒక ప్రక్కన, ఏమి వంటి నేను ఆ సూచిక అర్థం 793 00:34:05,890 --> 00:34:07,070 నేను ముందు సూచిస్తారు. 794 00:34:07,070 --> 00:34:09,810 కు హాష్ ఏదో ఉంటుంది క్రియ యొక్క ఆలోచన. 795 00:34:09,810 --> 00:34:13,690 >> మీరు హాష్ ఆలిస్ ఒక పేరు, తద్వారా హాష్ విధి, మాట్లాడటానికి, 796 00:34:13,690 --> 00:34:14,710 ఒక సంఖ్య తిరిగి ఉండాలి. 797 00:34:14,710 --> 00:34:18,199 ఆమె వద్ద చెందిన ఈ సందర్భంలో సున్నా ఆమె వద్ద చెందిన ఉంటే నగర సున్నా, ఒకటి 798 00:34:18,199 --> 00:34:20,000 నగర ఒక, మొదలగునవి. 799 00:34:20,000 --> 00:34:24,360 నా హాష్ ఫంక్షన్ను ఇప్పటివరకు ఉంది సాధారణ సూపర్ మాత్రమే చూడటం 800 00:34:24,360 --> 00:34:26,159 ఒకరి పేరు లో మొదటి అక్షరం. 801 00:34:26,159 --> 00:34:29,090 కానీ హాష్ విధి తీసుకుని ఇన్పుట్ డేటా యొక్క కొన్ని ముక్క, ఒక 802 00:34:29,090 --> 00:34:30,210 స్ట్రింగ్, ఒక Int, సంసార. 803 00:34:30,210 --> 00:34:32,239 మరియు అది సాధారణంగా అనేక ఉమ్మి వేస్తారు. 804 00:34:32,239 --> 00:34:35,739 మరియు ఆ సంఖ్య అనేది డేటా మూలకం డేటా నిర్మాణం చెందిన 805 00:34:35,739 --> 00:34:37,800 ఒక హాష్ పట్టిక ఇక్కడ ప్రసిద్ధి. 806 00:34:37,800 --> 00:34:41,400 >> సో కేవలం అకారణంగా, ఈ ఒక కొద్దిగా భిన్నమైన సందర్భంలో. 807 00:34:41,400 --> 00:34:44,170 ఈ నిజానికి ఒక ఉదాహరణ సూచిస్తుంది పాల్గొన్న పుట్టినరోజులు, పేరు 808 00:34:44,170 --> 00:34:46,850 అనేక ఉండవచ్చు నెలలో 31 రోజులు. 809 00:34:46,850 --> 00:34:52,239 కానీ ఈ వ్యక్తి ఏమి నిర్ణయించుకుంటారు లేదు ఢీకొన్న సందర్భంలో చేయండి? 810 00:34:52,239 --> 00:34:55,304 విషయం ఇప్పుడు, ఒక ఖండించు నష్టం పేర్లు, కానీ పుట్టిన ఘర్షణ 811 00:34:55,304 --> 00:35:00,760 రెండు ప్రజలు ఒకే పుట్టినరోజు కలిగి ఉంటే ఉదాహరణకు అక్టోబర్ 2 వ. 812 00:35:00,760 --> 00:35:02,120 >> STUDENT: [వినబడని]. 813 00:35:02,120 --> 00:35:05,010 >> SPEAKER 1: అవును, ఇక్కడ మనం లింక్ జాబితా పెరగడం. 814 00:35:05,010 --> 00:35:07,830 కనుక ఇది భిన్నంగా కొద్దిగా కనిపిస్తుంది మేము క్రితం ఆకర్షించింది కంటే. 815 00:35:07,830 --> 00:35:10,790 కానీ మేము ఒక శ్రేణి కలిగి కనిపిస్తుంది ఎడమ చేతి వైపు. 816 00:35:10,790 --> 00:35:13,230 ఏ కోసం, ఒక ఇండెక్స్ వార్తలు కారణమూ. 817 00:35:13,230 --> 00:35:14,630 కానీ ఇప్పటికీ ఒక అర్రే యొక్క. 818 00:35:14,630 --> 00:35:16,160 ఇది గమనికలు యొక్క ఒక అర్రే యొక్క. 819 00:35:16,160 --> 00:35:20,670 మరియు ప్రతి ఆ అంశాలు ప్రతి, ఈ వృత్తాలు లేదా శ్లాష్లు - స్లాష్ 820 00:35:20,670 --> 00:35:23,970 ప్రాతినిధ్యం శూన్య - ఈ యొక్క ప్రతి గమనికలు స్పష్టంగా కు సూచిస్తుంది 821 00:35:23,970 --> 00:35:25,730 ఏ డేటా నిర్మాణం? 822 00:35:25,730 --> 00:35:26,890 ఒక లింక్ జాబితా. 823 00:35:26,890 --> 00:35:30,530 >> కాబట్టి ఇప్పుడు మేము సామర్థ్యం కలిగి మా ప్రోగ్రామ్ లోకి హార్డ్ కోడ్ 824 00:35:30,530 --> 00:35:32,010 పట్టిక పరిమాణాన్ని. 825 00:35:32,010 --> 00:35:35,360 ఈ సందర్భంలో, మేము అక్కడ ఎప్పుడూ తెలిసిన ఒక నెల కంటే ఎక్కువ 31 రోజులు. 826 00:35:35,360 --> 00:35:38,480 కాబట్టి హార్డ్ 31 వంటి విలువ కోడింగ్ ఆ సందర్భంలో సహేతుకమైన. 827 00:35:38,480 --> 00:35:42,700 పేర్లు సందర్భంలో, హార్డ్ కోడింగ్ 26 తగని కాదు ప్రజల 828 00:35:42,700 --> 00:35:46,340 పేర్లు మాత్రమే, ఉదాహరణకు, ప్రారంభం Z. ద్వారా ఒక పాల్గొన్న వర్ణమాల 829 00:35:46,340 --> 00:35:50,180 >> మేము డేటా వాటిని అన్ని క్రామ్చే చేయవచ్చు నిర్మాణం చాలా కాలం మేము ఒక వచ్చినప్పుడు, వంటి 830 00:35:50,180 --> 00:35:55,330 ప్రమాదం మేము ఇక్కడ పేర్లు చాలు లేదు, మేము బదులుగా లు అనుకుంటున్నాను 831 00:35:55,330 --> 00:36:00,270 కాదు తీగలను తమను కానీ అంత ఉదాహరణకు, ఆలిస్ పాయింటర్లు. 832 00:36:00,270 --> 00:36:03,660 ఆపై ఆలిస్ మరొక పాయింటర్ ఉండవచ్చు ప్రారంభమయ్యే మరొక పేరు 833 00:36:03,660 --> 00:36:06,150 A. మరియు బాబ్ నిజానికి ఇక్కడ వెళ్తాడు. 834 00:36:06,150 --> 00:36:10,850 >> మరియు ప్రారంభమయ్యే మరొక పేరు ఉంది ఉంటే B తో, అతను ఇక్కడ ముగుస్తుంది. 835 00:36:10,850 --> 00:36:15,070 అందువలన ఈ మూలకాల యొక్క ప్రతి మేము ఈ ఒక రూపకల్పన ఉంటే పట్టిక రెండు, 836 00:36:15,070 --> 00:36:17,350 కొంచెం తెలివిగా - 837 00:36:17,350 --> 00:36:18,125 న వస్తాయి - 838 00:36:18,125 --> 00:36:22,950 మేము ఈ కొద్దిగా ఎక్కువగా రూపొందించబడింది ఉంటే తెలివిగా, ఇప్పుడు ఒక అనుకూల డేటా అవుతుంది 839 00:36:22,950 --> 00:36:27,720 ఎలాంటి పరిమితి ఇక్కడ నిర్మాణం, మీరు చేర్చగలను ఎన్ని అంశాలు న 840 00:36:27,720 --> 00:36:30,700 అది లోకి మీరు ఉంటే ఎందుకంటే ఘర్షణ ఆ మంచిది. 841 00:36:30,700 --> 00:36:34,690 కేవలం ముందుకు వెళ్ళి, దానికి జోడించు మేము ఒక బిట్ క్రితం చూసిన 842 00:36:34,690 --> 00:36:38,290 ఒక లింక్ జాబితా అని పిలుస్తారు. 843 00:36:38,290 --> 00:36:39,690 >> బాగా కేవలం ఒక క్షణం యొక్క విరామం వీలు. 844 00:36:39,690 --> 00:36:42,570 ఒక తాకిడి సంభావ్యత ఏమిటి మొదటి స్థానంలో? 845 00:36:42,570 --> 00:36:45,480 కుడి, బహుశా నేను ఉండవచ్చు, ఆలోచిస్తున్నాను నేను, ఈ సమస్య ఇంజనీరింగ్ పైగా రెడీ 846 00:36:45,480 --> 00:36:46,370 మీరు ఏమి ఎందుకంటే? 847 00:36:46,370 --> 00:36:49,070 అవును, నేను ఏకపక్ష తో రావచ్చు వంటి నా తల ఎగువ ఆఫ్ ఉదాహరణలు 848 00:36:49,070 --> 00:36:52,870 అల్లిసన్ మరియు ఆరోన్, కానీ వాస్తవానికి, ఒక ఏకరీతి పంపిణీ ఇచ్చిన 849 00:36:52,870 --> 00:36:56,990 కొన్ని యాదృచ్ఛిక ప్రక్షిప్తాలు అని ఇన్పుట్లను, ఒక డేటా నిర్మాణాన్ని, నిజంగా ఏమిటి 850 00:36:56,990 --> 00:36:58,580 ఒక తాకిడి సంభావ్యత? 851 00:36:58,580 --> 00:37:01,670 బాగా మారుతుంది, ఇది వాస్తవానికి వార్తలు సూపర్ అధిక. 852 00:37:01,670 --> 00:37:03,850 ఈ నాకు సాధారణీకరించే లెట్ సమస్య ఈ విధంగా. 853 00:37:03,850 --> 00:37:08,890 >> సో n యొక్క ఒక గదిలో CS50 విద్యార్థులు, ఏమిటి సంభావ్యత కనీసం 854 00:37:08,890 --> 00:37:11,010 గదిలో రెండు విద్యార్థులు అదే పుట్టినరోజు కలిగి? 855 00:37:11,010 --> 00:37:13,346 సో వాట్ ఉంది. కొన్ని హుండ్ - 856 00:37:13,346 --> 00:37:16,790 ఇక్కడ అనేక 200, 300 మంది నేడు ఇంట్లో వందలమంది. 857 00:37:16,790 --> 00:37:20,670 మీరు ఏమి మమ్మల్ని అడగండి కోరుకున్నాడు కనుక రెండు ప్రజలు సంభావ్యత 858 00:37:20,670 --> 00:37:23,930 అదే పుట్టినరోజు కలిగి ఈ గదిలో, మేము ఈ అవ్ట్ దొరుకుతుందని చేయవచ్చు. 859 00:37:23,930 --> 00:37:26,250 మరియు నేను రెండు ఉన్నాయి నిజానికి క్లెయిమ్ అదే పుట్టినరోజు తో ప్రజలు. 860 00:37:26,250 --> 00:37:29,560 >> ఉదాహరణకు, ఎవరైనా చేస్తుంది నేడు పుట్టినరోజు కలిగి? 861 00:37:29,560 --> 00:37:31,340 నిన్న? 862 00:37:31,340 --> 00:37:32,590 రేపు? 863 00:37:32,590 --> 00:37:35,980 నేను వెళుతున్నాను వంటి అన్ని కుడి, కాబట్టి అది అనిపిస్తుంది మరింత ఈ 363 లేదా అలా కలిగి 864 00:37:35,980 --> 00:37:39,500 సార్లు నిజానికి బయటకు దొరుకుతుందని మేము ఒక ఖండించు కలిగి. 865 00:37:39,500 --> 00:37:42,350 లేదా మేము కేవలం గణిత శాస్త్రపరంగా ఈ చేయటానికి బదులుగా మందమైన కంటే 866 00:37:42,350 --> 00:37:43,200 ఈ చేయడం. 867 00:37:43,200 --> 00:37:44,500 మరియు క్రింది ప్రతిపాదించారు. 868 00:37:44,500 --> 00:37:48,740 >> నేను మేము నమూనా అని ప్రతిపాదించారు కలిగి రెండు ప్రజలు సంభావ్యత 869 00:37:48,740 --> 00:37:55,320 1 సంభావ్యత అదే పుట్టినరోజు కలిగి ఎవరూ యొక్క మైనస్ సంభావ్యత 870 00:37:55,320 --> 00:37:56,290 అదే పుట్టినరోజు. 871 00:37:56,290 --> 00:37:59,960 సో ఈ పొందుటకు, మరియు ఈ కేవలం ఈ రచన యొక్క ఫాన్సీ మార్గం, 872 00:37:59,960 --> 00:38:03,090 గదిలో మొదటి వ్యక్తి, అతను లేదా ఆమె సాధ్యం ఏ ఒకటి చేయవచ్చు 873 00:38:03,090 --> 00:38:07,370 పుట్టినరోజులు, సంవత్సరంలో 365 రోజులు ఊహిస్తూ తో వ్యక్తులకు క్షమాపణలు తో 874 00:38:07,370 --> 00:38:08,760 ఫిబ్రవరి 29 వ పుట్టినరోజు. 875 00:38:08,760 --> 00:38:13,470 >> సో ఈ గదిలో మొదటి వ్యక్తి ఉచితం పుట్టిన ఏ సంఖ్య కలిగి 876 00:38:13,470 --> 00:38:18,280 బయటకు 365 అవకాశాల తద్వారా మేము, 365 ద్వారా 365 విభజించిన చేస్తాను 877 00:38:18,280 --> 00:38:18,990 ఇది ఒకటి. 878 00:38:18,990 --> 00:38:22,700 గదిలో తదుపరి వ్యక్తి, ఉంటే లక్ష్యం ఘర్షణ నివారించేందుకు ఉంది, మాత్రమే 879 00:38:22,700 --> 00:38:26,460 ఎలా తన లేదా ఆమె పుట్టినరోజు కలిగి అనేక విభిన్న సాధ్య రోజుల? 880 00:38:26,460 --> 00:38:27,610 364. 881 00:38:27,610 --> 00:38:31,430 సో ఈ వ్యక్తీకరణ రెండవ పదం ముఖ్యంగా మాకు ఆ గణిత చేయడం 882 00:38:31,430 --> 00:38:33,460 ఒక సాధ్యం రోజు ఆఫ్ తీసివేయడం ద్వారా. 883 00:38:33,460 --> 00:38:36,390 తరువాత రోజు, మరుసటి రోజు, డౌన్ మొత్తం సంఖ్య పక్కన రోజు 884 00:38:36,390 --> 00:38:38,100 గదిలో ప్రజలు. 885 00:38:38,100 --> 00:38:41,290 >> అప్పుడు మేము పరిగణలోకి ఉంటే, అప్పుడు ఏమిటి కాదు కలిగి ప్రతిఒక్కరూ సంభావ్యత 886 00:38:41,290 --> 00:38:45,265 ఏకైక పుట్టినరోజులు, కానీ మళ్ళీ 1 మైనస్ ఆ, మేము పొందుటకు వ్యక్తీకరణ 887 00:38:45,265 --> 00:38:47,810 చాలా సొగసుగా చెయ్యవచ్చు ఇలా. 888 00:38:47,810 --> 00:38:50,330 కానీ అది మరింత ఆసక్తికరంగా దృష్టి చూడండి. 889 00:38:50,330 --> 00:38:55,120 ఈ x-అక్షం మీద ఉన్న ఒక చార్ట్ ఉంది గదిలో ప్రజల సంఖ్య, 890 00:38:55,120 --> 00:38:56,180 పుట్టిన సంఖ్య. 891 00:38:56,180 --> 00:38:59,840 Y-అక్షం మీద అవకాశం ఒక తాకిడి, రెండు ప్రజలు 892 00:38:59,840 --> 00:39:01,230 అదే పుట్టినరోజు కలిగి. 893 00:39:01,230 --> 00:39:05,020 >> మరియు ఈ రేఖ నుండి తాత్కాలిక ఉంది మీరు 40 ఇష్టం ను వెంటనే 894 00:39:05,020 --> 00:39:11,110 విద్యార్థులు, మీరు ఒక 90% సంభావ్యత వద్ద చేస్తున్నామో combinatorically రెండు 895 00:39:11,110 --> 00:39:13,550 ప్రజలు లేదా ఎక్కువ కలిగి అదే పుట్టినరోజు. 896 00:39:13,550 --> 00:39:18,600 మరియు ఒకసారి మీరు అది 58 ప్రజలు ను ఒక అవకాశం రెండు దాదాపు 100% 897 00:39:18,600 --> 00:39:21,310 గదిలో ప్రజలు వెళ్తున్నారు అదే పుట్టినరోజు, అక్కడ అయినప్పటికీ 898 00:39:21,310 --> 00:39:26,650 365 లేదా 366 సాధ్యం బక్కెట్లు, మరియు గదిలో 58 మంది. 899 00:39:26,650 --> 00:39:29,900 కేవలం గణాంక మీరు ఇష్టపడే , గుద్దుకోవటం పొందుటకు చిన్న లో 900 00:39:29,900 --> 00:39:31,810 ఈ చర్చ ప్రోత్సహిస్తుంది. 901 00:39:31,810 --> 00:39:35,890 మేము ఇక్కడ ఫాన్సీ పొందుటకు, మరియు కూడా ఆ ఈ గొలుసులు కలిగి మొదలు, మేము ఇప్పటికీ ఉన్నాము 902 00:39:35,890 --> 00:39:36,950 గుద్దుకోవటం కొనసాగుతుందని. 903 00:39:36,950 --> 00:39:42,710 >> ప్రశ్న ప్రార్థిస్తాడు తద్వారా, ఏమిటి ప్రక్షిప్తాలు మరియు తొలగింపులు ఖర్చులలో 904 00:39:42,710 --> 00:39:44,850 ఈ వంటి ఒక డేటా నిర్మాణాన్ని? 905 00:39:44,850 --> 00:39:46,630 బాగా నాకు ప్రతిపాదించారు వీలు - 906 00:39:46,630 --> 00:39:51,570 మరియు నేను తెర తిరిగి వెళ్ళి తెలపండి ఇక్కడ - మేము లో అంశాలు n ఉంటే 907 00:39:51,570 --> 00:39:56,330 జాబితా, కాబట్టి మేము ఇన్సర్ట్ చెయ్యడానికి ప్రయత్నిస్తున్న ఉంటే n మూలకాలు, మరియు మేము కలిగి 908 00:39:56,330 --> 00:39:58,050 ఎన్ని మొత్తం బకెట్లు? 909 00:39:58,050 --> 00:40:03,450 లెట్ యొక్క 31 మొత్తం బకెట్లు చెప్పటానికి పుట్టినరోజులు విషయంలో. 910 00:40:03,450 --> 00:40:09,240 ఒక గరిష్ట పొడవు ఏమిటి శక్తివంతమైన ఈ గొలుసులు? 911 00:40:09,240 --> 00:40:12,670 >> మళ్ళీ అవకాశం 31 ఉంది ఉంటే ఇచ్చిన నెలలో పుట్టినరోజులు. 912 00:40:12,670 --> 00:40:14,580 మరియు మేము కేవలం ప్రతి ఒక్కరూ గుత్తులగుట చేస్తున్నారు - 913 00:40:14,580 --> 00:40:15,580 నిజానికి ఒక తెలివితక్కువదని ఉదాహరణకు. 914 00:40:15,580 --> 00:40:16,960 బదులుగా 26 ఏమి యొక్క లెట్. 915 00:40:16,960 --> 00:40:20,890 నిజానికి దీని పేర్లు ప్రజలు కనుక తద్వారా ఇవ్వడం, Z ద్వారా ఒక ప్రారంభం 916 00:40:20,890 --> 00:40:22,780 మాకు 26 అవకాశాలను. 917 00:40:22,780 --> 00:40:25,920 మరియు మేము వంటి ఒక డేటా నిర్మాణం ఉపయోగిస్తున్నారు మేము కలిగి వస్తే మేము ఇప్పుడు చూసిన ఒక, 918 00:40:25,920 --> 00:40:30,210 గమనికలు యొక్క ఒక అర్రే, ఇది ప్రతి పేరు ఒక అనుసంధాన జాబితాకు పాయింట్లు 919 00:40:30,210 --> 00:40:32,360 మొదటి జాబితా ప్రతి ఒక్కరూ ఉంది పేరు ఆలిస్ తో. 920 00:40:32,360 --> 00:40:35,770 రెండవ జాబితా ప్రతి తో ఉంది ప్రారంభ, ఒక ప్రారంభమయ్యే పేరు 921 00:40:35,770 --> 00:40:36,980 B తో, మొదలగునవి. 922 00:40:36,980 --> 00:40:41,020 >> ప్రతి అవకాశం పొడవు ఏమిటి ఆ జాబితాలు మేము ఒక nice శుభ్రంగా ఊహించుకుంటే, 923 00:40:41,020 --> 00:40:45,410 ఒక Z ద్వారా పేర్లు పంపిణీ మొత్తం డేటా నిర్మాణం అంతటా? 924 00:40:45,410 --> 00:40:50,210 డేటా నిర్మాణంలో n ప్రజలు ఉంది వారు చక్కగా అయితే, 26 ద్వారా విభజించబడింది 925 00:40:50,210 --> 00:40:52,110 మొత్తం పైగా విస్తరించింది డేటా నిర్మాణం. 926 00:40:52,110 --> 00:40:54,970 సో ఈ ప్రతి పొడవు గొలుసులు 26 ద్వారా విభజించబడింది n ఉంది. 927 00:40:54,970 --> 00:40:57,380 కానీ పెద్ద O విధానంలో, ఆ ఏమిటి? 928 00:40:57,380 --> 00:41:00,100 929 00:41:00,100 --> 00:41:02,440 నిజంగా ఆ ఏమిటి? 930 00:41:02,440 --> 00:41:04,150 సో కుడి, నిజంగా కేవలం n యొక్క? 931 00:41:04,150 --> 00:41:06,620 మేము గతంలో చెప్పారు చేసిన ఎందుకంటే, విసుగును తెలిపే శబ్దం మీరు 26 ద్వారా విభజించి ఆ. 932 00:41:06,620 --> 00:41:08,710 అవును, వాస్తవానికి ఇది వేగంగా ఉంది. 933 00:41:08,710 --> 00:41:12,720 కానీ సిద్ధాంతంలో ప్రాథమికంగా కాదు అన్ని వేగవంతమైన. 934 00:41:12,720 --> 00:41:16,040 >> కాబట్టి మేము అన్ని చాలా అనిపించడం లేదు దగ్గరగా ఈ పవిత్ర గ్రెయిల్ కు. 935 00:41:16,040 --> 00:41:17,750 నిజానికి, ఈ కేవలం సరళ సమయం. 936 00:41:17,750 --> 00:41:20,790 హెక్, ఈ సమయంలో, ఎందుకు మేము లేదు కేవలం ఒక భారీ లిస్ట్ లింక్డ్ ఉపయోగించాలి? 937 00:41:20,790 --> 00:41:23,510 ఎందుకు మేము కేవలం ఒక భారీ వాడవద్దు పేర్లు నిల్వ శ్రేణి 938 00:41:23,510 --> 00:41:25,010 గదిలో ప్రతి ఒక్కరూ? 939 00:41:25,010 --> 00:41:28,280 బాగా, ఏదో ఇప్పటికీ ఉంది ఒక హాష్ పట్టిక గురించి సమగ్ర? 940 00:41:28,280 --> 00:41:30,810 బలవంతపు ఏదో ఇప్పటికీ ఉంది ఒక డేటా నిర్మాణం గురించి 941 00:41:30,810 --> 00:41:33,940 ఈ కనిపిస్తుంది? 942 00:41:33,940 --> 00:41:35,182 ఈ. 943 00:41:35,182 --> 00:41:37,050 >> STUDENT: [వినబడని]. 944 00:41:37,050 --> 00:41:39,840 >> SPEAKER 1: ఇది కేవలం కుడి, మరియు మరలా ఉంటే ఒక సరళ సమయం అల్గోరిథం, మరియు ఒక 945 00:41:39,840 --> 00:41:42,780 సరళ సమయం డేటా నిర్మాణం, నేను చేయండి కేవలం ఒక పెద్ద ప్రతి ఒక్కరూ యొక్క పేరు నిల్వ 946 00:41:42,780 --> 00:41:44,210 అర్రే, లేదా ఒక పెద్ద లింక్ జాబితాలో? 947 00:41:44,210 --> 00:41:47,010 మరియు చాలా కష్టం CS స్టాప్ మేకింగ్ అది ఉండాలి కంటే? 948 00:41:47,010 --> 00:41:49,600 949 00:41:49,600 --> 00:41:53,190 కూడా, ఈ గురించి సమగ్ర ఏమిటి నేను దాన్ని గీయబడిన అయితే? 950 00:41:53,190 --> 00:41:54,930 >> STUDENT: [వినబడని]. 951 00:41:54,930 --> 00:41:57,040 >> SPEAKER 1: ప్రక్షిప్తాలు కాదు? 952 00:41:57,040 --> 00:41:58,140 ఇకపై ఖరీదైన. 953 00:41:58,140 --> 00:42:03,390 సో ప్రక్షిప్తాలు సమర్థవంతంగా ఇప్పటికీ అనుకొనుట , స్థిరంగా సమయం కూడా మీ డేటా 954 00:42:03,390 --> 00:42:07,910 నిర్మాణం, ఈ వంటి ఒక వరుస కనిపిస్తుంది గమనికలు, వద్ద గురిపెట్టి, ఇందులో ప్రతి ఒక్కటి 955 00:42:07,910 --> 00:42:09,550 శక్తివంతమైన అనుబంధ జాబితా. 956 00:42:09,550 --> 00:42:15,220 ఎలా మీరు స్థిరమైన సాధించేది పేర్లు సమయం చొప్పించడం? 957 00:42:15,220 --> 00:42:16,280 కుడి, ముందు అది కర్ర? 958 00:42:16,280 --> 00:42:19,290 >> మేము నుండి ఒక రూపకల్పన ధ్యేయం త్యాగం ఉంటే ముందు మేము ఉంచాలని కోరుకున్నాడు పేరు 959 00:42:19,290 --> 00:42:22,650 ప్రతి ఒక్కరూ యొక్క పేరు, ఉదాహరణకు, క్రమబద్ధీకరించిన లేదా వేదికపై సంఖ్యల అన్ని, క్రమబద్ధీకరించబడింది 960 00:42:22,650 --> 00:42:25,020 మేము ఒక కలిగి ఊహించు క్రమబద్ధీకరించనిది లింక్ జాబితా. 961 00:42:25,020 --> 00:42:29,960 ఇది మాత్రమే, మాకు ఒకటి లేదా రెండు దశలు ఖర్చవుతుంది బెన్ మరియు బ్రియాన్ విషయంలో ఇష్టం 962 00:42:29,960 --> 00:42:32,750 ముందు వద్ద ఒక మూలకం ఇన్సర్ట్ జాబితా ప్రారంభంలో. 963 00:42:32,750 --> 00:42:36,090 మేము అన్ని సార్టింగ్ లక్షపెట్టరు కనుక తో మొదలయ్యే పేర్లు A లేదా అన్ని 964 00:42:36,090 --> 00:42:39,660 B ప్రారంభమయ్యే పేర్లు, మేము ఇంకా స్థిరంగా సమయం చొప్పించడం సాధించడానికి. 965 00:42:39,660 --> 00:42:43,900 ఇప్పుడు అలైస్ లేదా బాబ్ లేదా ఏ పేరు చూసేటప్పుడు సాధారణంగా ఇప్పటికీ ఏమిటి? 966 00:42:43,900 --> 00:42:48,100 ఇది 26 ద్వారా విభజించబడింది n యొక్క పెద్ద O, వార్తలు ప్రతి ఒక్కరూ ఒకే ఎక్కడ ఆదర్శ కేసు 967 00:42:48,100 --> 00:42:51,190 పంపిణీ, వంటి అనేక ఒక యొక్క ఇక్కడ Z యొక్క బహుశా ఇది ఉన్నాయి 968 00:42:51,190 --> 00:42:52,220 అవాస్తవ. 969 00:42:52,220 --> 00:42:53,880 కానీ ఇప్పటికీ సరళ వార్తలు. 970 00:42:53,880 --> 00:42:57,120 >> కానీ ఇక్కడ, మేము పాయింట్ తిరిగి వచ్చి ఉండటం asymptotic సంజ్ఞామానం 971 00:42:57,120 --> 00:42:58,600 సిద్ధాంతపరంగా నిజమైన. 972 00:42:58,600 --> 00:43:02,960 కానీ నిజ ప్రపంచంలో, నేను ప్రకటిస్తున్నారు నా కార్యక్రమం 26 సార్లు ఏదో ఒకటి చెయ్యాలి 973 00:43:02,960 --> 00:43:06,210 దీని కార్యక్రమం మీదే, కంటే వేగంగా మీరు ఉపయోగించి ఇష్టపడతారు వెళ్తున్నారు? 974 00:43:06,210 --> 00:43:09,660 యువర్స్ లేదా గని, ఇది 26 రెట్లు వేగంగా? 975 00:43:09,660 --> 00:43:14,320 వాస్తవికంగా, దీని వ్యక్తి 26 రెట్ల, కూడా సిద్ధాంతపరంగా ఉంటే 976 00:43:14,320 --> 00:43:18,790 మా అల్గోరిథంలు అదే అమలు సమయం నడుస్తున్న asymptotic. 977 00:43:18,790 --> 00:43:20,940 >> నాకు వేరే ప్రతిపాదన లెట్ పూర్తిగా పరిష్కారం. 978 00:43:20,940 --> 00:43:24,380 మరియు ఈ మీ మనసును రగిలించు లేదు ఉంటే, మేము డేటా నిర్మాణాలు లేదు. 979 00:43:24,380 --> 00:43:27,420 సో ఈ ఒక trie ఉంది - 980 00:43:27,420 --> 00:43:28,520 ఒక పెద్ద పేరు రకం. 981 00:43:28,520 --> 00:43:32,880 ఇది పదం రిట్రీవల్స్ నుండి వస్తుంది, మరియు ఎందుకంటే trie, t-r-i-ఇ, ఉన్నట్లు 982 00:43:32,880 --> 00:43:34,450 కోర్సు తిరిగి trie వంటి ధ్వనులు. 983 00:43:34,450 --> 00:43:36,580 కానీ ఆ చరిత్ర వార్తలు పదం trie యొక్క. 984 00:43:36,580 --> 00:43:40,980 >> సో ఒక trie, నిజానికి చెట్టు యొక్క రకం మరియు అది కూడా ఆ పదం ఒక నాటకం యొక్క. 985 00:43:40,980 --> 00:43:46,330 మరియు మీరు చాలా ఇది చూడండి కాదు అయినప్పటికీ ఈ విజువలైజేషన్ తో, ఒక trie ఒక 986 00:43:46,330 --> 00:43:50,790 చెట్టు ఒక కుటుంబం చెట్టు వంటి నిర్మించబడుతుంది టాప్ మరియు మా వద్ద ఒక పూర్వీకులు 987 00:43:50,790 --> 00:43:54,530 మునుమనవళ్లను మరియు గొప్ప మునుమనవళ్లను యొక్క వంటి అడుగున ఆకులు. 988 00:43:54,530 --> 00:43:58,100 కానీ ఒక trie ప్రతి నోడ్ ఒక శ్రేణి. 989 00:43:58,100 --> 00:44:00,680 మరియు అది వ్యూహంలో వార్తలు - మరియు లెట్స్ ఒక క్షణం సరళంగా - ఇది ఒక 990 00:44:00,680 --> 00:44:04,600 అర్రే, ఈ సందర్భంలో, పరిమాణం 26, పేరు ప్రతి నోడ్ మళ్ళీ పరిమాణాన్ని శ్రేణి 991 00:44:04,600 --> 00:44:09,000 26, పేరు ఆ జేరోయేత్ మూలకం అర్రే ఒక సూచిస్తుంది మరియు చివరి 992 00:44:09,000 --> 00:44:11,810 ప్రతి లో మూలకం అర్రే Z. ప్రాతినిధ్యం 993 00:44:11,810 --> 00:44:15,520 >> నేను, అప్పుడు, ప్రతిపాదించాయి ఈ డేటాను ఒక trie అని పిలుస్తారు నిర్మాణం, ఉంటుంది 994 00:44:15,520 --> 00:44:17,600 పదాలు నిల్వ చేయడానికి కూడా ఉపయోగిస్తారు. 995 00:44:17,600 --> 00:44:21,740 మేము నిల్వ ఎలా ఒక క్షణం క్రితం చూసింది పదాలు, లేదా ఈ సందర్భంలో పేర్లు, మరియు మేము 996 00:44:21,740 --> 00:44:25,440 , మేము సంఖ్యలను నిల్వ ఎలా ముందు చూసింది కానీ మేము పేర్లు లేదా తీగలను దృష్టి ఉంటే 997 00:44:25,440 --> 00:44:27,460 ఇక్కడ, ఆసక్తికరంగా ఏమి గమనించవచ్చు. 998 00:44:27,460 --> 00:44:32,210 నేను పేరు మాక్స్వెల్ చెప్పడము ఈ డేటాను నిర్మాణం లోపల. 999 00:44:32,210 --> 00:44:33,730 ఎక్కడ మీరు మాక్స్వెల్ చూస్తారు? 1000 00:44:33,730 --> 00:44:35,140 >> STUDENT: [వినబడని]. 1001 00:44:35,140 --> 00:44:36,240 >> SPEAKER 1: ఎడమ. 1002 00:44:36,240 --> 00:44:39,910 సో ఈ డేటాను ఆసక్తికరమైన ఏమిటి నిర్మాణం కాకుండా స్టోర్ కంటే 1003 00:44:39,910 --> 00:44:46,200 స్ట్రింగ్ M-A-X-W-E-L-L బాక్ స్లాష్ సున్నా, అన్ని పక్కపక్కన, మీరు బదులుగా ఏమి 1004 00:44:46,200 --> 00:44:46,890 అనుసరిస్తున్నారు. 1005 00:44:46,890 --> 00:44:50,510 ఈ డేటాను నిర్మాణం వంటి trie ఉంటే, దీని నోడ్స్ యొక్క ప్రతి, మళ్ళీ ఒక శ్రేణి 1006 00:44:50,510 --> 00:44:54,650 మరియు మీరు మాక్స్వెల్ నిల్వ అనుకుంటున్నారా, మీరు మొదటి ఇండెక్స్ మరియు కాబట్టి రూట్ నోడ్, 1007 00:44:54,650 --> 00:44:57,810 ,, ఎత్తైన నోడ్ మాట్లాడటం కుడి, కాబట్టి నగర M వద్ద 1008 00:44:57,810 --> 00:44:59,160 సుమారు మధ్యలో. 1009 00:44:59,160 --> 00:45:03,740 మరియు అక్కడ నుండి, మీరు ఒక అనుసరించండి పిల్లల నోడ్లకు పాయింటర్, మాట్లాడటానికి. 1010 00:45:03,740 --> 00:45:06,150 సో కుటుంబం చెట్టు అర్థంలో, మీరు కిందకి అది అనుసరించండి. 1011 00:45:06,150 --> 00:45:09,030 మరియు మరొక నోడ్ మీరు దారి ఇది అక్కడ ఎడమ, న 1012 00:45:09,030 --> 00:45:10,540 మరొక వ్యూహం. 1013 00:45:10,540 --> 00:45:14,710 >> ఆపై మీరు, మాక్స్వెల్ నిల్వ అనుకుంటే మీరు సూచించే పాయింటర్ కనుగొనేందుకు 1014 00:45:14,710 --> 00:45:16,430 A, ఇది ఇక్కడ ఈ ఒకటి. 1015 00:45:16,430 --> 00:45:17,840 అప్పుడు మీరు తదుపరి నోడ్ వెళ్ళండి. 1016 00:45:17,840 --> 00:45:20,100 మరియు ప్రకటన - ఈ ఎందుకు చిత్రం యొక్క కొద్దిగా మోసగించడాన్ని - 1017 00:45:20,100 --> 00:45:21,990 ఈ నోడ్ చిన్న సూపర్ చూడండి. 1018 00:45:21,990 --> 00:45:26,050 కానీ ఈ యొక్క కుడి Y మరియు Z. ఉంది ఇది కేవలం రచయిత స్తంభించిపోయింది ఉంది 1019 00:45:26,050 --> 00:45:27,630 చిత్రం కాబట్టి మీరు నిజంగానే విషయాలు చూడండి. 1020 00:45:27,630 --> 00:45:30,400 లేకపోతే ఈ చిత్రాన్ని అద్భుత వెడల్పులో. 1021 00:45:30,400 --> 00:45:36,180 అప్పుడు నగర X లోకి కాబట్టి ఇప్పుడు మీరు ఇండెక్స్, అప్పుడు అప్పుడు W, అప్పుడు E, L, L. ఏమిటి 1022 00:45:36,180 --> 00:45:37,380 ఈ ఉత్సుకత? 1023 00:45:37,380 --> 00:45:41,250 >> బాగా, మేము కొత్త ఈ విధమైన ను ఉపయోగిస్తున్నట్లయితే ఒక ఒక స్ట్రింగ్ నిల్వ ఉండడం వల్లేనని 1024 00:45:41,250 --> 00:45:44,500 డేటా నిర్మాణం, మీరు ఇప్పటికీ అవసరం తప్పనిసరిగా డేటా లో తనిఖీ 1025 00:45:44,500 --> 00:45:47,250 ఒక పదం ఇక్కడ ముగుస్తుంది నిర్మాణం. 1026 00:45:47,250 --> 00:45:50,830 ఇతర పదాలు, ఈ నోడ్స్ యొక్క ప్రతి ఏదో గుర్తు అని మేము 1027 00:45:50,830 --> 00:45:53,500 నిజానికి తరువాత ఈ పాయింటర్లు అన్ని మరియు కొద్దిగా వదిలేస్తున్నారు 1028 00:45:53,500 --> 00:45:58,370 ఈ ఇక్కడ దిగువన బ్రెడ్ చిన్న ముక్క M-A-X-W-E-L-L సూచించడానికి నిర్మాణం 1029 00:45:58,370 --> 00:46:00,230 నిజానికి ఈ డేటాను నిర్మాణం లో. 1030 00:46:00,230 --> 00:46:02,040 >> కాబట్టి మేము ఈ క్రింది విధంగా దీన్ని ఉండవచ్చు. 1031 00:46:02,040 --> 00:46:06,810 మేము కేవలం చిత్రంలో నోడ్స్ యొక్క ప్రతి రంపపు ఒక, పరిమాణం 27 వ్యూహం ఉంది. 1032 00:46:06,810 --> 00:46:10,550 P ఆరు సెట్ ఎందుకంటే, ప్రస్తుతం 27 వార్తలు మేము నిజానికి, మీరు అపాస్ట్రఫీని ఇస్తాము 1033 00:46:10,550 --> 00:46:13,590 కాబట్టి మేము ఓ 'రియల్లి వంటి పేర్లు కలిగి ఉంటుంది సంగ్రహంగా రాయడానికి మరియు ఇతరులు. 1034 00:46:13,590 --> 00:46:14,820 కానీ అదే ఆలోచన. 1035 00:46:14,820 --> 00:46:17,710 ఆ అంశాలు ప్రతి ఒక struct కు శ్రేణి పాయింట్లు 1036 00:46:17,710 --> 00:46:19,320 నోడ్, కాబట్టి కేవలం ఒక నోడ్. 1037 00:46:19,320 --> 00:46:21,430 సో ఈ చాలా తెస్తుంది మా లింక్ జాబితా. 1038 00:46:21,430 --> 00:46:24,550 >> ఆపై నేను ఒక బూలియన్ కలిగి, ఇది నేను చేస్తాము పదం కాల్, ఇది కేవలం అవతరిస్తుంది 1039 00:46:24,550 --> 00:46:29,120 ఒక పదం ఈ వద్ద ముగుస్తుంది నిజమైన ఉంటే చెట్టు నోడ్. 1040 00:46:29,120 --> 00:46:32,870 ఇది సమర్థవంతంగా కొద్దిగా ప్రాతినిధ్యం త్రిభుజం మేము ఒక క్షణం క్రితం చూసింది. 1041 00:46:32,870 --> 00:46:37,190 ఒక పదం ఆ కణుపు వద్ద ముగుస్తుంది కనుక చెట్టు, ఆ పదం రంగంలో, నిజమైన ఉంటుంది 1042 00:46:37,190 --> 00:46:41,990 ఇది సందర్భానుసారంగా ఆఫ్ తనిఖీ, లేదా మేము అవును అక్కడ, ఈ త్రిభుజం గీయడం చేస్తున్నారు 1043 00:46:41,990 --> 00:46:44,080 ఇక్కడ ఒక పదం. 1044 00:46:44,080 --> 00:46:45,120 >> సో ఈ ఒక trie ఉంది. 1045 00:46:45,120 --> 00:46:48,540 మరియు ఇప్పుడు ప్రశ్న, ఏమిటి దాని సమయం రన్? 1046 00:46:48,540 --> 00:46:49,930 ఇది n యొక్క పెద్ద O ఉంది? 1047 00:46:49,930 --> 00:46:51,410 అది వేరే విషయం? 1048 00:46:51,410 --> 00:46:57,330 బాగా, మీరు ఈ డేటాను పేర్లు n ఉంటే నిర్మాణం, మాక్స్వెల్ కేవలం ఒకటిగా 1049 00:46:57,330 --> 00:47:02,330 వాటిని, రన్నింగ్ సమయం ఏమిటి ఇన్సర్ట్ లేదా మాక్స్వెల్ కనుగొనడంలో? 1050 00:47:02,330 --> 00:47:06,230 1051 00:47:06,230 --> 00:47:09,050 నడుస్తున్న సమయం ఏమిటి మాక్స్వెల్ ప్రవేశపెట్టే? 1052 00:47:09,050 --> 00:47:11,740 N ఇతర పేర్లు ఉన్నాయి ఉంటే ఇప్పటికే పట్టికలో? 1053 00:47:11,740 --> 00:47:12,507 అవును? 1054 00:47:12,507 --> 00:47:15,429 >> STUDENT: [వినబడని]. 1055 00:47:15,429 --> 00:47:17,550 >> SPEAKER 1: అవును, అది పొడవు వార్తలు పేరు యొక్క, కుడి? 1056 00:47:17,550 --> 00:47:24,420 M-a-x-w-ఇ-l-l కాబట్టి అది ఇలా అనిపిస్తుంది కాబట్టి అల్గోరిథం ఏడు పెద్ద O ఉంది. 1057 00:47:24,420 --> 00:47:26,580 ఇప్పుడు, కోర్సు యొక్క, పేరు పొడవు మారుతుంది. 1058 00:47:26,580 --> 00:47:27,380 దీనికి ఒక చిన్న పేరు యొక్క. 1059 00:47:27,380 --> 00:47:28,600 దీనికి ఒక పెద్ద పేరుకు వార్తలు. 1060 00:47:28,600 --> 00:47:33,390 కానీ ఇక్కడ కీ ఉంది అని అది స్థిరమైన సంఖ్య యొక్క. 1061 00:47:33,390 --> 00:47:36,810 మరియు దీనికి, నిజంగా స్థిర కాదు కానీ దేవుడు, వాస్తవికంగా ఉంటే, ఒక లో 1062 00:47:36,810 --> 00:47:41,570 నిఘంటువు, కొన్ని పరిమితి బహుశా ఉంది ఒక అక్షరాల సంఖ్య 1063 00:47:41,570 --> 00:47:43,820 ఒక ప్రత్యేక దేశం లో వ్యక్తి యొక్క పేరు. 1064 00:47:43,820 --> 00:47:46,940 >> అందువలన మేము పొందవచ్చు విలువ ఒక స్థిరాంకం. 1065 00:47:46,940 --> 00:47:47,750 నేను ఏమి లేదు. 1066 00:47:47,750 --> 00:47:50,440 ఇది బహుశా కంటే పెద్ద వార్తలు మేము అది భావిస్తున్నాను. 1067 00:47:50,440 --> 00:47:52,720 కొన్ని మూలలో ఎల్లప్పుడూ ఉంది ఎందుకంటే ఒక వెర్రి దీర్ఘ పేరు సందర్భంలో. 1068 00:47:52,720 --> 00:47:56,360 సో యొక్క ఇది k కాల్ చెయ్యనివ్వండి, కానీ ఇప్పటికీ ఒక వార్తలు స్థిరంగా బహుశా, ప్రతి ఎందుకంటే 1069 00:47:56,360 --> 00:48:00,190 కనీసం ఒక లో, ప్రపంచంలో పేరు ప్రత్యేక దేశం, ఆ పొడవు లేదా 1070 00:48:00,190 --> 00:48:01,780 చిన్న, కాబట్టి అది స్థిరంగా ఉంది. 1071 00:48:01,780 --> 00:48:04,490 కానీ మేము చెప్పారు చేసినప్పుడు ఏదో పెద్దది ఒక స్థిరమైన విలువగా ఓ, ఏమి లేదని 1072 00:48:04,490 --> 00:48:07,760 నిజంగా సమానమైన? 1073 00:48:07,760 --> 00:48:10,420 నిజంగా అదే విషయం స్థిరంగా సమయం మాట్లాడుతూ. 1074 00:48:10,420 --> 00:48:11,530 >> ఇప్పుడు మేము, మోసం రకం ఉన్నాము కుడి? 1075 00:48:11,530 --> 00:48:15,340 మేము కొన్ని సిద్ధాంతం పరపతి రకం ఉన్నాము ఇక్కడ బాగా, k యొక్క ఆర్డర్ అని చెప్పటానికి 1076 00:48:15,340 --> 00:48:17,450 నిజంగా కేవలం ఒక యొక్క ఆర్డర్ మరియు స్థిరంగా సమయం. 1077 00:48:17,450 --> 00:48:18,200 కానీ అది నిజంగా ఉంది. 1078 00:48:18,200 --> 00:48:22,550 ఇక్కడ కీ అంతర్దృష్టి ఎందుకంటే ఆ మేము ఈ లో ఇప్పటికే పేర్లు n ఉంటే 1079 00:48:22,550 --> 00:48:26,010 డేటా నిర్మాణం, మరియు మేము చొప్పించు మాక్స్వెల్, ఇది మాకు సమయం మొత్తం 1080 00:48:26,010 --> 00:48:29,530 అన్ని ప్రభావిత వద్ద మాక్స్వెల్ ఇన్సర్ట్ ఎన్ని ఇతర ప్రజలు 1081 00:48:29,530 --> 00:48:31,100 డేటా నిర్మాణంలో ఉన్నాయి? 1082 00:48:31,100 --> 00:48:31,670 అనిపించడం లేదు. 1083 00:48:31,670 --> 00:48:36,280 నేను ఈ ఒక బిలియన్ మరిన్ని అంశములు కలిగి ఉంటే అప్పుడు trie, మరియు, మాక్స్వెల్ ఉంది ఇన్సర్ట్ 1084 00:48:36,280 --> 00:48:38,650 అతడు ప్రభావితం? 1085 00:48:38,650 --> 00:48:39,050 నం 1086 00:48:39,050 --> 00:48:42,950 ఆ రోజు డేటా ఏ భిన్నంగా మేము అక్కడ ఇప్పటివరకు చూసిన నిర్మాణాలు 1087 00:48:42,950 --> 00:48:46,820 మీ అల్గోరిథం నడుస్తున్న సమయం ఎంత పూర్తిగా స్వతంత్ర 1088 00:48:46,820 --> 00:48:51,430 విషయం లేదా ఇప్పటికే కాదు ఆ సమాచార నిర్మాణం. 1089 00:48:51,430 --> 00:48:54,650 >> ఈ దక్కుతుంది మరియు కనుక మీరు ఇప్పుడు ఒక ఉంది p సెట్ ఆరు, అవకాశం ఇది అవుతుంది 1090 00:48:54,650 --> 00:48:58,310 మళ్ళీ మీ సొంత అమలు కలిగి 150,000 చదవడం స్పెల్ చెకర్, 1091 00:48:58,310 --> 00:49:01,050 పదాలు, ఉత్తమ ఆ నిల్వ తప్పనిసరిగా స్పష్టంగా లేదు. 1092 00:49:01,050 --> 00:49:04,030 మరియు నేను కనుగొనేందుకు ఆశపడ్డాడు చేసిన అయితే హోలీ గ్రెయిల్, నాదగ్గర 1093 00:49:04,030 --> 00:49:05,330 ఒక trie పేర్కొన్నారు. 1094 00:49:05,330 --> 00:49:09,810 నిజానికి, ఒక హాష్ పట్టిక బాగా మారవచ్చు చాలా సమర్థవంతంగా ఉండాలి నిరూపించడానికి. 1095 00:49:09,810 --> 00:49:10,830 కానీ ఆ కేవలం ఉన్నాయి - 1096 00:49:10,830 --> 00:49:14,620 కేవలం నిర్మాణ నిర్ణయాలు ఒకటి మీరు తయారు చేసుకోవాలి. 1097 00:49:14,620 --> 00:49:18,920 >> కానీ మూసివేయడం లో యొక్క తీసుకుందాం 50 లేదా సెకన్లు ఉంది ఏమి వద్ద ఒక పీక్ తీసుకోవాలని 1098 00:49:18,920 --> 00:49:22,190 ముందుకు వారం తరువాత మరియు మేము బదిలీ దాటి ఈ కమాండ్ లైన్ నుండి 1099 00:49:22,190 --> 00:49:26,220 విషయాలు వెబ్ ప్రపంచంలో సి కార్యక్రమాలు ఉంటే ఆధారిత మరియు PHP వంటి భాషలు మరియు 1100 00:49:26,220 --> 00:49:30,350 జావాస్క్రిప్ట్ మరియు ఇంటర్నెట్ కూడా, మీరు ఇది HTTP వంటి ప్రోటోకాల్లు 1101 00:49:30,350 --> 00:49:32,870 సంవత్సరాల మంజూరు కోసం తీసుకున్న ప్రతి చాలా ఇప్పుడు, మరియు టైప్ 1102 00:49:32,870 --> 00:49:34,440 రోజు, బహుశా, లేదా చూసిన. 1103 00:49:34,440 --> 00:49:37,420 మరియు మేము చర్మము తిరిగి ప్రారంభించగలరు ఏ పొరలు ఇంటర్నెట్ ఉంది. 1104 00:49:37,420 --> 00:49:40,650 మరియు కోడ్ అదే అంతర్లీనంగా నేటి టూల్స్. 1105 00:49:40,650 --> 00:49:43,230 ఇక్కడ ఈ టీజర్ కాబట్టి 50 సెకన్లు. 1106 00:49:43,230 --> 00:49:46,570 నేను మీరు నెట్ యుద్ధవీరులు ఇవ్వాలని. 1107 00:49:46,570 --> 00:49:51,370 >> [వీడియో ప్లేబ్యాక్] 1108 00:49:51,370 --> 00:49:56,764 >> అతను ఒక సందేశం వచ్చింది. 1109 00:49:56,764 --> 00:50:00,687 ఒక ప్రోటోకాల్ అన్ని అతని సొంత. 1110 00:50:00,687 --> 00:50:13,370 1111 00:50:13,370 --> 00:50:19,780 అతను, క్రూరమైన ఫైర్ యొక్క ఒక ప్రపంచ వచ్చింది uncaring రౌటర్లు, మరియు ప్రమాదాల చాలా 1112 00:50:19,780 --> 00:50:22,600 మరణం కంటే అధ్వాన్నంగా. 1113 00:50:22,600 --> 00:50:23,590 అతను వేగమైనది. 1114 00:50:23,590 --> 00:50:25,300 అతను బలమైన. 1115 00:50:25,300 --> 00:50:27,700 అతను TCPIP వార్తలు. 1116 00:50:27,700 --> 00:50:30,420 మరియు అతను మీ చిరునామా సంపాదించి. 1117 00:50:30,420 --> 00:50:32,920 1118 00:50:32,920 --> 00:50:34,590 నెట్ యుద్ధవీరులు. 1119 00:50:34,590 --> 00:50:35,290 >> [END వీడియో ప్లేబ్యాక్] 1120 00:50:35,290 --> 00:50:38,070 >> SPEAKER 1: అంటే ఎలా ఇంటర్నెట్ వచ్చే వారం నాటికి పని చేస్తాయి. 1121 00:50:38,070 --> 00:50:40,406