In this assignment, we implement a Doubly Linked List (DLL) using Python.
A DLL is a data structure where each node contains:
- **data** (the value)
- **next** pointer (link to next node)
- **prev** pointer (link to previous node)
It allows traversal in both directions, making insertion and deletion more flexible than a singly linked list.
Assignment-4: Doubly Linked List
### ✅ Task 1: Define Node class
1. Define a class Node to describe a node of a doubly linked list.
### ✅ Task 2: Define DLL class
2. Define a class DLL to implement Doubly Linked List with __init__() method to create and initialise start reference variable.
### ✅ Task 3: is_empty()
3. Define a method is empty() to check if the linked list is empty in DLL class.
### ✅ Task 4: insert_at_start()
4. In class DLL, define a method insert_at_start() to insert an element at the starting of the list.
### ✅ Task 5: insert_at_last()
5. In class DLL, define a method insert_at_last() to insert an element at the end of the list.
### ✅ Task 6: search()
6. In class DLL, define a method search() to find the node with specified element value.
### ✅ Task 7: insert_after()
7. In class DLL, define a method insert_after() to insert a new node after a given node of the list.
### ✅ Task 8: print_all()
8. In class DLL, define a method to print all the elements of the list.
### ✅ Task 9: Iterator
9. In class DLL, implement iterator for DLL to access all the elements of the list in a sequence.
### ✅ Task 10: delete_first()
10. In class DLL, define a method delete_first() to delete first element from the list.
### ✅ Task 11: delete_last()
11. In class DLL, define a method delete_last() to delete last element from the list.
### ✅ Task 12: delete_item()
12. In class DLL, define a method delete_item() to delete specified element from the list.
A Doubly Linked List gives more flexibility compared to a Singly Linked List as we can traverse in both directions.
This assignment builds understanding of bidirectional linking and efficient insertion/deletion operations.
No comments:
Post a Comment