لکیری اور بائنری سرچ الگورتھم کی وضاحت کی گئی۔

لکیری اور بائنری سرچ الگورتھم کی وضاحت کی گئی۔

کچھ ڈیٹا کو تلاش کرنے کی صلاحیت کمپیوٹر سائنس کا ایک اہم پہلو ہے۔ سرچ الگورتھم ڈیٹا سیٹ میں کسی خاص شے کی تلاش کے لیے استعمال ہوتے ہیں۔





الگورتھم تلاش کے استفسار پر ایک بولین نتیجہ (صحیح یا غلط) لوٹاتے ہیں۔ ان میں ترمیم کی جا سکتی ہے تاکہ ملنے والی قیمت کا رشتہ دار مقام دیا جا سکے۔





اس مضمون کے لیے ، الگورتھم اس بات کا تعین کرنے پر توجہ مرکوز کرے گا کہ کوئی قدر موجود ہے یا نہیں۔





لکیری تلاش الگورتھم۔

لکیری تلاش کو ترتیب وار تلاش بھی کہا جاتا ہے۔ اس قسم کی تلاش میں ، فہرست میں ہر قدر کو ایک ایک کرکے ترتیب وار طریقے سے دیکھا جاتا ہے جبکہ یہ چیک کیا جاتا ہے کہ مطلوبہ قیمت موجود ہے یا نہیں۔

الگورتھم قیمت کے حساب سے قیمت کی جانچ کرتا ہے جب تک کہ وہ قیمت نہ مل جائے جس کی آپ تلاش کر رہے ہیں یا تلاش کرنے کے لیے اقدار ختم ہو جاتی ہیں۔ جب اس کی تلاش کے لیے اقدار ختم ہو جائیں تو اس کا مطلب ہے کہ آپ کی تلاش کا سوال فہرست میں موجود نہیں ہے۔



ایک ترتیب وار تلاش الگورتھم اقدار کی فہرست اور فہرست میں مطلوبہ شے کو اس کے پیرامیٹرز کے طور پر لیتا ہے۔ واپسی کا نتیجہ بطور ابتدائی ہے۔ جھوٹا۔ اور بدل جائے گا سچ ہے۔ جب مطلوبہ قیمت مل جائے۔

مثال کے طور پر نیچے ازگر کے نفاذ کو دیکھیں:





def linearSearch(mylist, item):
found = False
index = 0
while index if mylist[index] == item:
found = True
else:
index = index+1
return found

الگورتھم تجزیہ

بہترین صورت حال اس وقت ہوتی ہے جب مطلوبہ آئٹم فہرست میں پہلی چیز ہو۔ بدترین صورت حال اس وقت ہوتی ہے جب مطلوبہ آئٹم فہرست میں آخری ہو (نویں آئٹم)۔ لہذا ، لکیری تلاش کے لیے وقت کی پیچیدگی O (n) ہے۔

مذکورہ الگورتھم میں کیس کا اوسط منظر n/2 ہے۔





متعلقہ: بگ-او نوٹیشن کیا ہے؟

یہ جاننا ضروری ہے کہ استعمال شدہ الگورتھم فرض کرتا ہے کہ اشیاء کی بے ترتیب فہرست اس کو فراہم کی گئی ہے۔ یعنی ، فہرست اشیاء کسی خاص ترتیب میں نہیں ہیں۔

پی سی پر انسٹاگرام پیغامات کیسے چیک کریں

فرض کریں کہ اشیاء ایک خاص ترتیب میں تھیں ، چھوٹی سے بڑی تک کہو۔ گنتی میں کچھ فائدہ حاصل کرنا ممکن ہوگا۔

دی گئی فہرست میں 19 تلاش کرنے کی ایک مثال لیں: [2 ، 5 ، 6 ، 11 ، 15 ، 18 ، 23 ، 27 ، 34]۔ 23 تک پہنچنے کے بعد ، یہ واضح ہو جائے گا کہ جس شے کی تلاش کی جا رہی ہے وہ فہرست میں موجود نہیں ہے۔ لہذا ، فہرست کی باقی اشیاء کی تلاش جاری رکھنا اب زیادہ اہم نہیں ہوگا۔

ثنائی تلاش الگورتھم۔

آپ نے دیکھا ہے کہ کس طرح آرڈر کی گئی فہرست ضروری حساب کو کم کر سکتی ہے۔ ثنائی تلاش الگورتھم اس کارکردگی سے اور بھی زیادہ فائدہ اٹھاتا ہے کہ آرڈر شدہ فہرست متعارف کرواتی ہے۔

