के लिए कुशल डेटा संरचना मैं एक लीडरबोर्ड को कार्यान्वित करना चाहता हूं और मुझे यह महसूस हो रहा है कि यह एक साधारण कार्य प्रतीत होता है, यह बहुत जटिल हो सकता है। मैं बस उचित इंडेक्स के साथ डेटाबेस का उपयोग कर सकता हूं, लेकिन मैं जानना चाहता हूं कि एक कुशल डेटा संरचना है जो निम्नलिखित परिचालनों का समर्थन कर सकती है। किसी दिए गए खिलाड़ी लीडरबोर्ड
- जोड़ें स्कोर अलग-अलग समय सीमा: आज का स्कोर, इस सप्ताह, इस वर्ष, आदि
- ~ 100,000 खिलाड़ियों के लिए स्केल
- स्मृति पदचिह्न जितना छोटा हो ई (यानी सस्ते मशीन पर चलता है)
सहायता के लिए धन्यवाद!
क्या आपके पास अधिकतम स्कोर/खिलाड़ी हैं? यदि नहीं, तो आपके पास 100K खिलाड़ियों के पास बहुत सारे स्कोर हो सकते हैं ... क्या पूरी चीज़ को एक बार में स्मृति में होना चाहिए, या यह ज्यादातर डिस्क (फ़्लैश, जो भी हो) पर हो सकता है? स्कोर कैसा दिखता है (0-255? 0-65525? स्ट्रिंग्स?)। जब आप "सस्ता मशीन" कहते हैं तो आपका मतलब एक पुराना पीसी है, ठीक है, फ़ोन या आर्डिनो नहीं। – angelatlarge