اندراج ترتیب الگورتھم کا تعارف۔

اندراج ترتیب الگورتھم کا تعارف۔

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





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





تیسری قدر کا دوسرے دو کے ساتھ موازنہ کیا جاتا ہے ، اور پھر صحیح انڈیکس میں داخل کیا جاتا ہے۔ یہ عمل تب تک جاری رہتا ہے جب تک کہ پوری فہرست ترتیب نہ دی جائے۔





اندراج کی ترتیب پر ایک قریب نظر۔

مذکورہ بالا تفصیل آپ کو سمجھ نہیں آئی ہوگی۔ ایک مثال آپ کو زیادہ بہتر سمجھنے میں مدد کرنی چاہیے۔

فرض کریں کہ آپ کے پاس ایک فہرست ہے: [39 ، 6 ، 2 ، 51 ، 30 ، 42 ، 7]۔



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

متعلقہ: متحرک پروگرامنگ: مثالیں ، مشترکہ مسائل اور حل۔





6 پھر 39 کے ساتھ موازنہ کیا جاتا ہے۔ چونکہ 6 39 سے کم ہے ، پہلی پوزیشن میں 6 اور دوسری میں 39 داخل کی جاتی ہے۔ نئی فہرست کا آرڈر پہلے پاس ہونے کے بعد ہے:

[6 ، 39 ، 2 ، 51 ، 30 ، 42 ، 7]





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

[2 ، 6 ، 39 ، 51 ، 30 ، 42 ، 7]

تیسرے پاس کے لیے ، فہرست کا آرڈر یہ ہے:

[2 ، 6 ، 39 ، 51 ، 30 ، 42 ، 7]

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

ذیل کا خاکہ ملاحظہ کریں جو ان کارروائیوں کا خلاصہ کرتا ہے:

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

اندراج کی ترتیب کی وقت پیچیدگی O (n)، ویسے ہی جیسے بلبلا کی ترتیب . بدترین صورتحال میں موازنہ کی تعداد 1 سے (n-1) تک تمام عددوں کا مجموعہ ہے ، جو ایک چوکور رقم دیتی ہے۔

کوڈ کا نفاذ۔

نیچے دیا گیا ازگر اور جاوا کوڈ ظاہر کرتا ہے کہ آپ اندراج ترتیب کے طریقہ کار کو کس طرح نافذ کرسکتے ہیں۔

ازگر:

def insertionSort(mylist):
for step in range(1, len(mylist)):
current_element = mylist[step]
position = step
while position > 0 and mylist[position - 1] > current_element:
mylist[position] = mylist[position - 1]
position = position - 1
mylist[position] = current_element

جاوا:

void insertionSort(int[] myarray) {
int n = myarray.length;
for (int x = 1; x int key = myarray[x];
int y = x-1;
while ( (y > -1) && ( myarray [y] > key ) ) {
myarray [y+1] = myarray [y];
y--;
}
myarray[y+1] = key;
}
}

سیڈوکوڈ کے ساتھ بہتر کوڈنگ۔

مذکورہ بالا کوڈ کی مثالیں بغیر کسی سیڈو کوڈ کے دی گئی تھیں جن کا حوالہ آپ اس الگورتھم کو دوسری زبانوں میں لکھ سکتے ہیں۔ زیادہ تر پروگرامرز (مصنف شامل) اپنے کی بورڈز پر بھاگنا پسند کرتے ہیں جب 'وسوسے' بتائے جانے کے بعد کہ پروگرام کیسے کام کرتا ہے۔

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

بانٹیں بانٹیں ٹویٹ ای میل۔ سیڈوکوڈ کیا ہے اور یہ آپ کو ایک بہتر ڈویلپر کیسے بناتا ہے؟

پروگرامنگ سیکھنے کے لیے جدوجہد کر رہے ہیں؟ سیڈو کوڈ سیکھ کر کوڈ کے ساتھ گرفت حاصل کریں۔ لیکن سیڈوکوڈ کیا ہے اور کیا یہ واقعی مدد کر سکتا ہے؟

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

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

میرا نمبر اینڈرائیڈ پر کیسے بلاک کیا جائے۔
جیروم ڈیوڈسن سے مزید

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

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

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