Linked List কী?
Linked List-এ ডেটা Node আকারে সাজানো থাকে। প্রতিটি Node-এ দুটি জিনিস থাকে — Data এবং পরবর্তী Node-এর Address (Pointer)।
Array vs Linked List
- Array-তে ডেটা পরপর মেমরিতে থাকে, Linked List-এ যেকোনো জায়গায় থাকতে পারে
- Array-র আকার fixed, Linked List dynamic — যতটুকু দরকার ততটুকু বাড়ে
- Array-তে index দিয়ে সরাসরি access, Linked List-এ শুরু থেকে হাঁটতে হয়
ধরনসমূহ
- Singly Linked List — প্রতি Node শুধু পরেরটির দিকে point করে
- Doubly Linked List — প্রতি Node আগের ও পরের দুটোর দিকে point করে
- Circular Linked List — শেষ Node আবার প্রথমটির দিকে point করে
Python-এ Singly Linked List
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if not self.head:
self.head = new_node
return
current = self.head
while current.next:
current = current.next
current.next = new_node
def display(self):
current = self.head
while current:
print(current.data, end=" -> ")
current = current.next
print("None")