¿Qué es una matriz ordenada y en qué se diferencia de una que no está ordenada?

La distinción entre ordenado y no ordenado es simple pero no trivial. No es lo mismo que la distinción entre ordenado y no ordenado, incluso si ordenado generalmente implica ordenado. Sin clasificar no implica desordenado.

El término “matriz” no es necesariamente compatible con el concepto de ordenar en absoluto. Permítanme sustituir el término “secuencia”, que es una colección de elementos que están conectados de tal manera que cada elemento (excepto el primero) tiene un solo predecesor. Esto significa que puede recorrer un camino a través de toda la secuencia siguiendo esas conexiones y llegar a cada elemento exactamente una vez. Una secuencia con cero o uno elementos no tiene camino para caminar, y por esa razón no puede ser ordenada o desordenada. A continuación, suponga secuencias con dos o más elementos.

Una secuencia siempre está desordenada a menos que imponga una regla, un orden , en las conexiones entre los elementos, como “cada elemento debe tener un valor mayor o igual que el valor de su predecesor”. Esto tiene algunas implicaciones. Para empezar, los elementos no pueden ocurrir en orden arbitrario. El primer elemento debe ser uno de aquellos para los cuales no hay ningún elemento que tenga un valor menor, y el resto de los elementos pueden tener que barajarse para obedecer la regla que impuso. De esta manera, ha agregado información a su colección de valores. Si recorre la secuencia y se detiene y mira un valor, puede saber que ya ha visto todos los valores menores que este, y todos los elementos que vea durante el resto de la caminata serán mayores o iguales a este valor. Si solo estaba interesado en valores menores, puede abandonar la caminata ahora, sabiendo que la secuencia no tiene más elementos interesantes.

Una secuencia desordenada aún puede, aleatoriamente, tener orden. Si lanzas algunos dados, el orden en que se detienen no está ordenado, pero aún pueden terminar en orden numérico. Si pisa un tren en una capital y pasa por una secuencia de ciudades, es muy posible que las visite en orden inverso de población, pero nadie las movió para asegurarse de esto.

No es necesario ordenar una secuencia ordenada (aunque la ordenación en sí misma es una especie de ordenamiento). Algunos ejemplos:

  • La secuencia de números generada por un generador de números aleatorios computacionales definitivamente no está ordenada, pero está ordenada por su algoritmo de generación.
  • Una secuencia de las letras A, Z, N, que aparecen tanto en el alfabeto latino como en el griego, no se puede ordenar de manera que se ordene en ambos alfabetos.
  • Su ascendencia directa (y otros ordenamientos cronológicos) no está ordenada, pero está ordenada.

Una matriz ordenada es un grupo de tipos similares de elementos en los que los elementos están en orden creciente o decreciente. por ejemplo [10, 12, 18, 25, 30]. Este es un ejemplo de matriz ordenada en la que los elementos se ordenan cada vez más (de menor a mayor). ahora considere esto [30, 25, 22, 15, 10, 5]. Este es un ejemplo de matriz ordenada en la que los elementos se ordenan de forma decreciente (de mayor a menor).

La matriz ordenada ayuda a buscar un elemento más rápido que la matriz no ordenada.

Significa que los datos en la matriz están ordenados vs no clasificados.

[1,2,3,4,5,6,7] ordenó

[7,5,4,2,3,1,6] sin ordenar

More Interesting

¿Cómo podría encontrar la métrica correcta que se utilizará para los vecinos más cercanos u otros algoritmos basados ​​en similitudes?

¿Qué es el algoritmo de Wagner y Fischer y cuál es su código de muestra en C ++?

¿Pueden los algoritmos predecir el futuro?

¿Cuál es la complejidad del tiempo para una solución iterativa de la serie Fibonacci?

¿Qué significa importar en Python? ¿Puedo hacer mi propio algoritmo sin usar importar?

¿Existen algoritmos que estructuran datos previamente no estructurados utilizando 'etiquetas' definidas por el usuario?

¿Son las estructuras de datos y los requisitos previos de algoritmos para la arquitectura y organización de computadoras en un curso típico de CS? Estoy aprendiendo por mi cuenta, ¿cuál debería aprender primero? ¿Puedo aprenderlos en paralelo?

¿Cuál es la forma más rápida de invertir una cadena con más de 10000 caracteres?

¿Por qué Google todavía muestra el tiempo de búsqueda en la página de resultados?

¿Cuál es el libro más legible y efectivo para aprender introducción a los algoritmos informáticos?

Cómo calcular el orden de crecimiento para un fragmento de código dado

¿Cuáles son las ventajas de los diferentes algoritmos de clasificación?

En la industria, ¿con qué frecuencia se usa el algoritmo de compresión Lempel-Ziv-Welch?

Con la complejidad de O (n) u O (1) u O (log n), ¿cómo encuentro cuándo se romperá una bola rompible cuando se lance desde un piso de un edificio que tiene más de 100 pisos?

Cómo usar el código VHDL para generar el seno de un ángulo dado usando el algoritmo CORDIC