J'ai essayé de créer une structure de données pour un arbre binaire statique avec une valeur racine statique et 2 nœuds enfants. J'essaie de le rendre dynamique pour n'importe quel nombre de valeurs d'enfant. Comment puis-je faire cela avec un nœud racine statique. Comment puis-je implémenter si je prends myArray = {3,11,8,18,21,36,1}. Tout code simple avec des modifications de code complexes aiderait.Structure de données d'arbre binaire C# avec nœud racine statique
class Program
{
static void Main(string[] args)
{
TreeNode rootNode = new TreeNode();
rootNode.value = 9;
int[] myArray = { 3, 11 };
for (int i = 0; i < myArray.Length; i++)
{
if (myArray[i] > rootNode.value)
{
//add to right node
TreeNode right = new TreeNode();
right.value = myArray[i];
rootNode.rightNode = right;
}
else
{
//add to left node
TreeNode left = new TreeNode();
left.value = myArray[i];
rootNode.leftNode = left;
}
}
}
}
class TreeNode
{
public int value { get; set; }
public TreeNode leftNode { get; set; }
public TreeNode rightNode { get; set; }
}
Quel type d'arbre binaire voulez-vous? –
un arbre binaire complet – Kurkula
L'arbre binaire complet a une seule condition que tous les nœuds aient 0 ou 2 enfants. Cela signifie que les valeurs des nœuds enfants descendants du nœud courant n'ont pas d'importance, mais vous publiez this si (myArray [i]> rootNode.value) '. Donc êtes-vous sûr que vous voulez un arbre binaire complet mais un arbre binaire complet? –