data_structures.linked_list¶
Linked Lists consists of Nodes. Nodes contain data and also may link to other nodes:
- Head Node: First node, the address of the
head node gives us access of the complete list
Last node: points to null
Submodules¶
- data_structures.linked_list.circular_linked_list
- data_structures.linked_list.deque_doubly
- data_structures.linked_list.doubly_linked_list
- data_structures.linked_list.doubly_linked_list_two
- data_structures.linked_list.floyds_cycle_detection
- data_structures.linked_list.from_sequence
- data_structures.linked_list.has_loop
- data_structures.linked_list.is_palindrome
- data_structures.linked_list.merge_two_lists
- data_structures.linked_list.middle_element_of_linked_list
- data_structures.linked_list.print_reverse
- data_structures.linked_list.reverse_k_group
- data_structures.linked_list.rotate_to_the_right
- data_structures.linked_list.singly_linked_list
- data_structures.linked_list.skip_list
- data_structures.linked_list.swap_nodes
Classes¶
Package Contents¶
- class data_structures.linked_list.LinkedList¶
- __len__() int ¶
>>> linked_list = LinkedList() >>> len(linked_list) 0 >>> linked_list.add("a") >>> len(linked_list) 1 >>> linked_list.add("b") >>> len(linked_list) 2 >>> _ = linked_list.remove() >>> len(linked_list) 1 >>> _ = linked_list.remove() >>> len(linked_list) 0
- __str__() str ¶
>>> linked_list = LinkedList() >>> linked_list.add(23) >>> linked_list.add(14) >>> linked_list.add(9) >>> print(linked_list) 9 --> 14 --> 23
- add(item: Any, position: int = 0) None ¶
Add an item to the LinkedList at the specified position. Default position is 0 (the head).
- Args:
item (Any): The item to add to the LinkedList. position (int, optional): The position at which to add the item.
Defaults to 0.
- Raises:
ValueError: If the position is negative or out of bounds.
>>> linked_list = LinkedList() >>> linked_list.add(1) >>> linked_list.add(2) >>> linked_list.add(3) >>> linked_list.add(4, 2) >>> print(linked_list) 3 --> 2 --> 4 --> 1
# Test adding to a negative position >>> linked_list.add(5, -3) Traceback (most recent call last):
…
ValueError: Position must be non-negative
# Test adding to an out-of-bounds position >>> linked_list.add(5,7) Traceback (most recent call last):
…
ValueError: Out of bounds >>> linked_list.add(5, 4) >>> print(linked_list) 3 –> 2 –> 4 –> 1 –> 5
- is_empty() bool ¶
- remove() Any ¶
- size = 0¶