Podemos obter uma lista classificada de uma matriz classificada em

9

Estou confuso. Quero provar que que o problema da ordenação de um por matriz ou seja, as linhas e colunas estão em ordem crescente é . Prossigo supondo que isso possa ser feito mais rapidamente que tento violar o limite inferior Para comparações necessárias para classificar m elementos. Eu tenho duas respostas conflitantes:nnΩ(n2logn)n2lognlog(m!)

  1. podemos obter uma lista classificada dos elementos da matriz classificada em /math/298191/lower-bound-for-matrix-sorting/298199?iemail = 1 # 298199n2O(n2)
  2. você não pode obter uma lista classificada da matriz mais rapidamente que Ω(n2log(n)) /programming/4279524/how-to-sort-amxn-matrix-which-has- todas-suas-m-linhas-classificadas-e-n-colunas-classificadas

Qual é o certo?

user2038833
fonte
6
Como um aparte, isso me irrita quando vemos afirmações de que "a classificação é Ω(nlogn) ", mas que não especifica o modelo de entrada e o modelo de computação. A classificação de comparação é Ω(nlogn) . A classificação, em geral, pode ser mais rápida que isso, por exemplo, para seqüências de caracteres (se n for o comprimento total da entrada) ou números inteiros (em certos modelos de computação que permitem operações aritméticas com números inteiros em tempo constante).
David Eppstein
3
Para ser ainda mais pedante: a classificação por comparação não é , porque a classificação por comparação não é uma função de a . A classificação requer tempo em qualquer modelo de árvore de decisão binária (não apenas comparações). Ω(nlogn)RRΩ(nlogn)
91113 Jeff Jeff

Respostas:

15

O limite inferior está correto (2) - você não pode fazer isso melhor que e (1) estão obviamente errados. Vamos primeiro definir o que é uma matriz classificada - é uma matriz em que os elementos em cada linha e coluna são classificados em ordem crescente.Ω(n2logn)

Agora é fácil verificar se cada diagonal pode conter elementos que estão em qualquer ordem arbitrária - você só precisa torná-los suficientemente grandes. Em particular, classificar a matriz implica classificar cada uma dessas diagonais. A th diagonal possui entradas e, como tal,pedido possível. Como tal, uma matriz classificada poderia definir pelo menos pedidos diferentes. Agora é fácil verificar isso , o que implica que no modelo de comparação (e como Jeff aponta abaixo, em qualquer modelo de árvore de decisão binária) pelo menos esse é um limite inferior no tempo de classificação.iii!X=i=1ni!log2X=Ω(n2logn)

Sariel Har-Peled
fonte
3
Novamente, em qualquer modelo de árvore de decisão binária, não apenas comparações.
91113 Jeff Jeff