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 করা যায়