معلومات

ہر پروگرامر کو 'سٹرنگ' کے بارے میں کیا معلوم ہونا چاہیے

- اشتہار-

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

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

اسٹرنگ کے پیچھے بنیادی تصور سیکھیں: کریکٹر انکوڈنگ

جیسا کہ اوپر ذکر کیا گیا ہے، سٹرنگز صرف حروف کا مجموعہ ہیں۔ تاہم، جب کمپیوٹر کی بات آتی ہے، تو وہ کرداروں کو اس طرح نہیں سمجھتے جیسے ہم کرتے ہیں، اور یہ بھی، وہ انہیں اپنی یادداشت میں اسی طرح محفوظ نہیں کرتے ہیں۔

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

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

اس کے علاوہ، بہت سے پروگرامرز فرض کرتے ہیں کہ تمام حروف ایک جیسے ہیں اور سنگل بائٹس ہیں۔ ٹھیک ہے، یہ معاملہ نہیں ہے. تقریباً تمام یونیکوڈ حروف کو 2 بائٹ یا 16 بٹ ڈیٹا کے طور پر محفوظ کیا جا سکتا ہے۔

یونیکوڈ میں موجود 136,000 سے زیادہ پوائنٹس کے ساتھ، صرف 65,536 حروف کو دو بائٹس میں محفوظ کیا جا سکتا ہے۔ اس لیے باقی کو ذخیرہ کرنے کے لیے ملٹی بائٹ کا ہونا ضروری ہے۔

مزید یہ کہ جب بات انکوڈنگ کی لمبائی کی ہو تو لمبائی متغیر ہو سکتی ہے۔ لمبائی یا تو متغیر یا مقررہ ہو سکتی ہے۔ آئیے اندازہ لگائیں کہ یہ مختلف قسم کے انکوڈنگز کیا ہیں:

  • UTF 16: UTF-16 ایک عام انکوڈنگ کی قسم ہے جو استعمال کی جاتی ہے جو ایک واحد 16 بٹ کیریکٹر کی قسم کی نمائندگی کرتی ہے۔ اس کا سیدھا مطلب ہے کہ UTF-16 متغیر لمبائی کی انکوڈنگ ہے جو 16 بٹس (کم سے کم) اور 32 بٹس (زیادہ سے زیادہ) استعمال کرتی ہے۔
  • UTF- 32: UTF-32 ایک فکسڈ لینتھ انکوڈنگ ہے جو ہر کریکٹر کے لیے چار بائٹس پر قبضہ کرتی ہے۔
  • UTF-8: جب بات UTF-8 کی ہو تو یہ ہر یونیکوڈ پوائنٹ کو انکوڈ کرنے کے لیے چار 8 بٹس کا استعمال کرتا ہے۔ UTF-8 ایک متغیر لمبائی کی انکوڈنگ کی قسم ہے۔

بھی پڑھیں: 3 جیمز بانڈ گھڑیاں جو ماضی میں سرخیوں میں تھیں۔

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

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

سبسٹریننگ

کسی بھی سٹرنگ کے ذیلی اسٹرنگ کو ایک سٹرنگ کے طور پر بیان کیا جا سکتا ہے جو اصل سٹرنگ میں ظاہر ہوتا ہے۔

آئیے اسے ایک مثال سے واضح کرتے ہیں،

ایک تار پر غور کریں: گیند

سٹرنگ "بال" کے ذیلی اسٹرنگ ہیں:

"با،" "بال،" "سب،" "ال۔"

ٹھیک ہے، اس مثال میں، ذکر کردہ تمام ذیلی اسٹرنگ اصل سٹرنگ میں ظاہر ہوتے ہیں، جو کہ "بال" ہے۔

اپسرگ

سٹرنگ کے سابقہ ​​کو اس کے ذیلی اسٹرنگ کے طور پر بیان کیا جا سکتا ہے، جو اس سٹرنگ کے شروع میں ظاہر ہوتا ہے۔

Prefix کے تصور کو بہتر طور پر سمجھنے کے لیے، سٹرنگ "بال" پر غور کریں۔

سٹرنگ بال کا سابقہ ​​یہ ہوگا:

"با،" "بال،" "بی،" "گیند۔"

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

لاحقہ

سابقہ ​​کے برعکس، لاحقہ سٹرنگ ایک سٹرنگ ہے جو اصل سٹرنگ کے آخر میں ہوتی ہے۔

تصور کو بہتر طور پر سمجھانے کے لیے یہاں سٹرنگ "بال" کی ایک مثال ہے۔

"سب،" "ll،" "l"

