What is Data Structure?
ডেটা স্ট্রাকচার( Data Structure) হল একটি স্টোরেজ যা ডেটা সংরক্ষণ এবং সংগঠিত করতে ব্যবহৃত হয়। এটি একটি কম্পিউটারে ডেটা সাজানোর একটি উপায় যাতে এটি অ্যাক্সেস করা যায় এবং দক্ষতার সাথে আপডেট করা যায়।
Type of Data structure
মূলত, ডেটা স্ট্রাকচার দুটি বিভাগে বিভক্ত: 1) Linear data structure 2) Non-linear data structure
Linear data structure: উপাদানগুলিকে একের পর এক ক্রমানুসারে সাজানো হয়। যেহেতু উপাদানগুলি নির্দিষ্ট ক্রমে সাজানো হয়েছে, সেগুলি বাস্তবায়ন করা সহজ।
জনপ্রিয় Data structure গুলি হলঃ-
- Array Data struvture
- Stack Data structure
- Array Data Structure
- Queue Data Structure
- Link List Data structure
Non-linear data structure:
Non-linear data structure বলতে এমন ডেটা স্ট্রাকচারগুলিকে(Data structure) বোঝায় যারা লিনিয়ার বা সরলরেখীয় নয়। এই ধরনের ডেটা স্ট্রাকচারে উপাদানগুলি সরলভাবে সাজানো থাকে না।
উদাহরণ:
- ট্রি (Tree) – ট্রিতে উপাদানগুলি হাইয়ারার্কিকাল ভাবে সাজানো থাকে, যেখানে প্রতিটি উপাদানের এক বা একাধিক চাইল্ড নোড থাকে।
- গ্রাফ (Graph) – গ্রাফে উপাদানগুলির মধ্যে যে কোন দিকে যোগাযোগ থাকতে পারে।
- লিংকড লিস্ট (Linked List) – লিংকড লিস্টে উপাদানগুলি লিনিয়ার না হয়ে পরস্পর লিঙ্ক করে থাকে।
- হ্যাশ টেবিল (Hash Table) – হ্যাশ টেবিলে ডেটা হ্যাশ ফাংশন ব্যবহার করে স্টোর করা হয় যা লিনিয়ার ইনডেক্সিং-এর চেয়ে দ্রুত অ্যাক্সেস দেয়।
সাধারণত, নন-লিনিয়ার ডেটা স্ট্রাকচারগুলি (Non-linear data structure লিনিয়ার ডেটা স্ট্রাকচার চেয়ে জটিল হলেও কিছু ক্ষেত্রে সেগুলি বেশি দক্ষতার সাথে কাজ করে।
What is Algorithm ?
একটি অ্যালগরিদম একটি নির্দিষ্ট সমস্যা সমাধানের জন্য সুনির্দিষ্ট নির্দেশাবলীর একটি সেট। এটি ইনপুট(গুলি) এর একটি সেট নেয় এবং পছন্দসই আউটপুট তৈরি করে। উদাহরণ স্বরূপ,
দুটি সংখ্যা গুন করার জন্য একটি অ্যালগরিদম:
- দুটি ইনপুট নিতে হবে [Take two number for inputs] যেমন – a,b
- দুটি নাম্বারের গুন করতে হবে [Multiply two number]- a*b
- কোন চলরাশির মাধ্যমে ফলাফল দেখাও[Show result in other variable]।
How to write algorithm?
- ইনপুট এবং আউটপুট সুনির্দিষ্টভাবে সংজ্ঞায়িত করা উচিত।
- অ্যালগরিদমের প্রতিটি ধাপ পরিষ্কার এবং অর্থবহ হওয়া উচিত।
- একটি সমস্যা সমাধানের অ্যালগরিদমগুলি সবচেয়ে কার্যকর হওয়া উচিত৷
- একটি অ্যালগরিদমে কম্পিউটার কোড অন্তর্ভুক্ত করা উচিত নয়৷ পরিবর্তে, অ্যালগরিদমটি এমনভাবে লিখতে হবে যাতে এটি বিভিন্ন প্রোগ্রামিং ভাষায় ব্যবহার করা যায়।
Example: write an algorithm to check whether a number is positive or negative.
//algorithm
Step 1: Start
Step 2: Input any Number
Step 3: Read n
Step 4: if(n==0)
print "Number is 0"
else
if(n>0)
print "Number is positive"
else
print "Number is negative"
step 5: stop