3.7 KiB
3.7 KiB
id, title, challengeType, forumTopicId, localeTitle
id | title | challengeType | forumTopicId | localeTitle |
---|---|---|---|---|
587d8256367417b2b2512c77 | Adjacency List | 1 | 301620 | Список прилавков |
Description
Node1: Node2, Node3Выше - неориентированный граф, потому что
Node2: Node1
Node3: Node1
Node1
подключен к Node2
и Node3
, и эта информация соответствует соединениям Node2
и Node3
. Список смежности для ориентированного графа будет означать, что каждая строка списка показывает направление. Если выше было указано, то Node2: Node1
будет означать, что направленный край указывает от Node2
на Node1
. Мы можем представить неориентированный граф выше как список смежности, помещая его в объект JavaScript. var undirectedG = {Это также можно более просто представить в виде массива, где узлы имеют только цифры, а не строковые метки.
Node1: ["Node2", "Node3"],
Node2: ["Node1"],
Node3: ["Node1"]
};
var unirectedGArr = [
[1, 2], # Node1
[0], # Node2
[0] # Node3
];
Instructions
James
, Jill
, Jenny
и Jeff
. Между Джеймсом и Джеффом, Джил и Дженни, Джеффом и Дженни.
Tests
tests:
- text: <code>undirectedAdjList</code> should only contain four nodes.
testString: assert(Object.keys(undirectedAdjList).length === 4);
- text: There should be an edge between <code>Jeff</code> and <code>James</code>.
testString: assert(undirectedAdjList.James.indexOf("Jeff") !== -1 && undirectedAdjList.Jeff.indexOf("James") !== -1);
- text: There should be an edge between <code>Jill</code> and <code>Jenny</code>.
testString: assert(undirectedAdjList.Jill.indexOf("Jenny") !== -1 && undirectedAdjList.Jill.indexOf("Jenny") !== -1);
- text: There should be an edge between <code>Jeff</code> and <code>Jenny</code>.
testString: assert(undirectedAdjList.Jeff.indexOf("Jenny") !== -1 && undirectedAdjList.Jenny.indexOf("Jeff") !== -1);
Challenge Seed
var undirectedAdjList = {};
Solution
var undirectedAdjList = {
James: ['Jeff'],
Jill: ['Jenny'],
Jenny: ['Jill', 'Jeff'],
Jeff: ['James', 'Jenny']
};