प्रत्येक साधनाने काहीतरी वाईट गोष्ट बदलली — आणि तेच साधन कुठेतरी चुकीचे ठरते. प्रत्येक मोठ्या कल्पनेसाठी: आधी जीवन कसे होते, प्रामाणिक फायदे ✅ / तोटे ❌, आणि कुठे वापरावी 👍 विरुद्ध कुठे नाही 👎.
Arrays चा आकार आधीच ठरवावा लागायचा; वाढवणे म्हणजे मोठा array घेऊन copy करणे. वाढू शकणारा container मिळवायचा मार्ग म्हणजे linked lists.
Lookups म्हणजे क्रमबद्ध arrays आणि binary search, किंवा trees; hashing ने क्रमाच्या बदल्यात constant time घेतला.
Bubble आणि insertion हेच sorts होते; दहा लाख records ला तास लागायचे, म्हणून data हाताने क्रमात ठेवला जायचा.
प्रत्येक प्रश्नाला स्वतःचा हाताने लिहिलेला search असायचा; दोन नावांनी सगळ्यांना तीच दोन साधने दिली.
Optimisation चे प्रश्न सगळे शोधून किंवा हाताने सोडवले जायचे; उप-उत्तरे लक्षात ठेवल्याने exponential चे polynomial झाले.
Greedy उत्तरे बरोबर दिसायची आणि कधीकधी चुकीची असायची; DP हा सुरक्षित, हळू मार्ग होता.
सगळे loops आणि explicit stacks होते; recursion Algol सोबत आली आणि trees आणि divide-and-conquer वाचनीय झाले.