¿Podemos obtener una lista ordenada de una matriz ordenada en

9

Estoy confundido. Quiero demostrar que el problema de ordenar una matriz por , es decir, las filas y columnas están en orden ascendente es . Continúo asumiendo que se puede hacer más rápido que e intento violar el límite inferior Para las comparaciones necesarias para ordenar m elementos. Tengo dos respuestas en conflicto:nnΩ(n2logn)n2lognlog(m!)

  1. podemos obtener una lista ordenada de los elementos de la matriz ordenada en /math/298191/lower-bound-for-matrix-sorting/298199?iemail = 1 # 298199n2O(n2)
  2. no puede obtener una lista ordenada de la matriz más rápido que Ω(n2log(n)) /programming/4279524/how-to-sort-amxn-matrix-which-has- todas-sus-m-filas-ordenadas-y-n-columnas-ordenadas

¿Cuál es la correcta?

usuario2038833
fuente
66
Por otro lado, me irrita cuando vemos afirmaciones de que "la clasificación es Ω(nlogn) ", pero que no especifica el modelo de entrada y el modelo de cálculo. La clasificación de comparación es Ω(nlogn) . La clasificación, en general, puede ser más rápida que eso, por ejemplo, para cadenas (si n es la longitud de entrada total) o enteros (en ciertos modelos de cómputo que permiten operaciones aritméticas de enteros de tiempo constante).
David Eppstein
3
Para ser aún más pedante: la clasificación de comparación no es , porque la clasificación de comparación no es una función de a . La ordenación requiere tiempo en cualquier modelo de árbol de decisión binario (no solo comparaciones). Ω(nlogn)RRΩ(nlogn)
Jeff

Respuestas:

15

El límite inferior es correcto (2): no puede hacerlo mejor que y (1) es, por supuesto, incorrecto. Primero, definamos qué es una matriz ordenada: es una matriz donde los elementos de cada fila y columna se ordenan en orden creciente.Ω(n2logn)

Ahora es fácil verificar que cada diagonal puede contener elementos que están en cualquier orden arbitrario; solo necesita hacerlos lo suficientemente grandes. En particular, ordenar la matriz implica ordenar cada una de estas diagonales. El ° diagonal tiene entradas, y como tal,Posible pedido. Como tal, una matriz ordenada podría definir al menos diferentes ordenamientos Ahora es fácil verificar que , lo que implica que en el modelo de comparación (y como señala Jeff a continuación, en cualquier modelo de árbol de decisión binario) al menos este es un límite inferior en el tiempo de clasificación.iii!X=i=1ni!log2X=Ω(n2logn)

Sariel Har-Peled
fuente
3
Nuevamente, en cualquier modelo de árbol de decisión binario, no solo comparaciones.
Jeff