TheHingineer

  • Data Structures & Algorithms


  • DSA Part-1

  • DSA Part-2

  • DSA Part-3

  • DSA Part-4

  • DSA Part-5

  • Doubly Linked List: Node Structure and Traversal

    Doubly Linked List (DLL) ek two-way linear data structure hai jisme har node ke paas do pointers hote hain: ek previous node ko point karta hai aur doosra next node ko. Isse hum list ko dono directions (Forward aur Backward) me seamlessly traverse kar sakte hain.

    DLL Node Structure in C

    struct Node {
        int data;
        struct Node* prev;    // Address of previous node
        struct Node* next;    // Address of next node
    };
    HEAD
     |
     v
    NULL <--- [ Prev | 10 | Next ] <===> [ Prev | 20 | Next ] <===> [ Prev | 30 | Next ] ---> NULL
    

    Advantages and Disadvantages of DLL

    • Advantage: Bidirectional Traversal: Forward aur backward dono directions me navigate kar sakte hain (e.g. Browser back/forward history, music player playlist).
    • Advantage: Efficient Deletion: Agar target node ka pointer pata ho, toh use O(1) time me delete kiya ja sakta hai bina head se traverse kiye.
    • Disadvantage: Memory Overhead: Har node me do pointers (8 + 8 = 16 bytes on 64-bit systems) maintain karne padte hain.
    • Disadvantage: Complex Pointer Updates: Insertion aur deletion operations me 4 pointers ko manage karna padta hai.

    Agli post me hum cover karenge Doubly Linked List: Insertion and Deletion Operations.

    Scroll to Top