الگورتھم آرڈر شدہ فہرست کی درمیانی قیمت لے کر اور یہ چیک کرنے سے شروع ہوتا ہے کہ آیا یہ مطلوبہ قیمت ہے۔ اگر یہ نہیں ہے ، تو قیمت کی جانچ پڑتال کی جاتی ہے چاہے وہ مطلوبہ قیمت سے کم ہو یا زیادہ۔

اگر یہ کم ہے ، تو فہرست کے نچلے نصف کو چیک کرنے کی ضرورت نہیں ہے۔ بصورت دیگر ، اگر یہ زیادہ ہے ، تو یہ فہرست کے اوپری نصف حصے پر چلی جاتی ہے۔

متعلقہ: تکرار کیا ہے اور آپ اسے کیسے استعمال کرتے ہیں؟

قطع نظر اس کے کہ جو بھی ذیلی فہرست (بائیں یا دائیں) منتخب کی گئی ہے ، درمیانی قیمت کا دوبارہ تعین کیا جائے گا۔ قیمت دوبارہ چیک کی جاتی ہے اگر یہ مطلوبہ قیمت ہے۔ اگر یہ نہیں ہے تو ، اس کی جانچ پڑتال کی گئی ہے کہ آیا یہ مطلوبہ قیمت سے کم ہے یا زیادہ۔

ونڈوز 10 بیٹری کا آئیکن نہیں دکھا رہا ہے۔

یہ عمل اس وقت تک دہرایا جاتا ہے جب تک کہ کوئی قیمت نہ مل جائے۔

ازگر کا عمل درآمد بائنری سرچ الگورتھم کے لیے ہے۔

def binarySearch (mylist ، item):

low = 0
high = len(mylist) - 1
found = False
while low <= high and not found: mid = (low + high) // 2
if mylist[mid] == item:found = True
elif item else:low = mid + 1
return found

الگورتھم تجزیہ

بہترین صورت حال اس وقت ہوتی ہے جب مطلوبہ شے درمیانی شے پائی جاتی ہے۔ بدترین صورت حال اگرچہ اتنی سیدھی نہیں ہے۔ ذیل میں تجزیہ پر عمل کریں:

پہلے موازنہ کے بعد ، n/2 آئٹمز رہ جائیں گے۔ دوسرے کے بعد ، n/4 آئٹمز رہ جائیں گے۔ تیسرے کے بعد ، n/8۔

نوٹس کریں کہ اشیاء کی تعداد آدھی رہتی ہے یہاں تک کہ وہ n/2i تک پہنچ جاتے ہیں جہاں میں موازنہ کی تعداد ہے۔ تمام تقسیم کے بعد ، ہم صرف 1 آئٹم کے ساتھ ختم ہوتے ہیں۔

یہ واضح کر تا ہے:

n/2i = 1 لہذا ، بائنری تلاش O (لاگ ان) ہے۔

چھانٹ کر آگے بڑھ رہے ہیں۔

بائنری تلاش میں ، ہم نے ایک کیس پر غور کیا جہاں دی گئی صف کا پہلے ہی آرڈر دیا گیا تھا۔ لیکن فرض کریں کہ آپ کے پاس غیر ترتیب شدہ ڈیٹاسیٹ تھا اور آپ اس پر بائنری سرچ کرنا چاہتے تھے۔ آپ کیا کریں گے؟

جواب آسان ہے: اسے ترتیب دیں۔ کمپیوٹر سائنس میں چھانٹنے کی کئی تکنیکیں ہیں جن پر اچھی طرح تحقیق کی گئی ہے۔ ان تکنیکوں میں سے ایک جن کا آپ مطالعہ شروع کر سکتے ہیں وہ ہے سلیکشن الگورتھم ، جبکہ ہمارے پاس دوسرے شعبوں سے متعلق بھی کافی گائیڈز ہیں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ سلیکشن ترتیب کو کیسے استعمال کریں۔

انتخاب کی ترتیب شروع کرنے والوں کے لیے سمجھنا تھوڑا مشکل ہے ، لیکن ایک بار جب آپ چیزوں کا جھول لیں تو یہ زیادہ مشکل نہیں ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • ٹیکنالوجی کی وضاحت
  • پروگرامنگ۔
  • الگورتھم
  • ڈیٹا تجزیہ
مصنف کے بارے میں جیروم ڈیوڈسن۔(22 مضامین شائع ہوئے)

جیروم MakeUseOf میں سٹاف رائٹر ہیں۔ وہ پروگرامنگ اور لینکس پر مضامین کا احاطہ کرتا ہے۔ وہ کرپٹو کے شوقین بھی ہیں اور ہمیشہ کرپٹو انڈسٹری پر نظر رکھتے ہیں۔

جیروم ڈیوڈسن سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