ప్రోగ్రామింగ్ కోర్సు లో చేరగానే మిమ్మల్ని ఇబ్బంది పెట్టే విషయాల్లో డేటాస్ట్రక్చర్ ఒకటా? ఆలా అయితే ఈ రోజు మాట్లాడే విషయం మీకు ఉపయోగపడగలదు
మీ దెగ్గర వున్న విషయాన్ని ఏ విధంగా మీరు సమకూర్చుకున్నారో దాన్నే డేటా స్ట్రక్చర్ అంటారు .. అంతకు మించి ఇందులో పెద్ద విషయం ఏమీ లేదు. ఉదాహరణకి మీరు ఒక గ్రంథాలయానికి వెళ్లారు అనుకోండి మీకు కావాల్సిన పుస్తకం ఆ లక్షలాది పుస్తకాలలో ఎలా వెతుకుతారు ? రచయిత పేరో లేక పుస్తకం పేరుతోనో ఒక క్రమ పద్దతిలో అక్కడ పుస్తకాలని అమర్చడం వాళ్ళ మీరు సులువుగా మీకు కావాల్సిన పుస్తకాన్ని తీసుకోగలిగారు. అలా కాక ఒక కుప్ప లాగ పేర్చారనుకోండి అప్పుడు ?
మరొక ఉదాహారణ ఒక మందుల కొట్టు యజమాని మీరు డాక్టర్ రాసిన మందుల చీటి చూడగానే ఫలానా అర దెగ్గరికి వెళ్లి మీకు కావాల్సిన మందో లేక అలాంటి జెనెరిక్ మందునో మీకు ఇస్తాడు . ఆ వ్యక్తికి ప్రతి మందు ఎక్కడ ఉందో తెలుసా లేక సులువుగా వెతకటానికి అనువుగా మందుల్ని అమర్చాడా ?
అలాగే నిజజీవితంలో ఎన్నో విషయాలు ఒక పద్దతి ప్రకారం సమాచారాన్ని/వ్యక్తుల్ని అమర్చటం వల్ల సులువవుతాయి.
పుస్తకాలు, మందులు, సినిమా టిక్కట్ల క్యూ, చెత్త సామాన్ల వాడి కాయితాలు గుట్ట ఇవ్వన్నీ ఎదో పని సులువుగా చెయ్యటానికి మార్గాలే . అలానే ఈ విషయాలని కంప్యుటర్లో నిక్షిప్తం చేసుకునేటప్పుడు సులువుగా ఆ సమాచారంతో పని చెయ్యటానికి వాడే మార్గాలకే పెట్టిన పేరు డేటా స్ట్రక్చర్స్
వాటి పేర్లు, వాటిని ఎలా ప్రోగ్రాం చెయ్యాలి అనేవి పక్కన పెడితే ముందుగా వాటిని ఎలా వాడాలో తెలుసుకుంటే ఉపయోగం ఎక్కువ . కార్ నడపాలంటే ఎలా తయారు చెయ్యాలో తెలియాల్సిన అవసరం లేదు కదా !
సినిమా క్యూ లో మొదట వచ్చిన వాడికి మొదటి టిక్కెట్టు , దీనినే (first in first out ) అంటారు , ప్రింటర్ లో నుంచి వచ్చిన పేజీలు ఒక దాని మీద ఒకటి పెడితే మొదటి పేజీ అన్నిటికంటే ఆఖరున వుంది పోతుంది అందుకే కాయితాలు తిరగతిప్పి పెడతాము ఒక దాని మీద ఒకటి .. ఒక రాసి లాగ దీన్నే Stack అంటారు .. ఆఖరున పెట్టినది మొదటి తియ్యగలం .. చెత్త పుస్తకాలవాడు పుస్తాకాలు ఒకదానిమీద ఒకటి గుట్టగా పెడతాడు . గ్రంధాలయం వాడు అవే పుస్తకాలని క్రమ పద్దతిలో పెడతాడు.
ఒక పెద్ద పుస్తంలో విషయాలు సులువుగా వెతకటానికి విషయం సూచి (టేబుల్ ఆఫ్ కంటెంట్స్) లో మనకి కావాల్సిన పేజీ కి వెళ్ల చ్చు మీ సమాచారాన్ని సులువుగా వెతకటానికి ఒక dictionary లేక hashmap లాంటి డేటా స్ట్రక్చర్ వాడచ్చు
మీ వంశ వృక్షం ఒక లాంటి సమాచారాన్ని సులువుగా రాయటానికి ఉపయోగ పడుతుంది. మీ నోట్ బుక్కు మరొక రకమయిన సమాచారాన్ని నిక్షిప్తం చేసుకోగలదు
ఈ విధంగా మీ సమాచారాన్ని వాడే విధానం బట్టి మీరు నిక్షిప్తం చేసుకునే విధానం మారుతుంది. ఈ పద్దతులే డేటా స్ట్రక్చర్స్