Я только начал изучать структуры данных и алгоритмы, и я хочу знать, почему мы делаем классы узлов и связанных списков отдельно, а делаем все в одном классе, например, i didПочему мы делаем класс Node и LinkedList, вместо того, чтобы делать это простым способом, как
class LinkedList():
def __init__(self):
self.linked=[]
def add(self,data):
self.linked.append(data)
return self.linked
def get_size(self):
return len(self.linked)
def remove(self,data):
if data in self.linked:
while data in self.linked:
z=self.linked.index(data)
del self.linked[z]
print self.linked
return True
else:
return False
def find(self,data):
if data in self.linked:
return "Found" + " " + str(data)
else:
return "Not found" + " " + str(data)
Это из-за пространственной и временной сложности или некоторых других факторов? Еще раз спасибо.
Спасибо, Робин, но с небольшими изменениями я могу написать новые методы для возврата следующего элемента и предыдущего элемента любого узла. Это плохая практика кодирования для связанного списка или его также приемлемая? – Sam1313
@ Sam1313 Речь идет не о методах, которые предоставляет ваш список, а о том, как он хранит свои данные. Концепция связанного списка состоит в том, чтобы сохранить один элемент с указателем на следующий. По умолчанию списки Python, которые вы используете для хранения данных, являются массивами. Это означает, что они в основном хранят один элемент за другим в непрерывной памяти. Это две совершенно разные концепции. –
Спасибо, Робин, я понял. – Sam1313