>> ZAMYLA சான்: நீங்கள் போகலாம் முதல் விஷயம் கண்டறிய பற்றி அறிவிப்பு என்று நாம் ஏற்கனவே
குறியீடு எங்களுக்கு எழுதியுள்ளனர்.
இந்த விநியோக குறியீடு என்று அழைக்கப்படுகிறது.
எனவே நாம் நமது சொந்த எழுத போவதில்லை இனி புதிதாக குறியீடு.
மாறாக, நாம் காலிக் பூர்த்தி சில ஏற்கனவே குறியீடு.
>> find.c திட்டம் எண்கள் கேட்கிறது வைக்கோல் நிரப்ப, தேடுகிறது
பயனர் சமர்ப்பித்த ஊசியை வைக்கோல், அது மாதிரி அழைப்பு மற்றும் இந்த செய்கிறது
தேடல், செயல்பாடுகளை வரையறுக்கப்பட்ட helpers.c உள்ள.
எனவே find.c ஏற்கனவே எழுதப்பட்டுள்ளது.
உங்கள் வேலை உதவியாளர்கள் எழுத இருக்கிறது.
>> எனவே நாம் என்ன செய்து கொண்டிருக்கிறாய்?
நாம் இரண்டு செயல்பாடுகளை செயல்படுத்தி வருகிறோம்.
உண்மை கொடுக்கிறது இது தேடல், என்றால் ஒரு மதிப்பு திரும்பி, வைக்கோல் காணப்படுகிறது
தவறான மதிப்பு இருந்தால் இல்லை வைக்கோல்.
பின்னர் நாங்கள் வகையான செயல்படுத்தி வருகிறோம், இது வேல்யூஸ் வரிசை வகையான.
எனவே தேடல் சமாளிக்க வேண்டும்.
>> தேடல் தற்போது செயல்படுத்தப்பட்டு வருகிறது ஒரு நேர்கோட்டு தேடல்.
ஆனால் நீங்கள் அதை விட சிறப்பாக செய்ய முடியும்.
நேரியல் தேடல் n, ஓ செயல்படுத்தப்படுகிறது மிகவும் மெதுவாக இது நேரம், அது என்றாலும்
அது கொடுக்கப்பட்ட எந்த பட்டியலில் தேடலாம்.
உங்கள் வேலை பைனரி தேடல் செயல்படுத்த உள்ளது பதிவு n, O ரன் இது.
அந்த அழகான வேகமாக தான்.
>> ஆனால் ஒரு நிபந்தனை இருக்கிறது.
இரும தேடல் மட்டும் தேடலாம் முன் வரிசையில் பட்டியல்கள் மூலம்.
அது ஏன்?
சரி, ஒரு உதாரணத்தை பார்போம்.
மதிப்புகள் ஒரு வரிசை கொடுத்து, வைக்கோல், நாம் தேடும் போகிறாய்
ஒரு ஊசி, மற்றும் இந்த எடுத்துக்காட்டாக, முழு 3.
>> பைனரி தேடல் வேலை என்று வழி இருக்கிறது என்று நாங்கள் மத்தியில் மதிப்பு ஒப்பிட்டு
மிகவும் போன்ற ஊசி வரிசை, எப்படி நாங்கள் நடுத்தர ஒரு தொலைபேசி புத்தகத்தை திறந்து
வீக் 0 பக்கம்.
எனவே மத்திய மதிப்பு ஒப்பிட்டு ஊசி, நீங்கள் நிராகரிக்க முடியும்
இடது அல்லது வரிசை சரி பாதி உங்கள் எல்லைக்கு இறுக்குவது மூலம்.
இந்த வழக்கில், 3 முதல், எங்கள் ஊசி, ஆகிறது குறைவாக 10, நடுத்தர மதிப்பு,
வலது பிணைப்பு குறைக்க முடியும்.
>> ஆனால் உங்கள் எல்லைக்கு செய்ய முயற்சி முடிந்தவரை இறுக்கமான.
நடுத்தர மதிப்பு ஊசி இல்லை என்றால், நீங்கள் தேவையில்லை என்று
உங்கள் தேடல் அதை சேர்க்க.
எனவே கட்டப்படுகிறது உங்கள் வலது இறுக்க முடியாது ஒரு சிறிய பிட் மேலும் தேடல் எல்லைக்கு,
அதனால் மற்றும் முன்னும் பின்னுமாக, வரை உங்கள் ஊசி கண்டுபிடிக்க.
>> எனவே போலி என்ன குறியீடு போன்ற?
சரி, நாம் இன்னும் வழியாக தேடும் போது பட்டியல் மற்றும் இன்னும் வேண்டும்
பார்க்க உறுப்புகள், நாங்கள் நடுத்தர எடுக்கிறோம் பட்டியலில் என்று ஒப்பிட்டு
எங்கள் ஊசி நடுத்தர மதிப்பு.
அவர்கள் சம என்றால் நாம் தான் ஆகிறது ஊசி, மற்றும் நாம்
உண்மை திரும்ப.
>> இல்லையெனில், ஊசி குறைவாக இருந்தால் நடுத்தர மதிப்பு, பிறகு நாம் பொருள்
சரியாக அரை நிராகரிக்க முடியும் வரிசை இடது பக்கத்தில் தேடல்.
இல்லையெனில், நாங்கள் தேட வேண்டும் வரிசை வலது பக்க.
இறுதியில், நீங்கள் எந்த இல்லை மேலும் தேட இடது கூறுகள் ஆனால் நீங்கள்
இன்னும் உங்கள் ஊசி இல்லை, நீங்கள் தவறான திரும்ப.
ஊசி நிச்சயமாக வைக்கோல் அல்ல.
>> இப்போது, இந்த போலி ஒரு சுத்தமாகவும் விஷயம் இரும தேடல் குறியீடு ஆகிறது அது முடியும் என்று
பங்கேற்பு ஒன்று என விளக்கம் அல்லது சுழல்நிலை செயல்படுத்த.
நீங்கள் என்று நீங்கள் அதை சுழல்நிலை இருக்கும் தேடல் உள்ள தேடல் செயல்பாடு
வரிசை அல்லது அரை செயற்படுகின்றன.
நாம் மறுநிகழ்வு ஒரு பிட் மூடலாம் பின்னர் போக்கில்.
ஆனால் அது ஒரு விருப்பத்தை உள்ளது என்று தெரிகிறது நீங்கள் முயற்சி விரும்புகிறேன் என்றால்.