В интервью мне была дана функция:
f(n)= square(f(n-1)) - square(f(n-2)); for n>2
f(1) = 1;
f(2) = 2;
Here n is the level of an n-array tree. f(n)=1,2,3,5,16...
Для каждого уровня n
данного N-Array Мне нужно напечатать f (n) node на каждом уровне, Например:
At level 1 print node number 1 (i.e. root)
At level 2 print node number 2 (from left)
At level 3 print node number 3 (from left)
At level 4 print node number 5... and so on
Если number of nodes(say nl)
на любом уровне n
равен less than f(n)
, тогда нужно распечатать node number nl%f(n) counting from the left
.
Я выполнил обход порядка базового уровня с использованием очереди, но я застрял в том, как считать узлы на каждом уровне и обрабатывать условие, когда количество узлов на любом уровне n
равно less than f(n)
.
Предложите путь для продолжения оставшейся части проблемы.