किसी सरणी पर लिंक की गई सूची क्यों? खैर जैसा कि कुछ ने पहले ही कहा है, सम्मिलन और विलोपन की अधिक गति।
लेकिन शायद हमें या तो सीमा के साथ नहीं रहना है, और एक ही समय में दोनों का सर्वोत्तम प्राप्त करना है ... एह?
सरणी विलोपन के लिए, आप एक 'हटाए गए' बाइट का उपयोग कर सकते हैं, इस तथ्य का प्रतिनिधित्व करने के लिए कि एक पंक्ति को हटा दिया गया है, इस प्रकार सरणी को फिर से भरना अब आवश्यक नहीं है। सम्मिलन के बोझ को कम करने के लिए, या तेजी से बदलते डेटा के लिए, उसके लिए एक लिंक की गई सूची का उपयोग करें। फिर उनका जिक्र करते समय, अपने तर्क को पहले एक को खोजें, फिर दूसरे को। इस प्रकार, संयोजन में उनका उपयोग करना आपको दोनों का सबसे अच्छा देता है।
यदि आपके पास वास्तव में बड़ा सरणी है, तो आप इसे दूसरे, बहुत छोटे सरणी या लिंक की गई सूची के साथ जोड़ सकते हैं, जहां छोटे वाले के पास 20, 50, 100 सबसे हाल ही में उपयोग किए गए आइटम हैं। यदि आवश्यक नहीं है तो छोटी लिंक की गई सूची या सरणी में, आप बड़े सरणी में जाते हैं। यदि वहां पाया जाता है, तो आप इसे अनुमान से छोटी लिंक की गई सूची / सरणी में जोड़ सकते हैं कि 'हाल ही में उपयोग की जाने वाली चीजें सबसे अधिक फिर से उपयोग की जाने वाली हैं' (और हां, संभवतः सूची से हाल ही में उपयोग किए गए आइटम को टकराते हुए)। जो कई मामलों में सच है और एक समस्या को हल किया है जिसमें मुझे .ASP सुरक्षा अनुमतियों की जाँच करने में आसानी, लालित्य और प्रभावशाली गति के साथ मॉड्यूल की जाँच करनी थी।