రెండూ శ్రేణులను నిల్వ చేస్తాయి, కానీ అవి వ్యతిరేక ఖర్చు ప్రొఫైల్లను కలిగి ఉంటాయి. శ్రేణి O(1) ఇండెక్సింగ్తో సంపర్క స్మృతి; లింక్ చేసిన జాబితా పాయింటర్ల ద్వారా చేరిన చెదరిన నోడ్లు, చివర్ల వద్ద O(1) చేర్పు/తొలగింపుతో కానీ ఇండెక్సింగ్ లేకుండా.
రెండూ శ్రేణులను నిల్వ చేస్తాయి, కానీ అవి వ్యతిరేక ఖర్చు ప్రొఫైల్లను కలిగి ఉంటాయి. శ్రేణి O(1) ఇండెక్సింగ్తో సంపర్క స్మృతి; లింక్ చేసిన జాబితా పాయింటర్ల ద్వారా చేరిన చెదరిన నోడ్లు, చివర్ల వద్ద O(1) చేర్పు/తొలగింపుతో కానీ ఇండెక్సింగ్ లేకుండా.
| ఆపరేషన్ | శ్రేణి (డైనమిక్) | లింక్ చేసిన జాబితా |
|---|
| సూచిక ద్వారా ప్రాప్యత | O(1) | O(n) |
| శోధన | O(n) | O(n) |
| తల వద్ద చేర్పు/తొలగింపు | O(n) | O(1) |
| తోక వద్ద చేర్పు/తొలగింపు | O(1) amortized | O(1) తోక ptr తో |
| మధ్య చేర్పు/తొలగింపు | O(n) | O(n) శోధన + O(1) splice |
| మెమరీ ఓవర్హెడ్ | తక్కువ | ఎక్కువ (నోడ్ కు పాయింటర్) |
| క్యాష్ స్థానికత | చমత్కారమైన | బెరకు |
Array: [10][20][30][40] <- one contiguous block
Linked list: [10|*]->[20|*]->[30|null] <- scattered nodes
व्యవહారికంగా శ్రేణులు చాలా సమయం విజయవంతమవుతాయి, ఎందుకంటే క్యాష్ స్థానికత Big-O తేడాలను నిర్దిష్ట పరిమాణాలకు ఆపివేస్తుంది.
రెండింటినీ తెలుసుకోవడం ఏకపక్షంగా డిఫాల్ట్ చేయడానికి బదులుగా ఇంటర్వ్యూలలో మీ ఎంపికను సమర్థించడానికి అనుమతిస్తుంది — మరియు ఎందుకు "O(1) చేర్పు" అరుదుగా నిరంతర శ్రేణిని ఓడిపోయేందో వివరించండి.