ডাটা স্ট্রাকচার – Data structures
ডাটা স্ট্রাকচার (Data structures) গুলো যেমন
- অ্যারে – Arrays.
- স্ট্যাক – Stacks.
- কিউ – Queues.
- লিঙ্কড লিস্ট – Linked Lists.
- ট্রি – Trees.
- গ্রাফ – Graphs.
- ট্রাই – Tries (they are effectively trees, but it’s still good to call them out separately).
- হ্যাঁশ টেবিল – Hash Tables.
পর্যায়ক্রমে এই বিষয় গুলো নিয়ে লিখা পাবলিশ করা হবে। পাশেই থাকুন।
-
ডাটা স্ট্রাকচার: স্ট্যাক এবং কিউ (Stack and Queue)
স্ট্যাক এবং কিউ (Stack and Queue) বহুল ব্যবহৃত ডাটা স্ট্রাকচার (Data structure) গুলোর মধ্যে অন্যতম। যখন এমন কোন সিচুয়েশন আসে যেখানে আমাদেরকে ডাটার পরিমাণ নির্দিষ্ট করা হয় না, আবার ডেটা…
আরও পরুন » -
ডাটা স্ট্রাকচার: ডিসজয়েন্ট সেট ইউনিয়ন / ইউনিয়ন ফাইন্ড
ডিসজয়েন্ট সেট ইউনিয়ন (Disjoint Set Union/ DSU) যাকে প্রধান দুটি অপারেশন এর নাম অনুসারে ইউনিয়ন ফাইন্ড (Union-Find) হিসেবেও জানি তার মাধ্যমে কিছু নোড একই সেটে আছে কি না তা বের…
আরও পরুন » -
ডাটা স্ট্রাকচার: স্পার্স টেবিল – O(1) টাইমে রেঞ্জ মিনিমাম ম্যাক্সিমাম কুয়েরি
আমরা সেগমেন্ট ট্রি নিয়ে লিখায় দেখেছিলাম কিভাবে O(log n) টাইমে আমরা রেঞ্জ ম্যাক্সিমাম, মিনিমাম কুয়েরি করতে পারি। স্পার্স টেবিল (Sparse table) নিয়ে এই লিখায় দেখবো কিভাবে O(1) টাইমে রেঞ্জ মিনিমাম,ম্যাক্সিমাম…
আরও পরুন » -
ডাটা স্ট্রাকচার: লিঙ্কড লিস্ট (Linked list) টিউটোরিয়াল
লিঙ্কড লিস্ট (linked list) হলো একটি ডাটা স্ট্রাকচার যেখানে ডাটা গুলোকে একটার পরে আরেকটা, লিঙ্ক আকারে রাখা হয়। ডাটা রাখার জন্য নোড তৈরি করা হয় একাধিক ফিল্ডের সমন্বয়ে। একটা নোড…
আরও পরুন » -
ডাটা স্ট্রাকচার: বাইনারি সার্চ ট্রি এর উচ্চতা নির্ণয়।
আমার এই পোস্টে বাইনারি সার্চ ট্রি এর প্রতিটি সাব-ট্রির উচ্চতা নির্ণয় এবং ব্যাল্যান্স ফ্যাক্টর (Balance factor) নির্ণয়ের প্রয়োজনীয় অ্যালগরিদম নিয়ে বিস্তারিত আলোচনা করা হবে। এই লিখটাতে যা আছে আগের AVL…
আরও পরুন » -
ডাটা স্ট্রাকচার: AVL Tree – ব্যালান্সড বাইনারি সার্চ ট্রি (১)
Data structure নিয়ে আগের লিখায় বাইনারি সার্চ ট্রি নিয়ে জেনেছিলাম। ঐখানে আমরা দেখেছিলাম কিভাবে বাইনারি সার্চ ট্রি (BST) ব্যবহার করে ইনপুট গুলো সর্টেড (Sorted) অর্ডার এ রাখতে পারি এবং দরকার…
আরও পরুন » -
ডাটা স্ট্রাকচার: বাইনারি সার্চ ট্রি (Binary Search Tree)
বাইনারি সার্চ ট্রি (Binary search tree /BST) একটি ডাটা স্ট্রাকচার (Data structure) যার মাধ্যমে আমরা দ্রুততম উপায়ে ডাটাগুলোকে সর্টেড ভাবে রাখতে পারি এবং O(log(n)) সময়ে আমরা ট্রি তে রাখা উপাদান…
আরও পরুন » -
ডাটা স্ট্রাকচার: স্কয়ার রুট ডিকম্পোজিশন
স্কয়ার রুট ডিকম্পোজিশন (Square root decomposition aka: Square root segmentation) হলো একটি ডাটা স্ট্রাকচার (Data structure) যার মাধ্যমে আমরা কিছু কমন অপারেশন (কুয়েরি, আপডেট) ইত্যাদি $O(\sqrt(n))$ এ করতে পারি। যা…
আরও পরুন » -
টারনারি সার্চ (Ternary search) অ্যালগরিদম
টারনারি সার্চ (Ternary search) অ্যালগরিদম হলো এমন একটি সার্চ অ্যালগরিদম যেখানে আমরা আমাদের সার্চ রেঞ্জকে (যেই রেঞ্জে আমরা সার্চ করি তাই সার্চ রেঞ্জ) তিনভাগে ভাগ করে সার্চ করে। আমরা আগের…
আরও পরুন » -
বাইনারি সার্চ (Binary search) ও তার অ্যালগরিদম
বাইনারি সার্চ কি? বাইনারি সার্চ অ্যালগরিদম (Binary search algorithm) হলো কম্পিউটার সাইন্সের (Computer Science) কিছু ফান্ডামেন্টাল অ্যালগরিদম গুলোর মধ্যে অন্যতম। এই অ্যালগরিদমটি দিয়ে একটি সর্টেড অ্যারেতে (ছোট থেকে বড় অথবা…
আরও পরুন » -
বাইনারি হিপ (Binary Heap) বা প্রায়োরিটি কিউ (Priority Queue)
হিপ (Heap) মূলত একটি বাইনারি ট্রি (Binary tree)। কমপ্লিট বাইনারি ট্রি (Complete binary tree) যাকে বলে। কমপ্লিট বাইনারি ট্রি এর শেষ লেভেল বাদে বাকি লেভেলের প্রতিটি নোডে সর্বোচ্চ সংখ্যক চাইল্ড…
আরও পরুন » -
ডাটা স্ট্রাকচারঃ ট্রাই ট্রি (Trie tree) / প্রিফিক্স ট্রি / রেডিক্স ট্রি
ট্রাই ট্রি (Trie tree) ব্যবহার করে আমরা মেমোরি তে কোন স্ট্রিং কে সার্চ করতে পারি। ধরেন আপনাকে একটা সফটওয়্যার তৈরি করতে হবে। যেখানে আপনাকে প্রতিবার একেকটি ওয়ার্ড কে আগে থেকেই…
আরও পরুন » -
ডাটা স্ট্রাকচার: সেগমেন্ট ট্রি লেজি প্রপাগেশন।
লেজি প্রপাগেশন (Lazy propagation) ধরেন আপনাকে একটা Array দেয়া হলো arr[] = [1,2,3,4,5,6,7,8]। পরে বলা হলো আপনাকে Q সংখ্যক কুয়েরি করা হবে। প্রতি টি কুয়েরিতে প্রথমে, একটা ইনডেক্সে আপডেট করবেন…
আরও পরুন » -
প্রোগ্রামিং: সেগমেন্ট ট্রি (Segment tree) ডাটা স্ট্রাকচার: রেন্জ কুয়েরি: যোগফল
সেগমেন্ট ট্রি (Segment tree) একটি গুরুত্বপূর্ণ ডাটা স্ট্রাকচার। এই ডাটা স্ট্রাকচার টি বিভিন্ন অ্যালগরিদম এ রেঞ্জ অপারেশন চালাতে ব্যবহার করা হয়। আপনারা এমন কিছু প্রবলেম দেখে থাকতে পারেন যেখানে, একটা…
আরও পরুন »