Algoritmo preliminar (1): comprenda la complejidad del tiempo mediante un algoritmo de clasificación simple

Índice de contenidos de los artículos de la serie. 

  Capítulo 1    Algoritmo preliminar (1): Comprender la complejidad del tiempo a través de un algoritmo de clasificación simple

  Capítulo 2    Algoritmo preliminar (2): una introducción detallada a los detalles y la complejidad temporal de la clasificación por inserción

  Capítulo 3    Algoritmo preliminar (3): Explicación e implementación del método de bisección (lenguaje C) y la aplicación de la luz de bisección en matrices ordenadas 


Tabla de contenido

Índice de contenidos de los artículos de la serie.

prefacio

1. ¿Qué es la complejidad del tiempo?

Operación en tiempo constante:

complejidad del tiempo:

Ordenar por:

2. ¿Cuál es la complejidad del espacio adicional?

Resumir


prefacio

       Como todos sabemos, los algoritmos son algo que los programadores deben aprender , y el editor es un novato, así que dejaré volar al estúpido pájaro primero. En esta serie, describiré mi experiencia personal de aprendizaje de algoritmos y registraré todo lo que he aprendido. ¡Espero que los amigos que lean este artículo trabajen juntos!

       Al estudiar algoritmos de búsqueda en Internet, hay un tipo grande (de dónde viene el héroe) que también comienza con la clasificación, y yo también aprenderé apropiadamente de las notas del tipo grande.


1. ¿Qué es la complejidad del tiempo?

       Antes de comprender la complejidad del tiempo, primero presentamos un conocimiento: operación en tiempo constante .

1.1 Operaciones en tiempo constante:

       Cuando escribimos código, escribiremos algunas instrucciones. Estas instrucciones no tienen nada que ver con la cantidad de datos y son una operación de tiempo fijo . Esta es una operación de tiempo constante.

Aquí hay unos ejemplos:

       Algunas operaciones de expresión , direccionamiento de matrices , tomar un número de una matriz , etc.

       Después de comprender las operaciones de tiempo constante, comprendamos la complejidad del tiempo mediante la clasificación .

1.2 Complejidad del tiempo:

1.2.1 Clasificación:

       Primero, expliquemos el algoritmo de clasificación por selección. La clasificación por selección debería ser la más simple. A continuación se muestra una animación (se basa en el origen de los héroes). (¿ De dónde viene el héroe ?)

        Al calcular la complejidad del tiempo, generalmente se considera el peor paso ( se realizan todos los pasos ) . En orden de selección,

int main()
{
	int n = 0;
	scanf("%d", &n);
	int arr[10000];
	int minIndex = 0;
	int temp = 0;
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (int i = 0; i < n; i++)
	{
        minIndex = i;
		for (int j = i + 1; j < n; j++)
		{
			if (arr[minIndex] > arr[j])
			{
				minIndex = j;
			}
		}
		temp = arr[i];
		arr[i] = arr[minIndex];
		arr[minIndex] = temp;
	}
	for (int i = 0; i < n; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("\n");
	return 0;
}

      Para juzgar la calidad del tiempo de un algoritmo, (1) primero observe los indicadores de complejidad del tiempo de los dos algoritmos: si la complejidad del tiempo de los procesos de los dos algoritmos es la misma, entonces (2) ejecútelo con una muestra con una gran cantidad de datos y veras que el tiempo es menor. También existe una brecha en el tiempo fijo para operaciones constantes.

2. ¿Cuál es la complejidad del espacio adicional?

       La complejidad del espacio adicional es la cantidad de espacio adicional solicitado por el proceso durante la ejecución .


Resumir

       Hablaré de lo anterior hoy. Este artículo solo presenta brevemente la complejidad del tiempo y la complejidad del espacio adicional. Espero que dejéis comentarios después de leerlo, ¡gracias a todos!

Supongo que te gusta

Origin blog.csdn.net/2301_77868664/article/details/131860027
Recomendado
Clasificación