Проверяет понимание структуры данных связанного списка и его отличий от массива, что важно для оценки базовых знаний алгоритмов и структур данных.
Связанный список — это линейная структура данных, где каждый элемент (узел) содержит данные и указатель на следующий узел. В отличие от массива, элементы не хранятся в непрерывной области памяти, а разбросаны по памяти, соединяясь ссылками. Существуют односвязные, двусвязные и кольцевые списки.
class Node {
constructor(data) {
this.data = data;
this.next = null;
}
}
class LinkedList {
constructor() {
this.head = null;
}
append(data) {
const newNode = new Node(data);
if (!this.head) {
this.head = newNode;
return;
}
let current = this.head;
while (current.next) {
current = current.next;
}
current.next = newNode;
}
print() {
let current = this.head;
while (current) {
console.log(current.data);
current = current.next;
}
}
}
const list = new LinkedList();
list.append(1);
list.append(2);
list.append(3);
list.print(); // 1 2 3Связанные списки полезны, когда требуется часто вставлять или удалять элементы в середине списка, а также когда размер данных заранее неизвестен. Однако для задач с частым доступом по индексу лучше использовать массивы.
Вывод: Связанный список — гибкая структура для динамических данных с частыми изменениями, но уступает массиву в скорости произвольного доступа.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию