7 الگورتھم ہر پروگرامر کو معلوم ہونا چاہیے۔

7 الگورتھم ہر پروگرامر کو معلوم ہونا چاہیے۔

پروگرامنگ کے طالب علم کی حیثیت سے ، آپ نے اپنے کیریئر کے دوران مختلف الگورتھم سیکھے ہوں گے۔ مختلف الگورتھم میں ماہر بننا کسی بھی پروگرامر کے لیے بالکل ضروری ہے۔





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





1. ڈجکسٹرا کا الگورتھم۔

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





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

Apsp dijkstra گراف۔



الگورتھم عام طور پر ایک سیٹ کا استعمال کرتے ہوئے نافذ کیا جاتا ہے۔ ڈجکسٹرا کا الگورتھم بہت موثر ہوتا ہے جب کم سے کم ڈھیر لگایا جاتا ہے۔ آپ صرف O (V+ElogV) وقت میں مختصر ترین راستہ تلاش کر سکتے ہیں (V سروں کی تعداد ہے اور E دیے گئے گراف میں کناروں کی تعداد ہے)۔

ڈجکسٹرا کے الگورتھم کی اپنی حدود ہیں یہ صرف مثبت وزن کے کناروں کے ساتھ ہدایت اور غیر مستقیم گراف پر کام کرتا ہے۔ منفی وزن کے لیے ، بیل مین فورڈ الگورتھم عام طور پر افضل ہے۔





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

2. ضم کریں ترتیب

ہمارے پاس اس فہرست میں الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ الگ موضوعات شامل ہیں۔ تقسیم کرنے اور جیتنے کی پروگرامنگ کی تکنیک پر مبنی یہ ایک موثر چھانٹ الگورتھم ہے۔ بدترین صورت حال میں ، انضمام ترتیب صرف N (nlogn) وقت میں n نمبروں کو ترتیب دے سکتا ہے۔ قدیم چھانٹنے کی تکنیکوں کے مقابلے میں جیسے۔ بلبلہ ترتیب (اس میں O (n^2) وقت لگتا ہے) ، انضمام ترتیب بہترین طور پر موثر ہے۔





متعلقہ: ترتیب الگورتھم ضم کرنے کا تعارف۔

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

روکو کے ساتھ مقامی چینلز کیسے حاصل کریں۔

3. کوئیکسورٹ۔

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

جیسا کہ آپ نے شاید اندازہ لگایا ہے ، ایک اچھا محور ایک موثر قسم کے لیے اہم ہے۔ محور یا تو بے ترتیب عنصر ، میڈیا عنصر ، پہلا عنصر ، یا آخری عنصر بھی ہوسکتا ہے۔

کوئکسورٹ کے نفاذ اکثر ایک پیوٹ منتخب کرنے کے طریقے سے مختلف ہوتے ہیں۔ اوسط صورت میں ، کوئکسورٹ ایک بڑے صف کو ایک اچھے محور کے ساتھ صرف O (nlogn) وقت میں ترتیب دے گا۔

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

ڈیپتھ فرسٹ سرچ (ڈی ایف ایس) طلباء کو پڑھائے جانے والے پہلے گراف الگورتھم میں سے ایک ہے۔ ڈی ایف ایس ایک موثر الگورتھم ہے جو گراف کو عبور کرنے یا تلاش کرنے کے لیے استعمال ہوتا ہے۔ اسے درختوں کے سفر میں بھی استعمال کیا جا سکتا ہے۔

گہرائی-پہلا درخت۔

ڈی ایف ایس ٹریورسل کسی صوابدیدی نوڈ سے شروع ہوسکتا ہے ، اور یہ ہر ملحقہ چوٹی میں غوطہ لگاتا ہے۔ الگورتھم بیک ٹریک جب کوئی غیر دیکھی ہوئی چوٹی نہیں ہے ، یا کوئی ڈیڈ اینڈ ہے۔ ڈی ایف ایس کو عام طور پر ایک اسٹیک اور بولین صف کے ساتھ لاگو کیا جاتا ہے تاکہ ملاحظہ کردہ نوڈس پر نظر رکھی جا سکے۔ ڈی ایف ایس نفاذ کے لیے آسان اور غیر معمولی موثر ہے۔ یہ کام کرتا ہے (V+E) ، جہاں V سروں کی تعداد ہے اور E کناروں کی تعداد ہے۔

ڈی ایف ایس ٹراورسل کی عام ایپلی کیشنز میں ٹاپولوجیکل سارٹ ، گراف میں سائیکلوں کا پتہ لگانا ، پاتھ فائنڈنگ ، اور مضبوطی سے جڑے ہوئے اجزاء تلاش کرنا شامل ہیں۔

بریڈتھ فرسٹ سرچ (بی ایف ایس) کو درختوں کے لیول آرڈر ٹریورسل بھی کہا جاتا ہے۔ BFS O (V+E) میں DFS الگورتھم کی طرح کام کرتا ہے۔ تاہم ، بی ایف ایس اسٹیک کے بجائے قطار استعمال کرتا ہے۔ ڈی ایف ایس گراف میں غوطہ لگاتا ہے ، جبکہ بی ایف ایس گراف کو چوڑائی کی طرف جاتا ہے۔

میک بک پرو کے لیے بہترین متبادل بیٹری

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

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

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

بائنری تلاش کی بدترین وقت کی پیچیدگی O (logn) ہے جو لکیری صفوں کو تلاش کرنے میں بہت موثر بناتی ہے۔

7. کم سے کم پھیلا ہوا درخت الگورتھم۔

ایک گراف کا کم سے کم پھیلا ہوا درخت (ایم ایس ٹی) تمام ممکنہ پھیلاؤ والے درختوں میں کم سے کم لاگت رکھتا ہے۔ پھیلے ہوئے درخت کی قیمت اس کے کناروں کے وزن پر منحصر ہے۔ یہ نوٹ کرنا ضروری ہے کہ ایک سے زیادہ پھیلا ہوا درخت ہو سکتا ہے۔ دو اہم ایم ایس ٹی الگورتھم ہیں ، یعنی کرسکل اور پرائم۔

کرسکل الگورتھم 4 اے۔

کرسکل کا الگورتھم بڑھتے ہوئے سیٹ میں کم سے کم لاگت کے ساتھ کنارے کو شامل کرکے MST بناتا ہے۔ الگورتھم پہلے اپنے وزن سے کناروں کو ترتیب دیتا ہے اور پھر کم سے کم سے شروع ہونے والے ایم ایس ٹی میں کناروں کو شامل کرتا ہے۔

یہ نوٹ کرنا ضروری ہے کہ الگورتھم کناروں کو شامل نہیں کرتا جو سائیکل بناتا ہے۔ کرسکل کا الگورتھم ویرل گراف کے لیے ترجیح دی جاتی ہے۔

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

کم سے کم پھیلا ہوا درخت الگورتھم کلسٹر تجزیہ ، درجہ بندی اور براڈکاسٹ نیٹ ورک کے لیے ضروری ہیں۔

ایک موثر پروگرامر الگورتھم کے ساتھ ماہر ہے۔

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

اینڈروئیڈ فون سے فائلوں کو مستقل طور پر کیسے حذف کریں۔
بانٹیں بانٹیں ٹویٹ ای میل۔ شیل ترتیب الگورتھم کا تعارف۔

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

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • پروگرامنگ۔
  • الگورتھم
مصنف کے بارے میں ایم فہد خواجہ(45 مضامین شائع ہوئے)

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

ایم فہد خواجہ سے مزید

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

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

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