Algoritmo de Recursividade

Ola galera do Guj, estou com um caso bem interessante (não estou conseguindo resolver até então)

Estou falando de um algoritmo recursivo que possui algumas peculiaridades…

Vamos ao caso.

Como mostra na imagem, para resolver o problema, eu preciso percorrer o array de forma recursiva, realizando a contagem considerando esses pontos (como mostra a imagem)…

Não importa a linguagem, estou buscando elaborar a lógica para implementar o caso.

Alguém tem alguma ideia ?

Galera, estou editando para dar mais explicações sobre o caso, desculpe não ter sido claro o suficiente…

A minha necessidade é calcular a altura dos elementos.
As condições que fará com que um elemento tenha altura serão as seguintes.

Caso um determinado item possua filhos, a altura dos seus irmãos posteriores a ele será igual ao total de filhos * 6 (constante);

Como é o caso dos itens: Neto 1 de Item 1, Neto 2 de Item 1, Neto 3 de Item 1 e Neto 4 de Item 1. (eles são irmãos entre si)

Porém, apenas Neto 1 de Item 1 possui filhos (2 filhos e o ultimo filho BisNeto2 de Item 1 possui mais 2 filhos [totalizando 4 itens]).

ou seja, nesse caso, os irmãos posteriores a Neto 1 de item 1 são “Neto 2 de Item 1, Neto 3 de Item 1 e Neto 4 de Item 1.”. São eles quem vao receber altura, que totaliza o somatório de filhos e netos de Neto 1 de item 1 . (total de 4 itens * 6 = 24).

Outro exemplo.

A altura de Filho 2 de Item 1 será o somatório dos filhos abertos do seu irmão anterior (Filho 1 de Item 1), totalizando 8 itens * 6 = 48.

E por ultimo, o “Filho 3 de Item 1” terá sua altura calculada através do somatório, de todos os filhos dos seus irmãos, que são Filho 2 de Item 1 (3 filhos) e Filho 1 de Item 1 (8 itens entre filhos, netos, etc…).

Totalizando 11 itens * 6 = 66.

Estou buscando criar uma lógica recursiva para calcular essas alturas que podem variar de acordo com os dados contidos no array, porém a lógica é em níveis (semelhante a uma árvore).

Sua pergunta está confusa, o problema não está claro. Descreva melhor o problema. Qual a entrada? Qual a saída esperada?

O que são esses números que são multiplicados na imagem?

A entrada de dados é um array que possui objetos que por sua vez podem possuir outros objetos internos, formando uma espécie de árvore. A lógica de subnível… A saída é esse mesmo array com o calculo das alturas nos objetos, caso precisem de altura como relatei.
Deu p entender ?

O número 6 é uma constante que representa a altura de um quadrado desse.
Preciso calcular a altura dos demais quadrados, seguinte essa lógica que postei na edição do post.