Вопрос проверяет понимание фундаментальной структуры данных — графа, используемой для моделирования связей между объектами.
Граф — это математическая абстракция, которая состоит из множества вершин (узлов) и множества ребер, соединяющих пары вершин. Эта структура данных идеально подходит для моделирования отношений между объектами, таких как друзья в социальной сети, маршруты на карте или зависимости в проекте.
class Graph {
constructor() {
this.adjacencyList = {};
}
addVertex(vertex) {
if (!this.adjacencyList[vertex]) {
this.adjacencyList[vertex] = [];
}
}
addEdge(vertex1, vertex2) {
this.adjacencyList[vertex1].push(vertex2);
this.adjacencyList[vertex2].push(vertex1); // для неориентированного графа
}
}
const graph = new Graph();
graph.addVertex('A');
graph.addVertex('B');
graph.addEdge('A', 'B');
console.log(graph.adjacencyList); // { A: ['B'], B: ['A'] }Графы используются в алгоритмах поиска кратчайшего пути (Dijkstra, A*), в социальных сетях для рекомендаций друзей, в системах управления зависимостями (npm, Maven), а также в маршрутизации сетевых пакетов.
Вывод: Графы — это универсальный инструмент для моделирования связей. Их стоит применять везде, где важны отношения между сущностями, особенно в задачах поиска путей, анализа сетей и оптимизации маршрутов.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
Math
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию