Чтобы определить размер связанного списка в Python, вы можете использовать различные методы. Вот несколько подходов:
Метод 1: итеративный подсчет
Вы можете перебирать связанный список и подсчитывать количество узлов, пока не дойдете до конца.
def get_linked_list_size(head):
count = 0
current = head
while current is not None:
count += 1
current = current.next
return count
Метод 2: рекурсивный подсчет
Вы можете использовать рекурсию для обхода связанного списка и подсчета узлов, пока не дойдете до конца.
def get_linked_list_size(head):
if head is None:
return 0
return 1 + get_linked_list_size(head.next)
Метод 3: сохранение переменной-счетчика.
Вы можете использовать переменную-счетчик, которая отслеживает количество узлов при вставке или удалении элементов в связанном списке.
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
self.size = 0
def insert(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_node
self.size += 1
def delete(self, data):
current = self.head
prev = None
while current is not None:
if current.data == data:
if prev is None:
self.head = current.next
else:
prev.next = current.next
self.size -= 1
return
prev = current
current = current.next
def get_size(self):
return self.size
Обратите внимание, что предоставленные фрагменты кода предназначены для иллюстративных целей. Возможно, вам придется адаптировать их к вашей конкретной реализации связанных списков.