Wednesday, May 10, 2017

ডাটা স্ট্রাকচার - অ্যালগরিদম কনসেটপ রিভিশন


stack data stracure
একটির উপর আরেকটি রাখা এবং রেব করার সময় সবার উপরেরটি আগে বের করার টাইপের ডাটা স্ট্রাকচারকে stack data stracure বলে।

অথবা
যে ডাটা স্ট্রাকচারকে আগে ঢোকা ডাটা পরে বের করা হয় (LIFO) তাকে stack data stracure বলে।

stack কিভাবে লিখতে হবে?

array দিয়ে ডাটা স্টাক স্ট্রাকচার বানিয়ে ফেলা যায় যেমনঃ
প্রথমে অ্যারে ডিক্লেয়ার করতে হবে যেখানে কোন মান থাকবে নাঃ
var winterCloths = [];

অ্যারেতে নতুন মান যোগ করতেঃ
winterCloths.push("genji");

শেষ উপাদান বের করে আনতেঃ
winterCloths.pop();

কিউ ডাটা স্ট্রাকচার
যে ডাটা স্ট্রাকচারে আগে আসলে আগে বের হবে সিস্টেমে ডাটা রাখা হয় তাকে কিউ ডাটা স্ট্রাকচার বলে।

উদাহরনঃ
বাসের টিকেটের জন্য লাইনের দাঁড়ানো।

Queue কিভাবে লিখতে হবে?
প্রথমে অ্যারে ডিক্লেয়ার করতে হবে যেখানে কোন মান থাকবে নাঃ
var kathaQueue = [];

অ্যারেতে নতুন মান যোগ করতেঃ

kathaQueue.push("Rony");

প্রথম উপাদান কোনটি জানতেঃ
kathaQueue.shift();

key-value
যা দিয়ে খোজা হয় সেটা হচ্ছে key আর যা খুজে পাওয়া যায় সেটা হচ্ছে value.যেমনঃ নাম দিয়ে নাম্বার খুজে বের করার সিস্টেম টিকে key-value সিস্টেম বলা যায়। সেখানে নাম হচ্ছে key এবং নাম্বার হচ্ছে value. ডিকশনারি ডাটা স্তাকচারে key-valueসিস্টেম ব্যবহার করা হয়।

ডিকশনারীঃ  
প্রোরগ্রামিং করার সময় যে ডাটা স্ট্রাকচারে key-value ব্যবহার করা হয় ডিকশনারী (dictionary) বলে। যেটা দিয়ে খোজা হয় সেটা চাবি (key) আর খুজলে যে জিনিসটা পাওয়া যায় সেটা মান (value). যেমনঃ নাম দিয়ে ফোন নাম্বার খোজার সিস্টেম কে key-value সিস্টেম বলে। ফোন নাম্বার খুজে বের করার সময় নাম হচ্ছে key আর ফোণ নম্বর হচ্ছে value. key দিয়ে কোন জিনিসের value বের করা হয়। সেহেতু key টিকে ইউনিক হতে হয়।

হ্যাশ ফাংশানঃ
অনেক সময় key কে ইউনিক বানানোর জন্য একটা ফাংশান ব্যবহার করা হয় সেই ফাংশানকে বলা হয় হ্যাশ ফাংশান বলে।

হ্যাশ টেবিলঃ

হ্যাশ ফাংশান ব্যবহার করে যে ডিকসনারি বানানো হয় সেটাকে হ্যশ টেবিল বলে।

সার্চ অ্যালগরিদম (search algorithm)
আর কোন জিনিস সার্চ করে খুজে বের করার জণ্য যে প্রোগ্রাম লেখা হয় তাই সার্চ এলগোরিদম।

একটা for লুপ দিয়ে কিভাবে কোন একটা array এর মধ্যে কোন একটা নিদিস্ট উপাদান আছে কিনা সেটা সার্চ করা যায়ঃ

var chokirTola = ["tshirt","jeans","juta","bol","jama"];

for(i=0;i<chokirTola.length;i++){
var jinish = chokirTola[i];
}

সর্টিং (sorting)
sorting মানে সাজানো। অনেক ডাটাকে নানা ক্রম অনুসারে সাজানোকে sorting বলে। ক্রমগুলো হতে পারে উর্ধক্রম , অধঃক্রম বা কোন পণ্যের রেটিং বা দাম অনুযায়ী সাজানো । ডাটা সর্ট করা হলে ডাটা খুজে পাওয়া সহজ হয়।

sorting algorithm
ধাপে ধাপে সাজানোর কাজকে বলা হয় sort করা আর sort করাকে প্রগ্রামিং এর ভাষায় বলে sorting algorithm

প্রকারভেদঃ
অনেক ধরনের sorting algorithm আছে যাদের অন্যতমঃ

1. Selection sort.
2. Insertion sort.
3. Bubble sort.
4. Quick sort.
5. Merge sort.

selection sort

অদল বদল করে sort করাকে বলে selection sort
যেমন মানিব্যাগের টাকা সাজানো।

সিলেকশন sort কিভাবে কাজ করে?
সবচেয়ে ছোট মানটিকে প্রথমে আনার জণ্য পজিশন অদল বদল করা হয়, এরপর দ্বিতীয় পজিশনে অদল বদল করা হয় এভাবে পরের সবগুলো।

insertion Sort
প্রথম উপাদানের সাথে দ্বিতীয় উপাদানের তুলনা করে ছোটটি প্রথমে বসিয়ে ছোট থেকে বড় করে সজানোর এই প্রক্রিয়াকে বলে insertion Sortউদাহরণঃ কার্ড খেলায় একটি করে কার্ড পেয়ে সেগুলোকে নম্বরের ক্রমানুপাতে সাজানো।

No comments:

Post a Comment