[Diseño y análisis de algoritmos] Capítulo 1 Introducción

Acerca de la introducción

(Algoritmo + estructura de datos) = programa

Turing: el padre de la informática y la inteligencia artificial.
Premio Turing: Premio Nobel en el mundo de la informática.
Prueba de Turing.

Propiedades relacionadas con el algoritmo: entrada, salida, certeza, finitud

Algoritmo: un método o proceso para resolver un problema.

Corrección del algoritmo

Un algoritmo es correcto si finalmente se detiene para cada entrada y produce la salida correcta.

La depuración del programa solo puede demostrar que el programa es incorrecto, ¡no que esté libre de errores!

Complejidad del algoritmo

Complejidad del tiempo

El tiempo necesario para que un algoritmo se ejecute en una computadora abstracta
(el número de operaciones atómicas o "pasos" necesarios para producir un resultado en una entrada específica)
T = T (N, I) T = T (N, I)T=T ( N ,Yo )

N: Escala del problema
I: Entrada

1. La complejidad del tiempo en el peor de los casos 2. La complejidad del tiempo en el
mejor de los casos 3. La complejidad del tiempo en el
caso medio

Token de complejidad de tiempo

f (N) yg (N) son funciones positivas definidas en el conjunto de números positivos.
Si hay un número normal CCC y número naturalN 0 N_0norte0

1, mundo superior OOEL

f (N) f (N) f ( N ) está acotado cuando N es suficientemente grande: cuandoN ≥ N 0 N \ geq N_0nortenorte0Cuando, f (N) ≤ C g (N) f (N) \ leq Cg (N)f ( N )C g ( N )g (N) g (N)g ( N ) esf (N) f (N)un límite superior de f ( N )

f(N)=O(g(N))

O (1) <O (log 2 n) <O (n) <O (nlog 2 n <O (n 2) <⋅ ⋅ ⋅ <O (2 n) <O (n!) <O (nn) O (1) <O ({log} _2n) <O (n) <O (n {log_2} n <O (n ^ 2) <··· <O (2 ^ n) <O (n!) <O (n ^ n) O ( 1 )<O ( l o g2n )<O ( n )<O ( n l o g2norte<O ( n2 )<<O ( 2n )<Oh ( n ! )<O ( nn )

2. Límite inferior Ω \ OmegaΩ

f (N) f (N) f ( N ) está acotado cuando N es suficientemente grande: cuandoN ≥ N 0 N \ geq N_0nortenorte0Cuando, f (N) ≥ C g (N) f (N) \ geq Cg (N)f ( N )C g ( N )g (N) g (N)g ( N ) esf (N) f (N)un límite inferior de f ( N )

f(N)=Ω(g(N))
Complejidad polinomial

Algoritmo eficiente, hardware de apilamiento

Complejidad exponencial

Algoritmos ineficientes, apilar hardware es inútil

3. El mismo orden θ \ thetaθ

f (N) f (N) f ( N ) es equivalente ag (N) g (N)g ( N ) mismo orden: si y solo sif (N) = O (g (N)) f (N) = O (g (N))f ( N )=O ( g ( N ) )f (N) = Ω (g (N)) f (N) = \ Omega (g (N))f ( N )=Ω ( g ( N ) )

f(N)=θ(g(N))

Algoritmo

O(f) + O(g) = O(max(f,g))
O(f) + O(g) = O(f + g)
O(f)O(g) = O(fg)g(N) = O(f(N)),则O(f) + O(g) = O(f)
O(Cf(N)) = O(f(N)),其中C是一个正的常数
f = O(f)

Complejidad espacial

La cantidad de espacio de almacenamiento requerido por un algoritmo para producir resultados para una entrada específica
S = S (N, I) S = S (N, I)S=S ( N ,Yo )

Supongo que te gusta

Origin blog.csdn.net/qq_44714521/article/details/107077150
Recomendado
Clasificación