दोनों क्रम संग्रहीत करते हैं, लेकिन उनके विपरीत लागत प्रोफाइल हैं। एक सरणी O(1) अनुक्रमण के साथ सन्निहित मेमोरी है; एक लिंक्ड सूची सूचकांकों द्वारा जुड़े बिखरे हुए नोड्स हैं, जिसमें छोर पर O(1) सम्मिलन/हटाना है लेकिन कोई अनुक्रमण नहीं है।
दोनों क्रम संग्रहीत करते हैं, लेकिन उनके विपरीत लागत प्रोफाइल हैं। एक सरणी O(1) अनुक्रमण के साथ सन्निहित मेमोरी है; एक लिंक्ड सूची सूचकांकों द्वारा जुड़े बिखरे हुए नोड्स हैं, जिसमें छोर पर O(1) सम्मिलन/हटाना है लेकिन कोई अनुक्रमण नहीं है।
विस्तृत उत्तरों के साथ IT इंटरव्यू प्रश्नों की एक लाइब्रेरी — जूनियर से सीनियर तक।
दान करें| ऑपरेशन | सरणी (गतिशील) | लिंक्ड सूची |
|---|
| अनुक्रमण द्वारा पहुंचना | O(1) | O(n) |
| खोज | O(n) | O(n) |
| सिर पर सम्मिलन/हटाना | O(n) | O(1) |
| पूंछ पर सम्मिलन/हटाना | O(1) परिशोधित | O(1) पूंछ ptr के साथ |
| बीच में सम्मिलन/हटाना | O(n) | O(n) खोज + O(1) स्प्लिसिंग |
| मेमोरी ओवरहेड | कम | उच्च (प्रति नोड सूचक) |
| कैश स्थानीयता | उत्कृष्ट | खराब |
Array: [10][20][30][40] <- one contiguous block
Linked list: [10|*]->[20|*]->[30|null] <- scattered nodes
व्यवहार में सरणियां अधिकतर जीतती हैं क्योंकि कैश स्थानीयता विशिष्ट आकार के लिए Big-O अंतरों को छोड़ देती है।
दोनों को जानने से आप साक्षात्कार में अंधाधुंध डिफ़ॉल्ट के बजाय अपनी पसंद को सही ठहरा सकते हैं — और समझाइए कि क्यों "O(1) सम्मिलन" शायद ही कभी एक सन्निहित सरणी को हराता है।