TheHingineer

  • Data Structures & Algorithms


  • DSA Part-1

  • DSA Part-2

  • DSA Part-3

  • DSA Part-4

  • DSA Part-5

  • Doubly Linked List: Insertion and Deletion Operations

    Doubly Linked List me insertion aur deletion operations perform karte waqt prev aur next dono pointers ko synchronize karna critical hota hai.

    1. Insertion at Beginning – O(1)

    INSERT_FRONT_DLL(HEAD, VAL)
    1. Allocate newNode, newNode->data = VAL, newNode->prev = NULL, newNode->next = HEAD
    2. If HEAD != NULL then:
    3.     HEAD->prev = newNode
    4. HEAD = newNode
    5. Return HEAD

    2. Deletion of a Given Node ‘delNode’ – O(1)

    DLL ka sabse powerful feature yeh hai ki agar hume kisi node ko delete karna hai aur uska pointer available hai, toh hume head se traverse karne ki zaroorat nahi padti:

        [ A ] <=====> [ delNode ] <=====> [ B ]
          |                                  ^
          +------------ next --------------->|
          |<----------- prev ----------------+
    
    DELETE_NODE_DLL(HEAD, delNode)
    1. If HEAD == NULL or delNode == NULL: Return HEAD
    2. If HEAD == delNode: HEAD = delNode->next
    3. If delNode->next != NULL:
           delNode->next->prev = delNode->prev
    4. If delNode->prev != NULL:
           delNode->prev->next = delNode->next
    5. Free(delNode)
    6. Return HEAD

    Agli post me hum cover karenge Circular Singly Linked List: Concept and Operations.

    Scroll to Top