¿Es este algoritmo O (n ^ 2)?

Me propusieron un desafío y me dijeron que lo resolviera en O (n ^ 3) porque aparentemente es imposible en O (n ^ 2), O (n ^ 2) era la tarea original pero se cambió. El desafío es escribir un algoritmo que atraviese cada fila de una matriz n * n y luego imprimir toda la matriz como una matriz ordenada. Cada fila de la matriz ya está ordenada.

Esto es lo que tengo y creo que es O (n ^ 2) pero todavía estoy aprendiendo big-O correctamente, así que quería algo de confirmación si lo he hecho. Utiliza un método de utilidad de clasificación de inserción para ordenar la matriz. Gracias

public int[] mergeMatrix(int[][] matrix) {
    int length = matrix.length;
    int [] sortedMatrixArray = new int[length * length];
    int loop = 1;
    for (int[] i : matrix) {
        for (int j = 0; j < length; j++) {
            switch (loop) {
                case 1:
                    sortedMatrixArray[j] = i[j];
                    break;
                case 2:
                    sortedMatrixArray[j + 3] = i[j];
                    break;
                case 3:
                    sortedMatrixArray[j + 6] = i[j];
                    break;
            }
        }
        loop++;
    }
    insertionSort(sortedMatrixArray);
    return sortedMatrixArray;
}

private void insertionSort(int[] array) {
    for (int firstUnsortedIndex = 0; firstUnsortedIndex < array.length; firstUnsortedIndex++) {
        int newElement = array[firstUnsortedIndex];
        int i;
        for (i = firstUnsortedIndex; i > 0 && array[i-1] > newElement; i--) {
            array[i] = array[i-1];
        }
        array[i] = newElement;
    }
}

EDITAR:

public int[] mergeMatrix(int[][] matrix) {
    int length = matrix.length;
    int [] sortedMatrixArray = new int[length * length];
    int loop = 0;
    for (int[] i : matrix) {
        for (int j = 0; j < length; j++) {
            if (loop == 0) {
                sortedMatrixArray[j] = i[j];
            }
            sortedMatrixArray[j + (length*loop)] = i[j];
        }
        loop++;
    }
    insertionSort(sortedMatrixArray);
    return sortedMatrixArray;
}
Respuesta 1

Actualmente estoy trabajando en un programa que he hecho preguntas relacionadas anteriormente. He progresado bastante desde entonces, y ahora estoy listo para comenzar en la parte del panel de información del cliente ...

Creo esta imagen con g2d: Aquí está el código: BufferedImage bufferedImage = new BufferedImage (408, 408, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = bufferedImage.createGraphics (); Lista <...

Soy novato en IntelliJ, solía usar NetBeans. Mi situación es la siguiente: creo la clase y la prueba correspondiente. Creo algún método en la clase. ¿Hay alguna característica en IntelliJ ...

Estoy trabajando con JUNG Graph. El problema en el que estoy trabajando se puede definir de la siguiente manera: dado un gráfico JUNG G = {V, E} y un borde E1, encuentre los nodos / vértices que E1 conecta y elimine el vértice si ...