0
왼쪽에서 오른쪽으로 채워지는 이진 트리를 만들고 싶습니다. 1,2,3 다음 삽입 할 경우 즉 나무는 트리의 노드를 삽입, 내가 삽입 기능을 썼다이진 검색 트리가 아닌 이진 트리 만들기
1
/ \
2 3
처럼 보일 것입니다. 첫 번째 노드에 대해서는 모든 것이 정상적으로 작동합니다. 그러나 다음 노드 (부모 노드가 4,5를 자식 노드로 삽입하고 나중에 6,7을 자식 노드로 3을 삽입하려면 3)을 부모 노드 (2,3)간에 어떻게 전환해야합니까? ?
다음은 컴퓨터 프로그래밍의 예술의 사본을해야합니까 내 삽입 기능
struct node * Insert(struct node * node, int data) {
if(node == NULL)
return (newNode(data));
else {
if(!node->left)
node->left = Insert(node->left,data);
if(!node->right)
node->right = Insert(node->right,data);
//can't figure out the condition when they both fail
}
}
입니까? 아니면 그래프 이론을 가진 대학생의 책일까요? 이것은 단지 기본적인 것들입니다 –
당신이 찾고있는 것은'완전한 이진 트리'입니다. –
숙제 냄새가납니다. – Kaz