Sobes.tech
Middle

Задача: обход на дърво с извеждане на текст с отстъпи (рекурсивен обход на вложен списък)

sobes.tech AI

Отговор от AI

За рекурсивно обхождане на дърво с показване на текста с отстъпи може да се използва функция, която приема възел и ниво на вложеност. На всеки ниво се добавят отстъпи, например с помощта на интервали или табулации.

Пример на JavaScript за вложен списък от обекти:

function printTree(node, indent = 0) {
  console.log(' '.repeat(indent) + node.text);
  if (node.children) {
    node.children.forEach(child => printTree(child, indent + 2));
  }
}

// Примерни данни
const tree = {
  text: 'корен',
  children: [
    { text: 'дете1' },
    { text: 'дете2', children: [
      { text: 'внук1' },
      { text: 'внук2' }
    ]}
  ]
};

printTree(tree);

Изходът ще бъде с отстъпи, отразяващи дълбочината:

корен
  дете1
  дете2
    внук1
    внук2

Този подход е универсален и лесно се адаптира към различни структури и формати на изход.