[संगीत खेल] ZAMYLA चान: आपको शायद पहली बात मिल के बारे में सूचना है कि हम पहले से ही कोड हमारे लिए लिखा है. इस वितरण कोड कहा जाता है. तो हम सिर्फ अपने ही लिख नहीं रहे अब और खरोंच से कोड. बल्कि, हम voids में भरने रहे हैं कुछ पूर्व मौजूदा कोड में. find.c कार्यक्रम संख्या के लिए संकेत देता है सूखी घास का ढेर भरने के लिए, खोजता है एक उपयोगकर्ता प्रस्तुत सुई के लिए टेबल, और यह की तरह बुला रही है और द्वारा इस करता है खोज, कार्यों परिभाषित helpers.c में. तो find.c पहले से ही लिखा है. अपनी नौकरी के सहायकों लिखने के लिए है. तो हम क्या कर रहे हो? हम दो कार्यों को लागू कर रहे हैं. सच जो रिटर्न खोज, अगर एक मूल्य लौटने, टेबल में पाया जाता है झूठी मान है नहीं सूखी घास का ढेर में. और फिर हम भी सॉर्ट लागू कर रहे हैं जो मान कहा सरणी सॉर्ट करता है. तो चलो खोज निपटने. खोज वर्तमान में एक के रूप में लागू किया जाता है रैखिक खोज, लेकिन आप कुछ कर सकते हैं उस से भी बेहतर. रैखिक खोज हे में कार्यान्वित किया जाता है n समय की, जो काफी धीमी है. हालांकि, यह खोज कर सकते हैं यह करने के लिए दिए गए किसी भी सूची. अपनी नौकरी के लिए द्विआधारी खोज को लागू करने के लिए है, लॉग n के समय हे चला गया है जो. यह बहुत तेजी से है. लेकिन एक शर्त नहीं है. द्विआधारी खोज ही खोज सकते हैं पूर्व क्रमबद्ध सूची के माध्यम से. ऐसा क्यों है? खैर चलो एक उदाहरण देखो. मूल्यों की एक सरणी को देखते हुए, टेबल, हम देख रहे हो जा रहे हैं एक सुई के लिए. और इस उदाहरण में, पूर्णांक तीन. द्विआधारी खोज काम करता है जिस तरह से है कि हम के बीच मूल्य तुलना बहुत पसंद सुई को सरणी, कैसे हम बीच करने के लिए एक फोनबुक खोला सप्ताह शून्य में पृष्ठ. तो करने के लिए मध्य मूल्य की तुलना के बाद सुई, आप या तो रद्द कर सकते हैं बाईं या सरणी के ठीक आधे अपनी सीमा कस द्वारा. इस मामले में, तीन के बाद से, हमारे सुई, कम से कम 10, मध्य मूल्य, है सही बाध्य घटा सकते हैं. लेकिन अपनी सीमा बनाने की कोशिश यथासंभव तंग. मध्य मूल्य सुई नहीं है, तो क्या आप की जरूरत नहीं है कि पता अपनी खोज में यह शामिल है. तो आप सही ही रहे कस कर सकते हैं सिर्फ एक छोटा सा और खोज सीमा, और इतने पर और बहुत आगे तक आप अपने सुई पाते हैं. तो क्या pseudocode की तरह दिखता है? हम अभी भी माध्यम से देख रहे हैं ठीक है, जबकि सूची और अभी भी करने के लिए तत्वों में देखो, हम सूची के बीच ले और करने के लिए कि मध्यम मूल्य की तुलना हमारे सुई. वे बराबर हो, तो वह हम है इसका मतलब सुई पाया और हम कर सकते हैं वापसी सच. अन्यथा, सुई से कम है तो मध्य मूल्य, तब कि हम का मतलब सही आधा त्यागें, और अभी कर सकते हैं सरणी के बाईं ओर खोज. अन्यथा, हम खोज लेंगे सरणी के दाईं ओर. और अंत में, यदि आप किसी भी नहीं है अधिक खोज करने के लिए छोड़ दिया तत्वों लेकिन आप यदि आप अभी तक अपने सुई नहीं मिला है वापसी झूठी क्योंकि सुई निश्चित रूप से सूखी घास का ढेर में नहीं है. इस pseudocode के बारे में अब एक बात साफ द्विआधारी खोज में यह हो सकता है एक चलने या तो के रूप में व्याख्या या पुनरावर्ती कार्यान्वयन. तुम्हें बुलाया तो अगर यह पुनरावर्ती होगा खोज के भीतर खोज समारोह सरणी की या तो आधे पर कार्य करते हैं. हम थोड़ा बाद में recursion कवर करेंगे बेशक, लेकिन यह एक है कि जानते हो विकल्प तुम कोशिश करना चाहते हैं. अब के आधार पर क्रमबद्ध देखो. क्रमबद्ध एक सरणी और पूर्णांक लेता है सरणी के आकार है जो एन,. अब विभिन्न विभिन्न प्रकार के होते हैं एक तरह की है, और आप कुछ पर देख सकते हैं क़ौम और स्पष्टीकरण के लिए शॉर्ट्स. के लिए वापसी प्रकार हमारे सॉर्ट समारोह शून्य है. इसलिए कि हम नहीं जा रहे हैं इसका मतलब है कि प्रकार से किसी भी सरणी वापस जाने के लिए. हम वास्तव में बहुत परिवर्तन करने के लिए जा रहे हैं हमें में पारित किया गया था कि सरणी. सरणियों हैं और क्योंकि संभव है कि हम अब सी में संदर्भ द्वारा हूँ पारित किया बाद में इस बारे में अधिक देखते हैं, लेकिन पासिंग के बीच अंतर आवश्यक एक पूर्णांक और पारित की तरह कुछ में एक सरणी में, है कि जब आप एक पूर्णांक में पारित, सी बस जा रहा है कि पूर्णांक की एक प्रतिलिपि बनाने और पारित समारोह के लिए यह. मूल चर बदला नहीं जाएगा समारोह समाप्त हो जाने के बाद. एक सरणी के साथ, दूसरे हाथ पर, यह है एक प्रतिलिपि बनाने जा रही है, और तुम हूँ नहीं वास्तव में संपादन किया बहुत सरणी ही. तो एक तरह से एक प्रकार है चयन के आधार पर क्रमबद्ध. चयन के आधार पर क्रमबद्ध पर शुरू से काम करता है आप पुनरावृति फिर शुरुआत है, और पर और छोटी तत्व हैं. और फिर आप स्वैप कि छोटी से छोटी पहली बार एक साथ तत्व. और फिर आप दूसरे तत्व के लिए कदम अगले सबसे छोटा लगता है तब तत्व, और स्वैप कि साथ सरणी में दूसरा तत्व है क्योंकि पहला तत्व पहले से ही हल है. और यदि ऐसा है तो आप हर के लिए जारी छोटी से छोटी पहचान करने में तत्व मूल्य और इसे बाहर गमागमन. मैं 0, बहुत पहले तत्व बराबर होती है के लिए एन शून्य से 1 के लिए, आप की तुलना करने के लिए जा रहे हैं हर अगले उस के बाद मूल्य और लगता है न्यूनतम मूल्य के सूचकांक. आप न्यूनतम मूल्य सूचकांक मिलने के बाद आप सरणी की कि मूल्य स्वैप कर सकते हैं न्यूनतम और सरणी आई. तरह की एक अन्य प्रकार है कि आप कर सकते हैं लागू बुलबुला तरह है. सूची में इतने बुलबुला तरह दोहराता आसन्न तत्वों और की तुलना तत्वों गमागमन कि गलत क्रम में हैं. और इस तरह, सबसे बड़ा तत्व बुलबुला अंत तक होगा. और इस सूची में एक बार से अधिक नहीं है हल तत्वों बदली की गई है. तो उन प्रकार के दो उदाहरण हैं आप के लिए लागू कर सकते हैं कि एल्गोरिदम मिल कार्यक्रम. आप सॉर्ट खत्म, और आपने एक बार खोज किया, आप समाप्त कर रहे हैं. मेरा नाम Zamyla है, और इस CS50 है. [संगीत खेल]