['principles', 'sculpture', 'change', 'nature', 'friendships']
Com puc fer un programa en Java que detecti si un arbre binari de cerca és un arbre binari complet?
```java
class Node {
    int data;
    Node left, right;

    Node(int item) {
        data = item;
        left = right = null;
    }
}

public class ArbreBinariComplet {

    Node root;

    // Funció per calcular l'alçada de l'arbre
    int height(Node node) {
        if (node == null)
            return 0;
        else {
            int lheight = height(node.left);
            int rheight = height(node.right);

            if (lheight > rheight)
                return (lheight + 1);
            else
                return (rheight + 1);
        }
    }

    // Funció per comprovar si l'arbre és complet
    boolean isCompleteTree(Node node, int index, int number_nodes) {
        // Cas base
        if (node == null)
            return true;

        // Si l'índex del node és major o igual al nombre de nodes, no és complet
        if (index >= number_nodes)
            return false;

        // Comprova recursivament els subarbres esquerre i dret
        return (isCompleteTree(node.left, 2 * index + 1, number_nodes) && isCompleteTree(node.right, 2 * index + 2, number_nodes));
    }

    public static void main(String args[]) {
        ArbreBinariComplet tree = new ArbreBinariComplet();

        tree.root = new Node(1);
        tree.root.left = new Node(2);
        tree.root.right = new Node(3);
        tree.root.left.left = new Node(4);
        tree.root.left.right = new Node(5);
        tree.root.right.left = new Node(6);

        int node_count = tree.countNodes(tree.root);
        int index = 0;

        if (tree.isCompleteTree(tree.root, index, node_count))
            System.out.println("L'arbre és un arbre binari complet");
        else
            System.out.println("L'arbre no és un arbre binari complet");
    }
    
    // Funció auxiliar per comptar el nombre de nodes
    int countNodes(Node root) {
        if (root == null)
            return (0);
        return (1 + countNodes(root.left) + countNodes(root.right));
    }
}
```