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