La eficiencia de un algoritmo depende de dos parámetros:
lanzar el manejo de excepciones de Java
- Complejidad del tiempo
- Complejidad espacial
Complejidad del tiempo:
La complejidad del tiempo se define como la cantidad de veces que se ejecuta un conjunto de instrucciones en particular en lugar del tiempo total necesario. Esto se debe a que el tiempo total necesario también depende de algunos factores externos como el compilador utilizado, la velocidad del procesador, etc.
Complejidad espacial:
La complejidad espacial es el espacio total de memoria que requiere el programa para su ejecución.
Ambos se calculan en función del tamaño de entrada (n). Una cosa importante aquí es que a pesar de estos parámetros, la eficiencia de un algoritmo también depende de la naturaleza y tamaño de el aporte.
Tipos de complejidad del tiempo:
- Mejor complejidad de tiempo: Defina la entrada para la cual el algoritmo tarda menos o mínimo tiempo. En el mejor de los casos, calcule el límite inferior de un algoritmo. Ejemplo: en la búsqueda lineal, cuando los datos de búsqueda están presentes en la primera ubicación de datos grandes, ocurre el mejor de los casos.
- Complejidad de tiempo promedio: En el caso promedio, tome todas las entradas aleatorias y calcule el tiempo de cálculo para todas las entradas.
Y luego lo dividimos por el número total de entradas. - Peor complejidad del momento: Defina la entrada para qué algoritmo tarda mucho tiempo o el tiempo máximo. En el peor de los casos, calcule el límite superior de un algoritmo. Ejemplo: en la búsqueda lineal, cuando los datos de búsqueda están presentes en la última ubicación de datos grandes, ocurre el peor de los casos.
A continuación se incluye una hoja de revisión rápida que puede consultar en el último minuto:
| Algoritmo | Complejidad del tiempo | Complejidad espacial | ||
|---|---|---|---|---|
| Mejor | Promedio | El peor | El peor | |
| Orden de selección | En2) | En2) | En2) | O(1) |
| Ordenamiento de burbuja | En) | En2) | En2) | O(1) |
| Tipo de inserción | En) | En2) | En2) | O(1) |
| Ordenar montón | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | O(1) |
| Ordenación rápida | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | En2) | En) |
| Combinar ordenar | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | En) |
| Ordenar cubo | O(n+k) | O(n+k) | En2) | En) |
| Radix Suerte | O(nk) | O(nk) | O(nk) | O(norte + k) |
| Contar Ordenar | O(n+k) | O(n+k) | O(n+k) | Flecha) |
| Ordenar conchas | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | En2) | O(1) |
| Tim ordenar | En) | O(n iniciar sesión(n)) | O(nlog(n)) | En) |
| Ordenar árbol | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | En2) | En) |
| Ordenar cubos | En) | O(n iniciar sesión(n)) | O(n iniciar sesión(n)) | En) |
Ver también:
- Buscar y ordenar artículos
- Preguntas GATE del año anterior sobre clasificación
- Complejidad temporal y espacial del ordenamiento por inserción
- Complejidad temporal y espacial del tipo de selección
- Complejidad temporal y espacial del tipo de burbujas
- Complejidad temporal y espacial de la clasificación rápida
- Complejidad temporal y espacial del ordenamiento por fusión
- Complejidad temporal y espacial del algoritmo de clasificación Radix