اس مثال میں، مذکور تمام لاحقے اصل سٹرنگ کے آخر میں ظاہر ہوتے ہیں۔ لہذا، کسی سٹرنگ کو لاحقہ سٹرنگ کہنے کے لیے، یہ سٹرنگ کے آخر میں ظاہر ہوتا ہے۔

سبقت

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

اس تصور کو آسان بنانے کے لیے، آئیے سٹرنگ "بال" کی ایک مثال پر غور کریں۔

"ال" ایک سٹرنگ کا نتیجہ ہے جیسا کہ یہ اصل سٹرنگ "بال" میں اسی ترتیب میں ظاہر ہوتا ہے۔

تاہم، جب "لا" کی بات آتی ہے تو یہ کوئی نتیجہ نہیں ہے کیونکہ یہ اصل سٹرنگ کی ترتیب میں ظاہر نہیں ہوتا ہے۔

تمام سٹرنگ آپریشنز کا مختصر جائزہ لیں۔

اب آئیے ان تمام کارروائیوں کے مختصر کے ساتھ آگے بڑھیں جو آپ سٹرنگ پر انجام دے سکتے ہیں۔

کیس فولڈنگ

کیس فولڈنگ ایک سٹرنگ کے تمام حروف کو ایک ہی کیس میں تبدیل کرنے کا ایک ذریعہ ہے، یعنی، بڑے یا چھوٹے.

کیس فولڈنگ یا کیپٹلائزیشن کو مختلف منظرناموں میں استعمال کیا جا سکتا ہے۔

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

مقابلہ کرنا

کنکٹنیشن دو تاروں کو جوڑنے کے سوا کچھ نہیں ہے۔

مثال کے طور پر، اگر دو تار ہیں: "مکی" اور "ماؤس"، جوڑنے کے بعد، دونوں سٹرنگ ایک ساتھ جوڑ کر ایک سٹرنگ میں جوڑے جائیں گے اور "مکی ماؤس" کی طرح نظر آئیں گے۔

ٹوکنائز کریں

ایک اور آپریشن جو آپ سٹرنگ پر کر سکتے ہیں اسے ٹوکنائز کرنا ہے۔ ٹوکن کو ٹوکنائز کرنے کا مطلب ہے کسی ایک سٹرنگ کو ڈیلیمیٹر کی بنیاد پر مختلف تاروں میں توڑ دینا۔

مثال کے طور پر: اسٹرنگ پر غور کریں "آپ کیسے ہیں؟ "

جب آپ اپنے سٹرنگ کو ٹوکنائز کرتے ہیں، تو یہ ["کیسے،" "ہیں،" "آپ"] کی طرح نظر آئے گا۔

سب سے طویل Palindromic ضمنی کام

۔ longest Palindromic Subsequence ایک سٹرنگ پر ایک آپریشن ہے جو آپ کو سٹرنگ کا سب سے لمبا سیکوئنس تلاش کرنے کی اجازت دیتا ہے جو کہ ایک پیلینڈروم بھی ہے۔

مثال کے طور پر: اسٹرنگ ABBCDABB پر غور کریں۔

اگر آپ اس سٹرنگ کے سب سے طویل پیلینڈرومک بعد کو چیک کرتے ہیں، تو آپ کو آؤٹ پٹ ملے گا: BBABB، جو کہ 5 حروف طویل ہے۔

لہذا، آپ کے دیے گئے اسٹرنگ کے لیے سب سے طویل پیلینڈرومک سیکوئنس 5 حروف کا ہوگا۔

ایک سٹرنگ کے تمام بعد کو پرنٹ کریں۔

ایک اور آپریشن جو آپ سٹرنگ پر انجام دے سکتے ہیں۔ سٹرنگ کے تمام بعد کو پرنٹ کریں۔

مثال کے طور پر: اگر آپ ایک سٹرنگ "ABC" ڈالتے ہیں۔

آپ کو درج ذیل آؤٹ پٹ ملے گا:

"a" "b" "c" "ab" "bc" "ac" "abc"

سب پرنٹ کریں۔ سٹرنگ فنکشن کے بعد آپ کے دیے گئے سٹرنگ کے تمام سیکوئنسز پرنٹ کریں گے اور ان کی فہرست بنائیں گے۔

نتیجہ

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

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

ہمیں انسٹاگرام پر فالو کریں۔ (@uniquenewsonline) اور فیس بک (@uniquenewswebsite) مفت میں باقاعدہ خبروں کی اپ ڈیٹس حاصل کرنے کے لیے

متعلقہ مضامین