سؤال

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

نرحب بجميع الآراء هنا

شكرا

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

المحلول

استخدم الأعداد الصحيحة 64 بت (java: long، c / c ++: long long).

ربما لا تتوفر لديك ذاكرة كافية لتخزين 2 ^ 63 عقدًا للرسم البياني على أي حال ، لذا لن تحتاج إلى المزيد.

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

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