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