¿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?


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)


3
Nuevamente, en cualquier modelo de árbol de decisión binario, no solo comparaciones.
Jeff
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.