سؤال

كما السؤال الدول ...أنا لا تحصل على نقطة multisets / multimaps.

إذا ما هو الغرض ؟

هل كانت مفيدة؟

المحلول

بعض حالات الاستخدام:

multimap

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

متعددة

هو في جوهرها خريطة مع مفتاح وعدد عدد صحيح.

  • جرد متجر ، وجميع المنتجات لها مفتاحها والمبلغ الذي لا يزال متاحًا هو القيمة
  • بيانات المبيعات المتراكمة لمتجر ، في كل مرة يتم فيها إضافة منتج المنتج إلى مجموعة المنتجات المتعددة وبالتالي زيادة المبلغ المباع

نصائح أخرى

أحد الأمثلة التي سيكون فيها Multimap مفيدًا إذا كان لديك موقف حيث تكون المفاتيح في معظم الأوقات فريدة من الوقت ، لكنها في بعض الأحيان ليست كذلك.

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

مثال آخر هو أي نوع من الفهرس غير الوني (كما هو الحال في قاعدة البيانات).

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

Multiset أو Multimap هو ببساطة للمواقف التي قد يكون فيها أكثر من عنصر معين. على سبيل المثال ، دعنا نقول أنك تريد إنشاء فهرس لكتاب. كنت تقوم بالمسح الضوئي من خلال النص ، وطرح جميع الكلمات الشائعة التي لا معنى لها حقًا ("A" ، "A" ، "،" ، إلخ) ثم قم بعمل قائمة بكل الباقي ، والمكان في الكتاب حيث كل منهما حدث.

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

http://www.cplusplus.com/reference/stl/multimap/

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

إنه نوع من السجل حيث يمكن للعناصر مشاركة المفتاح. يمكنك التفكير في الشركات والموظفين. عنوان الشارع هو المفتاح والموظفين هم قيم.

هذا ما ويكيبيديا يقول عن الاستخدامات:

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

استخدم Multimap ، أينما كنت تريد استخدام نوع شجرة.

أهم فائدة من استخدام مولتيست على ناقلات/قائمة(أو أي حاوية أخرى) هو الوقت تعقيد عملية البحث.متوسط الوقت حالة التعقيد بالنسبة مولتيست O(logn) و unordered_multiset O(1).وينطبق الشيء نفسه على multimap و ordered_multimap.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top