Javascript Алгоритм обхода дерева

Мне нужна помощь в обходе древовидной структуры в глубину. Я не могу придумать алгоритм, чтобы сделать это правильно.

Мой ввод таков:

[
    ["A", "B", "C"],
    ["1", "2"],
    ["a", "b", "c", "d"]
]

Вывод должен иметь вид:

[
    "A/1/a", "A/1/b", "A/1/c", "A/1/d",
    "A/2/a", "A/2/b", "A/2/c", "A/2/d",
    "B/1/a", "B/1/b", "B/1/c", "B/1/d",
    "B/2/a", "B/2/b", "B/2/c", "B/2/d",
    "C/1/a", "C/1/b", "C/1/c", "C/1/d",
    "C/2/a", "C/2/b", "C/2/c", "C/2/d"
]
6
задан Adam 19 March 2012 в 00:34
поделиться