Given this C++ code snippet for a Binary Search Tree (BST), what will the tree look like after the following insertions: 5, 3, 8, 1, 4, 7, 9?
struct Node {
int data;
Node *left, *right;
};
Node* insert(Node* node, int data) {
if (node == NULL) {
return new Node(data);
}
if (data < node->data) {
node->left = insert(node->left, data);
} else if (data > node->data) {
node->right = insert(node->right, data);
}
return node;
}