DEV Community

Cover image for Introduction To Data Structure and Algorithm
Monirul Islam
Monirul Islam

Posted on • Edited on

Introduction To Data Structure and Algorithm

Data Structure কি?

Data Structure হল ডাটার গঠন।

মনে করুন, আপনার কাছে ১০০ টা বই আছে। এখন আপনি বই গুলাকে সাজিয়ে গুছিয়ে রাখতে পারেন অথবা যেমন তেমন করে এখানে ওখানে এলোমেলো করে রাখতে পারেন। এখানে আপনি ইচ্ছায় অনিচ্ছায় Data Strucuture ব্যবহার করে ফেলেন। কিভাবে?

আপনি যদি আপনার বইগুলোকে ডাটা হিসেবে মনে করেন তাহলে কি হবে? বই গুলো একটা গঠনে বা ধরনে সাজিয়ে রাখছেন এটাই Data Structure

Algorithm কি?

সহজ ভাবে বললে Algorithm হলো কোন সমস্যা সমাধানের জন্য নিদির্ষ্ট ধাপ সমূহ।

মনে করুন, আপনার DSA শেখানোর জন্য Introduction to Data Structure বইটার প্রয়োজন। বই টা সংগ্রহ করা জন্য নিজের ধাপ গুলো অনুসর করা যেতে পারে,

  • প্রয়োজনীয় টাকা নিতে হবে

  • লাইব্রেরিতে যেতে হবে ।

  • Introduction to Data Structure বই নিতে হবে

  • বইয়ের মূল্য পরিশোধ করতে হবে।

  • বাড়িতে ফিরে আসতে হবে

উপরে প্রতেকটি ধাপ যখন এক সাথে করা হবে তখন একে Algorithm বলা। আপনার বই কেনার Algorithm ।

DSA কেন প্রয়োজন?

একটা জিনিসকে কতটা গুরুত্ব দিতে হবে তা নির্ভর করে ওই জিনিসটার প্রয়োজনীয়তার উপর। আপনি যদি একজন ভালো প্রোগ্রামার হতে চান তাহলে DSA সম্পর্কে জ্ঞান থাকা আপনার জন্য বাধ্যতামূলক। DSA সম্পর্কে আপনার যত বেশি থাকবে আপনার প্রোগ্রামিং স্কিল তত বেশি হবে।

উপরে আমি ১০০ টা বই এর একটা ছোট উদাহরন দিয়েছে। ওই ১০০ টা বই দিয়ে উদাহরন দিলে DSA এর গুরুত্ব বা প্রয়োজনীয়তা টা সহজে বুঝতে পারবেন।

মনে করুন আপনার ওই ১০০ টা বই আপনি এদিক সেদিক রেখে দিয়েছেন। খুব ভাল। কোন সমস্যা নাই। সমস্যা টা তৈরি হবে তখন আপনার একটা বইর প্রয়োজন হবে। আপনার এলোমেলো করে রাখার কারনে আপনাকে প্রত্যেকটা বই দেখতে হতে পারে।

এখন যদি আপনার প্রত্যেকটা বই দেখতে হয় তাহলে কি পরিমান সময় ও শ্রম লাগতে পারে? এই রকম যদি প্রতিদিন হয় তাহলে আপনার অনেক সময় নষ্ট হয়ে যাবে।

আপনি যদি এই সময় ও শ্রম নষ্ট করতে না চান তাহলে বই গুলো এলোমেলো করে না রেখে সুন্দর সাজিয়ে রেখে দিতে পারেন। এতে করে পরবর্তীতে বই খুজতে আগের তুলনা অনেক কম সময় ও শ্রম লাগবে। এছাড়াও আপনি চাইলে বিভিন্ন ভাবে বই গুলোকে খুজতে পারেন সেক্ষেত্রে সময় আরো সময় লাগতে পারে।

উপরের ১০০ টা বই এর মত আপনার কাছে অনেক গুলা ডাটা থাকে তাহলে ঐ ডাটাগুলো কোন Structure-এ না দিলে অনেক সময় নষ্ট হয়ে যাবে। আর এখন ভালো প্রোগ্রামার কখনই সময় নষ্ট করবেন না।

উদাহরন হিসেবে, মনে করুন দুই জন ব্যক্তি চাকরি interview দিতে গেছে। এদের ভিতরে একজন DSA জানে আরেকজন জানে না। এখন আপনি তাদের interview নিচ্ছেন। তাদের পরিক্ষা করার জন্য তাদের দুইজনকেই একই সমস্যা দিলেন। কিছুক্ষন পরে ২ জনই সমস্যা টা সমধান করে ফেললেন। তাদের যে DSA জানে তার code running time অন্য জনের তুলনায় অনেক কম লাগছে। এখন আপনি interviewer হিসেবে কাকে চাকরিতে সুযোগ দিবেন?

বিঃদ্রঃ একজনই চাকরিতে জয়েন করতে পারবেন।

উত্তর টা খুবই সহজ। যে DSA জানে তাকেই আপনি সুযোগ টা দিবেন।

তাহলে এবার অবশ্যই DSA প্রয়োজনীয়তা বুঝতে পেরেছেন।

শেষ

আপনার মতামত জানাতে ভুলবেন না। ধন্যবাদ।

Happy Learing!

Top comments (0)