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:
- podemos obter uma lista classificada dos elementos da matriz classificada em /math/298191/lower-bound-for-matrix-sorting/298199?iemail = 1 # 298199
- você não pode obter uma lista classificada da matriz mais rapidamente que /programming/4279524/how-to-sort-amxn-matrix-which-has- todas-suas-m-linhas-classificadas-e-n-colunas-classificadas
Qual é o certo?
time-complexity
lower-bounds
matrices
sorting
asymptotics
user2038833
fonte
fonte
Respostas:
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.i i i! X=∏ni=1i! log2X=Ω(n2logn)
fonte