¿Por qué la complejidad del espacio de fusión O (log (n)) con listas vinculadas?

Mergesort en una matriz tiene una complejidad espacial de O (n), mientras que mergesort en una lista vinculada tiene una complejidad espacial de O (log (n)), documentadoaquí

Creo que entiendo el caso de la matriz, porque necesitamos almacenamiento auxiliar al fusionar las dos sub-matrices. Pero, ¿no se combinaría una lista vinculada para fusionar las dos listas subenlazadas en su lugar? Creo que esto tendría una complejidad espacial O (1) para crear una nueva cabeza.

Combinación en el lugar (sin almacenamiento auxiliar):

public Node merge(Node a, Node b) {
    Node dummyHead, curr; dummyHead = new Node(); curr = dummyHead;
    while(a !=null && b!= null) {
        if(a.info <= b.info) { curr.next = a; a = a.next; }
        else { curr.next = b; b = b.next; }
        curr = curr.next;
    }
    curr.next = (a == null) ? b : a;
    return dummyHead.next;
}

Una explicación sería genial.

Respuestas a la pregunta(2)

Su respuesta a la pregunta