برنامج Java للتحقق مما إذا كانت هناك سلسلتان هما الجناس الناقص | برنامج الجناس الناقص

نشرت: 2021-07-23

جدول المحتويات

حقائق أقل شهرة عن جافا

لكونها واحدة من أكثر لغات البرمجة ديمومة ، يتم استخدام Java في جميع أنحاء العالم بسبب ميزاتها القوية والمرنة. جعل استقرار Java وتعدد استخداماتها من أكثر لغات البرمجة رواجًا. ومع ذلك ، هناك العديد من الحقائق الأقل شهرة حول لغة البرمجة الآمنة هذه. دعنا نتعرف على القليل منهم.

  • البلوط هو الاسم الأصلي لجافا.
  • يمكنك كسب الكثير أثناء تعلم لغة البرمجة هذه.
  • تعد Java ثاني أكثر لغات البرمجة اكتظاظًا بالسكان في العالم ، وأول لغة هي لغة البرمجة C.
  • يعمل حوالي 3 مليارات جهاز حول العالم على Java.
  • Java هي لغة برمجة حساسة لحالة الأحرف. على سبيل المثال ، "نهائي" و "نهائي" ليسا نفس الشيء في كود Java. اقرأ المزيد عن سبب شهرة جافا بين المطورين.

نظرة عامة على الجناس الناقص

إذا تم تحويل سلسلة إلى سلسلة أخرى عن طريق إعادة ترتيب أحرفها ، فيُقال إن السلسلتين هما الجناس الناقصان لبعضهما البعض. ومع ذلك ، يجب أن يكون عدد الأحرف في السلسلة الأولية والسلسلة التي تم الحصول عليها هو نفسه. لفهم مفهوم الجناس الناقص بطريقة أفضل ، دعونا نفكر في سلسلتين ، "الله" و "الكلب".

السلاسل 'god' و 'dog' عبارة عن جناس متناسق لبعضهما البعض لأنه يمكن إعادة ترتيب السلسلة السابقة للحصول على الأخير فقط عن طريق تبديل مواضع الحرفين 'd' و 'g'. لأي سلسلتين إدخال ، يتم حساب تكرار كل حرف للتحقق مما إذا كانت السلاسل هي الجناس الناقصة لبعضها البعض أم لا. لذلك ، يمكن تعريف الجناس الناقص لسلسلة ما على أنه أي سلسلة أخرى لها نفس الأحرف بنفس التردد كما في سلسلة الإدخال في أي تسلسل.

خوارزمية لبرنامج الجناس الناقص في جافا

الخطوة 1: تحديد سلسلتي الإدخال.

الخطوة 2: يتم تحديد طول كل سلسلة. سلاسل الإدخال ليست جناسًا لبعضها البعض إذا كان لها أطوال سلسلة مختلفة.

الخطوة 3: إذا كانت السلاسل لها نفس الطول ، يتم تحويل أحرف السلسلة إلى أحرف صغيرة لضمان سهولة المقارنة.

الخطوة 4: يتم فرز أحرف السلسلة إما عن طريق وظائف مضمنة أو تحويلها إلى مصفوفة أحرف ثم فرزها.

الخطوة 5: يتم التحقق من تكافؤ مجموعة الأحرف التي تم فرزها.

تنفيذ برنامج الجناس الناقص في جافا

هناك العديد من الحلول لتطبيق رمز لمعرفة ما إذا كانت سلسلتان عبارة عن جناس ناقص أم لا. لكل حل تمت مناقشته في الأقسام التالية ، تشكل الخطوة 2 من الخوارزمية الموضحة أعلاه الأساس وتسهل الخروج المبكر إذا لم تتطابق أطوال السلسلة. في الأقسام التالية ، دعنا نفهم المزيد عن الأنواع المختلفة لكتابة رمز لمنطق الجناس الناقص.

نهج الفرز

