バイナリツリーに挿入する方法は、左辺から常に埋められるように再帰的に行う方法はありますか?もちろん誤りである私が書いたコードを次に示します...私は、戻り値をキャストしないでください...あなたの提案を提供してください...再帰のビットが弱いバイナリツリーに挿入する
void insert(node **root,int n)
{
node *temp;
temp=(node *)malloc(sizeof(node));
temp->data=n;
temp->lchild=NULL;
temp->rchild=NULL;
if(*root==NULL)
{
*root=temp;
return;
}
if((*root)->lchild==NULL)
{
(*root)->lchild=temp;
return;
}
if((*root)->rchild==NULL)
{
(*root)->rchild=temp;
return;
}
insert(&((*root)->lchild),n);
insert(&((*root)->rchild),n);
return;
}
ツリーの要素のバランスをとるためにいくつの要素があるかを知る必要があります。リストを取得するだけです(左→左→左→左など)。 – sje397
ツリーがバランスが取れているか、完全であるか、または検索バイナリツリーであるかどうかを教えてください。挿入ポリシーに違いがあります。 – Matteo
そのバイナリツリーだけです.....したがって、挿入中にバイナリツリーのポリシーを追跡する必要があります。 – mmuttam