Potrzebuję pomocy w przechodzeniu przez strukturę drzewa na pierwszy rzut oka. Nie mogę wymyślić algorytmu, aby zrobić to poprawnie.Algorytm translacji drzewiastej JavaScript
Moje wejście jest taka:
[
["A", "B", "C"],
["1", "2"],
["a", "b", "c", "d"]
]
Wyjście powinno przybrać formę:
[
"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"
]
można to zrobić, ale jest to trochę podchwytliwe. Czy istnieje sposób na reorganizację swoich danych? Będziesz mieć problem z koordynacją, który z "A B C" odpowiada któremu '1 2', a który' a b c d'; Twoje oczekiwane dane wyglądają tak, jakby podążały za dość dziwną zasadą. +1 za dawanie oczekiwanych danych. – Bojangles
Pewnie. Potrafię manipulować danymi wejściowymi w dowolny sposób. Jaka forma byłaby lepsza? – Adam
Najprostszy sposób, jaki mogę wymyślić, to mieć tablicę potomną zamiast tablicy rodzeństwa. Jest to znacznie łatwiejsze do przemierzania jak struktura przypominająca drzewo. – Bojangles