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