F = function(node){
return typeof(node)!="object" ?
node
: transformable([F(node[0]),F(node[1])]) ?
F(transform(F(node[0]),F(node[1])))
: node;
};
Эта функция получает двоичное дерево, такое как [1,[[2,3],[4,5]]]
, и рекурсивно применяет серию преобразований. Есть ли способ преобразовать эту функцию так, чтобыКак преобразовать эту рекурсивную функцию в итеративную?
- он получает вместо этого сплющенное двоичное дерево, такое как
[N,1,N,N,2,3,N,4,5]
; - не используется рекурсия?
Я думаю, вы имеете в виду «итеративный» – Eric
Он также, кажется, делает некоторые расчеты фиксированной точки :-) – Bergi