All about Data structures in python

Data Structures in Python
Data structures are the foundation of programming and play a crucial role in organizing data effectively within a program. In this article, we'll explore some of the most commonly used data structures in Python. ### Arrays An array is a collection of elements of similar types stored under a single name.Arrays can be thought of as lists of values that can be accessed using an index.
Here's how to declare and initialize arrays: ```python # Declaring an array with size n arr = [0]*n # Initializing arrays numbers = [1, 2, 3, 4, 5] ``` ### Linked Lists A linked list is a sequence of elements in which each element points to the next one.
Linked lists are dynamic data structures that can grow or shrink as elements are added or removed. ```python class Node: def __init__(self, value): self.value = value self.next = None # Create new nodes and add them to the list head = Node(10) current = head for i in range(2, 6): current.next = Node(i) current = current.next ``` ### Stacks A stack is a collection of elements that follow Last-In-First-Out (LIFO) principle.
It's similar to a stack of plates where you can add or remove an item from the top. ```python class Stack: def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): if len(self.items) > 0: return self.items.pop() else: return None # Create a new stack and push some items onto it stack = Stack() for i in range(5): stack.push(i) ``` ### Queues A queue is a collection of elements that follow First-In-First-Out (FIFO) principle.
It's similar to a queue at the post office where you get served based on your arrival order. ```python class Queue: def __init__(self): self.items = [] def enqueue(self, item): self.items.append(item) def dequeue(self): if len(self.items) > 0: return self.items.pop(0) else: return None # Create a new queue and enqueue some items onto it queue = Queue() for i in range(5): queue.enqueue(i) ``` ### Dictionaries A dictionary is an unordered collection of key-value pairs.
It's similar to a phonebook where you can look up people by their names. ```python phonebook = {"John": "12345678", "Jane": "90123456"} print(phonebook["John"]) # prints '12345678' ``` ### Trees A tree is an ordered collection of elements in which each element has a parent and child nodes.
It's similar to a family tree where you can see the relationships between different individuals. ```python class Node: def __init__(self, value): self.value = value self.children = [] # Create new nodes and add them to the tree root = Node("A") child1 = Node("B") child2 = Node("C") ``` ### Conclusion Data structures are an essential part of programming in Python.
By understanding these basic data structures, you can write more efficient and effective code that solves real-world problems.
So go ahead and start exploring the world of data structures today!