¿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Ω(n2log⁡n)n2log⁡nlog⁡(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 Ω(nlog⁡n) ", pero que no especifica el modelo de entrada y el modelo de cálculo. La clasificación de comparación es Ω(nlog⁡n) . 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). Ω(nlog⁡n)RRΩ(nlog⁡n)
— 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.Ω(n2log⁡n)

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!log2⁡X=Ω(n2log⁡n)


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.