>> ZAMYLA چان: آپ کو شاید پہلی بات تلاش کے بارے میں نوٹس ہے کہ ہم نے پہلے ہی
کوڈ ہمارے لئے لکھا ہے.
یہ تقسیم کوڈ کہا جاتا ہے.
تو ہم صرف ہمارے اپنے نہیں لکھ رہے ہیں اب شروع سے کوڈ.
بلکہ، ہم voids کو میں بھرنے کر رہے ہیں کچھ پہلے سے موجود کوڈ میں.
>> find.c پروگرام کے لئے اشارہ ٹیبل کو بھرنے کے لئے، تلاش
ایک صارف پیش انجکشن کے لئے ٹیبل، اور اس طرح بلا اور کی طرف سے اس کرتا ہے
تلاش، افعال کی وضاحت helpers.c میں.
تو find.c پہلے ہی لکھا ہے.
آپ کا کام مددگار لکھنے کے لئے ہے.
>> تو ہم کیا کر رہے ہیں؟
ہم دو افعال عملدرآمد کر رہے ہیں.
صحیح واپس جس میں تلاش کریں، تو ایک قیمت واپس لوٹنے، ٹیبل میں پایا جاتا ہے
جھوٹی قیمت ہے نہیں ٹیبل میں.
اور پھر ہم بھی طرح عملدرآمد کر رہے ہیں، جس کی اقدار سے ملاقات کی طرح صف.
تو تلاش نمٹنے ہیں.
>> تلاش فی الحال لاگو کیا جاتا ہے ایک لکیری تلاش کے طور پر.
لیکن آپ اس سے بہت بہتر کر سکتے ہیں.
لکیری تلاش این اے میں لاگو کیا جاتا ہے بہت سست ہے جو وقت،، یہ اگرچہ
اس کو دی گئی کسی بھی فہرست تلاش کر سکتے ہیں.
آپ کا کام بائنری تلاش کو لاگو کرنے کے لئے ہے، لاگ ان ن کے وقت اے ختم ہو گیا ہے جس میں.
یہ بہت تیز ہے.
>> لیکن ایک شرط ہے.
بائنری تلاش صرف تلاش کر سکتے ہیں پہلے کے مطابق فہرستوں کے ذریعے.
ایسا کیوں ہے؟
ٹھیک ہے، ایک مثال کے طور پر نظر آتے ہیں.
اقدار کی ایک صف کو دیکھتے ہوئے، ٹیبل، ہم تلاش کر جا رہے ہیں
ایک انجکشن کے لئے، اور اس میں مثال کے طور پر، عددی 3.
>> بائنری تلاش پر کام کرتا ہے اس طرح ہے کہ ہم مشرق کی قیمت کا موازنہ
زیادہ کی طرح انجکشن صف، کس طرح ہم مشرق کے لئے ایک فون کی کتاب کھولی
ہفتہ 0 پیج.
تو مشرق کی قیمت کا موازنہ کے بعد انجکشن، آپ کو یا تو ضائع کر سکتے ہیں
بائیں یا صف کے دائیں نصف آپ حد سخت کی طرف سے.
اس صورت میں، 3 بعد سے، ہمارے انجکشن، ہے 10 سے بھی کم، درمیانی قیمت،
حق پابند کم کر سکتے ہیں.
>> لیکن آپ کی حد کرنے کی کوشش کریں ہر ممکن حد تک تنگ.
مشرق قیمت انجکشن نہیں ہے تو، تو آپ کو آپ کی ضرورت نہیں ہے
آپ کی تلاش میں شامل ہو.
تو جانے اپنے دائیں سخت کر سکتا ہے صرف ایک چھوٹے سے تھوڑا سا زیادہ تلاش کی حد،
اور تو اور وغیرہ، تک آپ کو آپ کے انجکشن تلاش.
>> تو چھدم کیا ہے کوڈ کی طرح نظر آتے ہیں؟
ٹھیک ہے، ہم اب بھی کے ذریعے تلاش کر رہے ہیں جبکہ کی فہرست اور اب بھی ہے
میں تلاش کرنے کے لئے عناصر، ہم مشرق لے فہرست کی اور اس کا موازنہ کریں
ہمارے انجکشن مشرق قیمت.
اگر وہ برابر ہیں، تو یہ ہم نے کا مطلب انجکشن پایا، اور ہم کر سکتے ہیں
سچ واپس.
>> دوسری صورت میں، انجکشن سے کم ہے تو مشرق کی قیمت، اس کے بعد کہ ہم مطلب
صرف صحیح نصف ضائع کر سکتے ہیں اور صف کے بائیں جانب تلاش.
دوسری صورت میں، ہم تلاش کر لیں گے صف کے دائیں جانب.
اور آخر میں، اگر آپ کو کسی بھی ضرورت نہیں ہے مزید تلاش کرنے کے لئے چھوڑ دیا عناصر لیکن آپ
ابھی تک آپ کے انجکشن نہیں مل سکا ہے، تو آپ جھوٹے واپس.
انجکشن ضرور کیونکہ ٹیبل میں نہیں ہے.
>> اب، اس چھدم کے بارے میں ایک صاف بات بائنری تلاش میں کوڈ ہے یہ کر سکتے ہیں کہ
تکراری یا تو کے طور پر تشریح کی جائے یا پنراورتی عمل.
آپ کو بلایا تو اس پنراورتی ہو گا تلاش کے اندر اندر تلاش تقریب
صف کے یا تو نصف پر کام.
ہم تکرار تھوڑا سا احاطہ کریں گے بعد میں کورس میں.
لیکن یہ ایک آپشن ہے کہ جانتے ہیں آپ کی کوشش کرنا چاہتے ہیں.