Table of Contents
SEMESTER – II Unit – 1: Section 3: Data Structure: Linked List: Basic concepts of Single, circular and double link list
Data Structure: Linked List (Single, Circular and Double Linked List)
Linked List হলো একটি dynamic data structure যেখানে প্রতিটি element (node) একে অপরের সাথে link (pointer) এর মাধ্যমে যুক্ত থাকে। Array-এর মতো contiguous memory লাগে না, তাই এটি flexible এবং powerful।
১. Linked List কী?
Linked List হলো node-এর একটি collection, যেখানে প্রতিটি node দুটি অংশ নিয়ে গঠিত:
- ✔ Data (value)
- ✔ Pointer (next node-এর address)
Structure:
[10 | next] → [20 | next] → [30 | NULL]
২. Linked List কেন ব্যবহার করা হয়?
- ✔ Dynamic size (fixed নয়)
- ✔ সহজে insert এবং delete করা যায়
- ✔ memory efficient
৩. Types of Linked List
Linked List তিন ধরনের:
- Single Linked List
- Circular Linked List
- Doubly Linked List
৪. Single Linked List
এখানে প্রতিটি node শুধু পরবর্তী node-এর address ধরে রাখে।
Structure:
[10 | →] → [20 | →] → [30 | NULL]
বৈশিষ্ট্য:
- একদিকে traversal হয়
- শেষ node NULL নির্দেশ করে
৫. Circular Linked List
এখানে শেষ node আবার প্রথম node-এর সাথে যুক্ত থাকে।
Structure:
[10] → [20] → [30]
↑ ↓
←─────────────
বৈশিষ্ট্য:
- NULL থাকে না
- Loop আকারে ঘোরে
৬. Doubly Linked List
এখানে প্রতিটি node দুটি pointer ধরে:
- Previous node
- Next node
Structure:
NULL ← [10] ⇄ [20] ⇄ [30] → NULL
বৈশিষ্ট্য:
- দুইদিকে traversal সম্ভব
- Memory বেশি লাগে
৭. Comparison
| Type | Pointer | Traversal |
|---|---|---|
| Single | 1 (next) | একদিকে |
| Circular | 1 (loop) | চক্রাকারে |
| Doubly | 2 (prev, next) | দুইদিকে |
৮. Array vs Linked List
| বিষয় | Array | Linked List |
|---|---|---|
| Memory | Contiguous | Non-contiguous |
| Size | Fixed | Dynamic |
| Insert/Delete | কঠিন | সহজ |
৯. বাস্তব জীবনের উদাহরণ
- Single → Train compartments
- Circular → Round table discussion
- Doubly → Browser history (back & forward)
উপসংহার
Linked List একটি flexible data structure যা dynamic memory allocation ব্যবহার করে। Single, Circular এবং Doubly Linked List-এর ধারণা ভালোভাবে বুঝলে advanced data structure শেখা অনেক সহজ হয়ে যায়।
Quick Revision
- Linked List → node-এর collection
- Single → একদিকে link
- Circular → loop structure
- Doubly → দুইদিকে link
- Dynamic → size change করা যায়