الانتقال إلى المحتوى الرئيسي

كيفية حساب عدد أزواج العناصر المتساوية مع بعضها البعض في قائمة الأرقام

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

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

لتبسيط العمل مع الأرقام في بايثون ، يمكنك استخدام وظيفة العد المضمنة ، والتي تحسب عدد مرات حدوث عنصر في القائمة. في هذه الحالة ، ستبدو الخوارزمية كما يلي:

العد = 0

لأني في النطاق (لين (نومس)):

العد + = الأرقام.العد (الأرقام [أنا] — - 1

طباعة (عدد)

  1. الأرقام في القائمة وأزواجها
  2. آلية عد الأزواج الرقمية
  3. صعوبات الحساب المحتملة
  4. خوارزميات فعالة وهياكل البيانات
  5. أمثلة عملية وتحليلها
  6. سؤال وجواب
  7. ماذا سيكون التعقيد المقارب للخوارزمية المثلى لحساب أزواج العناصر المتساوية مع بعضها البعض في القائمة?

الأرقام في القائمة وأزواجها

عند العمل مع البيانات الرقمية ، غالبا ما يكون من الضروري تحديد عدد أزواج العناصر في القائمة المتساوية مع بعضها البعض. فيما يلي طريقة لحساب عدد الأزواج في قائمة الأرقام.

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

يظهر مثال على استخدام الطريقة أدناه:

أرقام = [1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 7]

أزواج = []

لأني في النطاق (لين (أرقام)):

ل ي في النطاق (أنا + 1 ، لين (أرقام)):

إذا أرقام [أنا] = = أرقام [ي]:

أزواج.إلحاق ((أرقام [ط] ، أرقام [ي]))

زوج_عد = لين (أزواج)

طباعة (عدد الأزواج)

نتيجة لتنفيذ هذا الرمز ، سيتم عرض عدد أزواج الأرقام في القائمة المتساوية مع بعضها البعض على الشاشة.

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

آلية عد الأزواج الرقمية

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

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

مثال على كود بايثون:

التهم = 0

أرقام = [1, 2, 2, 3, 4, 5, 5, 5]

لأني في النطاق (لين (أرقام)):

ل ي في النطاق (أنا + 1 ، لين (أرقام)):

إذا أرقام [أنا] = = أرقام [ي]:

التهم + = 1

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

وبالتالي ، بعد تنفيذ هذه الخوارزمية ، سيحتوي متغير التهم على عدد الأزواج الرقمية في القائمة.

الصعوبات المحتملة في العد

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

  • تعريف مفهوم"الزوجين":

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

  • معالجة التكرارات:

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

  • كفاءة الخوارزمية:

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

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

خوارزميات فعالة وهياكل البيانات

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

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

يمكن تقديم خوارزمية حل المشكلة باستخدام جدول التجزئة بالشكل التالي:

  1. إنشاء جدول تجزئة فارغ.
  2. انتقل من خلال كل عنصر في قائمة الأرقام.
  3. لكل عنصر:
    • تحقق مما إذا كان هناك عنصر في جدول التجزئة.
    • إذا كان العنصر موجودا بالفعل في جدول التجزئة ، فقم بزيادة عداد الزوج بالقيمة المخزنة في جدول التجزئة لهذا العنصر.
    • إذا لم يكن العنصر في جدول التجزئة ، أضف العنصر إلى جدول التجزئة بالقيمة 1.
  4. إرجاع عدد الأزواج الموجودة.

ميزة هذه الخوارزمية هي أن لها تعقيدا خطيا لـ ا (ن) ، أين ن هو عدد العناصر في قائمة الأرقام. في أسوأ الحالات ، عندما تكون جميع العناصر في القائمة مختلفة ، سيكون التعقيد س (ن) ، والتي تعتبر فعالة للغاية.

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

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

أمثلة عملية وتحليلها

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

مثال 1:

لنفترض أن لدينا قائمة بالأرقام: [1, 2, 3, 4, 4, 3, 2, 1]. لنجد عدد أزواج العناصر المتساوية مع بعضها البعض.

  1. حدد العنصر الأول في القائمة ، على سبيل المثال ، الرقم 1.
  2. نحن نبحث عن جميع الأرقام الأخرى تساوي 1. في هذه الحالة ، سيكون العنصر الأخير في القائمة ، وكذلك الرقم 1.
  3. نزيد عداد الزوج بمقدار 1 ، لأننا وجدنا زوجا (1 ، 1).
  4. نقوم بإزالة كل من العناصر الموجودة من القائمة.
  5. كرر الخطوات من 1 إلى 4 حتى ننظر في جميع العناصر الموجودة في القائمة.

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

المثال 2:

النظر في قائمة أخرى من الأرقام: [2, 3, 4, 5, 5, 4, 3, 2, 1]. سنجد أيضا عدد أزواج العناصر المتساوية مع بعضها البعض.

  1. حدد العنصر الأول في القائمة ، على سبيل المثال ، الرقم 2.
  2. نحن نبحث عن جميع الأرقام الأخرى تساوي 2. في هذه الحالة ، سيكون العنصر الأخير في القائمة ، وكذلك الرقم 2.
  3. نقوم بزيادة عداد الزوج بمقدار 1 ، حيث وجدنا زوجا (2 ، 2).
  4. نقوم بإزالة كل من العناصر الموجودة من القائمة.
  5. كرر الخطوات من 1 إلى 4 حتى ننظر في جميع العناصر الموجودة في القائمة.

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

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

سؤال وجواب

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

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