тут красным кружком обведено "начало" т.е. первая вершина в односвязном списке, а синими кружочками "концы", т.е вершины, которые должны быть вычислены первыми, чтоб остальные могли на них ссылаться, список же иммутабельный
Да, любой, только значение и вершины нужно будет хранить в виде структуры данных, на которую можно сделать ссылку - объекта, замыкания (и т.п.), иначе будет геморрой с изменением значений вершин
Да, любой, только значение и вершины нужно будет хранить в виде структуры данных, на которую можно сделать ссылку - объекта, замыкания (и т.п.), иначе будет геморрой с изменением значений вершин
я думаю вершина должна меняется как в обычном списке - заменой всего списка
забавно, что если по такой структуре пройтись обычной рекурсией, вы пройдете ровно по всем возможным путям из начальной вершины в конечные, а если кешировать результаты - ровно один раз по каждому ребру