¿Por qué los árboles binarios en las estructuras de datos utilizan punteros dobles para crear nodos? Los dobles punteros explicados en detalle

Puntero a puntero.

Porque los nodos del árbol deben describirse mediante punteros.

Si solo se usa un puntero como argumento para una función que crea un nodo, el valor del puntero se pasa a la memoria en la pila de funciones. Una vez que la función regresa, la pila de funciones se destruye y no se puede obtener el nodo.

Utilice el puntero del puntero para modificar el valor señalado por el puntero doble (es decir, el puntero de nodo) en la función, u obtenga el nodo fuera de la función.

Esta función swap() acepta un puntero en lugar de un valor como parámetro. Es solo que el valor en sí aquí es un puntero, por lo que se utiliza puntero a puntero.