يمكن فرز أحرف كل سلسلة إدخال للحصول على مصفوفتي أحرف تمت معايرتهما. إذا كانت المصفوفات التي تم تسويتها لكل من سلاسل الإدخال هي نفسها ، فسيتم اعتبار السلاسل بمثابة الجناس الناقصة لبعضها البعض والعكس صحيح.

فهم وتنفيذ هذا القانون أسهل. التعقيد الزمني للحل أعلاه هو O (n log n) ومساحة إضافية مطلوبة لتخزين مصفوفات الأحرف لسلاسل الإدخال.

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

نهج العد لتطبيق منطق الجناس الناقص

في هذا النهج ، يتم قياس عدد التواجد لكل حرف في سلسلتي الإدخال. إذا كان تكرار كل حرف في كلتا السلسلتين متطابقًا ، فإن السلاسل عبارة عن الجناس الناقصة لبعضها البعض.

دعونا نبني مدرج تكراري واحد لحفظ بعض الذاكرة. في السلسلة الأولى ، يتم زيادة عدد كل حرف ، بينما يتم تقليل الأعداد للسلسلة الثانية. إذا كانت النتيجة النهائية توازن كل شيء إلى الصفر ، فإن السلاسل هي الجناس الناقصة.

يتم تنفيذ هذا الحل بشكل أسرع من الحل السابق وتعقيده الزمني هو O (n). ومع ذلك ، مطلوب مساحة إضافية لحساب الأحرف. هذا الحل فعال عمليًا فقط مع السلاسل ذات نطاق الأحرف الأصغر. حقيقة أخرى حول هذا الحل هي أنه يستخدم عددًا محدودًا من وظائف Java المضمنة وبالتالي يزيد من طول الكود.

الخروج: أفكار ومواضيع مشروع جافا

تحديد الجناس الناقصة عن طريق التحقق مع MultiSet

إن استخدام MultiSet ، وهي مجموعة تساعد في المقارنة المستقلة عن الطلب مع العناصر المتطابقة ، يبسط عملية العد والمقارنة في هذا الحل.

يتم تحويل كل سلسلة إدخال في البداية إلى MultiSet من الأحرف ثم التحقق من التكافؤ.

التعقيد الزمني لهذا الحل هو O (n). إنه مشابه لنهج العد لتحديد الجناس الناقصة. ومع ذلك ، يمكن أن تعمل بكفاءة لسلاسل ذات أطوال أكبر. أيضًا ، يتضمن الترميز عددًا أكبر من وظائف مكتبة Java.

نهج قائم على الحروف لتحديد الجناس الناقصة

جميع الحلول التي تمت مناقشتها حتى الآن تعتبر علامات الترقيم أيضًا جزءًا من السلسلة. علاوة على ذلك ، هذه الحلول حساسة لحالة الأحرف. يطبق النهج القائم على الحروف رمزًا للتحقق من سلاسل الإدخال بناءً على التعريف اللغوي للجناس الناقصة. في هذا النهج ، لا تعتبر المسافات البيضاء وعلامات الترقيم جزءًا من سلسلة الإدخال.

الخطوة الأولى أثناء تنفيذ حل قائم على الحروف هي التخلص من الأحرف غير المرغوب فيها وتحويل جميع الأحرف الصالحة إلى أحرف صغيرة. بعد هذه الخطوة ، يمكن استخدام أي من التطبيقات التي تمت مناقشتها أعلاه للتحقق مما إذا كانت السلاسل عبارة عن الجناس الناقصة أم لا.

إذا كنت مهتمًا بمعرفة المزيد حول Java ، وتطوير البرامج المتكاملة ، فراجع برنامج upGrad & IIIT-B التنفيذي PG في تطوير البرمجيات - التخصص في تطوير المكدس الكامل المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، أكثر من 9 مشاريع ، ومهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

انطلق في وظيفة أحلامك

تقدم لبرنامج Executive PG في تطوير البرمجيات من IIIT-B