ডাটা স্ট্রাকচার কি এবং কেন???

ডাটাস্ট্রাকচার নিয়ে আলোচনা করার আগে একটা জিনিষ জানা উচিত ডাটা স্ট্রাকচার আসলে জিনিসটা কি তো আসুন কিছু উদাহরনের মাধ্যমে এটিকে উপস্থাপন করি ঃ
আমরা ধরি তথ্য হলো টাকা এখন আপনি টাকা জমাবেন ।কিন্তু কিভাবে ???
আপনি বলতে পারেন আমি মাটির ব্যাংকে টাকা জমাবো বা আমি প্রাইজবন্ড কিনব কিঙ্গবা আমি ব্যাংকে ফিক্সডিপোজিট করব 
সব ঠিক আছে কিন্তু একটা কথা চিন্তা করেছেন কি আপনি কিন্তু টাকাগুলো বিভিন্ন উপায়ে জমানোর চিন্তা করছেন ।কেন চিন্তা করছেন ভেবে দেখেছেন কি ???টাকার পরিমানের উপর ভিত্তি করেই কিন্তু আপনি সিদ্ধান্ত নিচ্ছেন কিভাবে সেটাকে জমাবেন ।
ধরুন আপনি খুচরা পয়সা জমাবেন তাহলে কি আপনি প্রাইজবন্ড বা ব্যাংকে ফিক্সডিপোজিট করতে যাবেন না ।আপনি তখন ২০ টাকার মাটির ব্যাংক কিনে সেটায় টাকা জমাবেন ।
এর পরে ধরুন আপনি ২০০০ টাকা পেয়েছেন কিন্তু সেটাকে জমাতে চান আপনি কি করবেন সেটাকে বাংলাদেশ ব্যাংকের প্রাইজবন্ড হিসেবে কিনে রাখলেন কেন যদি সেটা লটারিতে লেগে যায় তখন তো আপনি লাভ পাচ্ছেন সেখান থেকে
আবার ধরুন আপনি ২ লাখ টাকা জমাবেন আপনি তখন খোঁজা শুরু করবেন্ন কোন ব্যাংকে লাভ বেশি দেয় ।সেই ব্যাংকে আপনি তখন টাকাটি জমা করবেন ।
এই যে এত কিছু চিন্তা করে টাকা রাখছি তথ্যের ক্ষেত্রেও কিন্তু আমরা একই ধরনের সমস্যার মুখো মুখি হই ।কারন আমাদের স্টোরিং ডিভাইসে স্টোরিং ক্ষমতা অসীম নয় ।তাই আমাদের চিন্তা করতে হয় আমরা যে তথ্য গুলো রাখবো কিভাবে রাখব , খুঁজতে কিভাবে সুবিধা হবে ,ডিলিট করতে চাইলে কিভাবে করা যাবে ,সাজাতে চাইলে কিভাবে করা যাবে এসব ফ্যাক্টর ।
ডাটা স্ট্রাকচার হলো এই তথ্য সাজানোর একটা উপায় মাত্র যা আপনাকে ধরিয়ে দেবে আসলে আপনার যে তথ্য আছে সেটাকে কিভাবে রাখলে আপনি বেশি লাভবান হবেন আপনার সেই তথ্য ব্যাবহারে কষ্ট কমবে
তাহলে আমরা জানলাম ডাটা স্ট্রাকচার কি ??
এবার জানব ডাটা স্ট্রাকচার কেন পড়ব ???
গুগলে সার্চ দিলেই তো সব ডাটা স্ট্রাকচার পাওয়া যায় তবে কেন এই টপিক নিয়ে পড়াশোনা ??? কোড গুলো নিবো আর নিজের প্রোজেক্টে কপি পেস্ট করব কাহিনী শেষ ।
কিন্তু না ডাটা স্ট্রাকচার দরকার কারন ঃ
১। স্বাধীন প্রোগামার হতে ঃ বর্তমান পৃথিবীতে ১৮.৫ মিলিয়ন প্রোগ্রামিং ল্যাঙ্গগুয়েজ আছে ।কয়টা শিখবেন আপনি ??? ১/২/৩/৪/৫/৬/৭/৮ ধরলাম ১০ টা তারপর ??? কিন্তু ধরুন আপনাকে আপনার অফিসে এমন একটা প্রোজেক্ট দেয়া হলো যেখানে আপনাকে নতুন একটা প্রোগ্রামিং ল্যাঙ্গগুয়েজ দিয়ে কাজটা করে দিতে হবে তখন কি করবেন ???
উত্তরটা খুবই সোজা যদি আপনি ডাটা স্ট্রাকচার জানেন যা আপনি ধরুন একটি প্রোগ্রামিং ল্যাঙ্গগুয়েজ দিয়ে শিখেছেন তখন আপনি ওই প্রোগ্রামিং ল্যাঙ্গগুয়েজ সিনটেক্স দিয়েই লজিক বের করে করে কাজটি সম্পন্ন করতে পারবেন ।
তাহলে বলাই যায় ডাটা স্ট্রাকচার আপনাকে দিচ্ছে স্বাধীনতা ।

২। দামি হার্ডওয়ার কখনো সলুশন হতে পারে না ঃ ধরুন আপনি একটা সফটওয়্যার বানাবেন কিন্তু আপনার ৪ জিবি র‍্যামের পিসি সেটার সাপোর্ট দিচ্ছে না কারন এই সফটওয়্যারটা আরো বেশি র‍্যাম চায় রান করতে ।তখন যেটা করনীয় সেটা হলো এক্সট্রা একটা র‍্যাম লাগানো বা সফটওয়্যারটাকে আরো বেশি অপটিমাইজ করে ৪ জিবিতে আরাম করে চালানো যাবে এমন করে বানানো
এটায় আপনাকে হেল্প করবে ডাটা স্ট্রাকচার
৩।অজানা প্রবলেমের সামলানো ঃ প্রফেশনাল লাইফে আপনাকে একাধিক চ্যালেঞ্জের মুখোমুখি হতে হবে যার কিছু কিছু এমন হবে যেখানে হার মানবে আপনার পুথিগত বিদ্যা ।তখন আপনার প্রধান হাতিয়ার হবে এই ডাটা স্ট্রাকচার
এগুলো তো গেলো ছোট খাটো কিছু কারন কেন আপনি ডাটা স্ট্রাকচার শিখবেন ।খুঁজতে গেলে এমন হাজারটা কারন পাবেন যার কারনে আপনার এক সময় নিজেরও মনে হবে ডাটা স্ট্রাকচার শিখি ।
তাহলে খুঁজতে থাকুন ।আর সমৃদ্ধ করুন আপনার নিজের হাতিয়ার ভান্ডার।
Happy Coding...
:P

মন্তব্যসমূহ