Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 1/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
1.3 Complejidad.
1.3.1 Tiempo de ejecución de un algoritmo.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 2/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Introducción a la materia
a) Simples
b) Estructurados
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 3/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
a) Datos Simples:
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 4/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Es
de uno de los conceptos
programación. fundamentales
Estos definen de cualquier
los métodos lenguaje
de almacenamiento
disponibles para representar información, junto con la manera
en que dicha información ha de ser interpretada.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 5/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Definición de bit
Unidad mínima de información digital que puede ser tratada por una computadora.
Proviene de la contracción de la expresión binary digit (dígito binario), y puede tener dos
Definición de byte
Simboliza un carácter en una computadora (ej. una letra). .
Conjunto significativo de ocho bits que representan un carácter, por ejemplo la letra "a",
en un sistema informático.
Definición de carácter
Cualquier signo tipográfico. Puede ser una letra, un número, un signo de puntuación o un
espacio.
Definición de ascii
American Standard Code for Information Interchange. Estándar Americano para
Intercambio de Información. La tabla básica de caracteres ASCII está compuesta por 128
caracteres incluyendo símbolos y caracteres de control. Existe una versión extendida de
256.
Conjunto de normas de codificación de caracteres mediante caracteres numéricos, de
a su vez(los
básicos un dato simple
de nivel másobajo)
estructurado. Sin tipo
de cualquier embargo, los componentes
estructurado son datos
simples. Se ejemplifica un dato estructurado en la siguiente figura :
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 7/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 8/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
• Algoritmo de ordenamiento
• Algoritmo de búsqueda
Es aquel que está diseñado para localizar un elemento concreto dentro de una
estructura de datos. Consiste en solucionar un problema booleano de
existencia o no de un elemento determinado en un conjunto finito de
elementos, es decir al finalizar el algoritmo este debe decir si el elemento en
cuestión existe o no en ese conjunto (si pertenece o no a él), además, en caso
de existir, el algoritmo podría proporcionar la localización del elemento dentro
del conjunto.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 9/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
respuesta)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 10/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 11/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
a nivel defísicos
recursos anécdota. A efectos
necesarios prácticos
para que uno programa
ingenieriles,
se nos debenAunque
ejecute. preocupar los
puede
haber muchos parámetros, los mas usuales son el tiempo de ejecución y la
cantidad de memoria (espacio).
Ocurre con frecuencia que ambos parámetros están fijados por otras razones y se
plantea la pregunta inversa: ¿cual es el tamaño del mayor problema que puedo
resolver en T segundos y/o con M bytes de memoria?
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 12/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Así, para un vector se suele utizar como N su longitud; para una matriz, el
número de elementos que la componen; para un grafo, puede ser el número
de nodos (a veces es mas importante considerar el número de arcos,
dependiendo del tipo de problema a resolver), en un archivo se suele usar el
número de registros, etc.
Es imposible dar una regla general, pues cada problema tiene su propia lógica
de coste.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 13/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Tiempo de Ejecución
Una medida que suele ser útil conocer es el tiempo de ejecución de un programa en
función de N, lo que denominaremos T(N).
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 14/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Esto hace que mas que un valor T(N) debamos hablar de un rango de valores
Tmin(N) ⇐ T(N) ⇐ Tmax(N)
los extremos son habitualmente conocidos como “caso peor” y “caso mejor”.
Dado que es fácil cambiar de compilador y que la potencia de los ordenadores crece
a un ritmo vertiginoso (en la actualidad, se duplica anualmente), intentaremos
analizar los algoritmos con algún nivel de independencia de estos factores; es decir,
buscaremos estimaciones generales ampliamente válidas.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 15/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Aritmética de notación
• Existen diversas formas para representar
nuestros algoritmos y estas representaciones
pueden ayudarnos en la comprensión de los
mismos; así como poderlos trasladar a algún
lenguaje de programación.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 16/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
NOTACIONES:
• Notaciones matemáticas
– Función factorial: Es el producto de los n
números enteros positivos que van desde 1
hasta n
Ejemplo:
n! 2!= 1.2=2 3!= 1.2.3=6 4!=1.2.3.4=24
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 17/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
NOTACIONES:
• Notaciones matemáticas
– Simbolo de la suma (sumatorio)
El simbolo sumatorio es ∑
Ejemplo:
Sea la secuencia a1, a2, a3, a4,……..an
Las sumas
a1+a2+a3+a4+ ……. +an = ∑ a n
J=1
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 18/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
NOTACIONES:
NOTACION INFIJA:
Los operadores aparecen en medio de los operandos.
A + B, A – 1, E/F, A * C , A ^ B , A + B + C
NOTACION PREFIJA:
El operador aparece antes de los operandos.
+ AB, - A1, /EF, *AC, ^AB, ++ABC
NOTACION POSTFIJA:
El operador aparece al final de los operandos.
AB+, A1-, EF/, AC*, AB^, AB+C+
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 19/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Estructuras de control
Modulo B Modulo B
Modulo C
Modulo C
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 20/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Estructuras de control
alguna alternativa
estructuras recibenentre varias.de
el nombre Este tipo de
estructura
condicionadas
– Alternativa simple
– Alternativa doble
– Alternativa múltiple
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 21/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Estructuras de control
• Alternativa simple:
si condición, entonces:
[Modulo A]
[Final de la estructura condicional]
• Alternativa doble:
si condición, entonces:
[Modulo B]
[Fin de la estructura condicional]
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 22/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Estructuras de control
• Alternativa doble:
si condicion(1), entonces:
[Modulo A1]
si No Si condicion(2), entonces:
[Modulo A2]
si No Si condicion(M), entonces:
[Modulo AM]
si No:
[Modulo B]
[Final de la estructura condicional]
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 23/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Estructuras de control
• Lógica iterativa (flujo repetitivo): ciclos
– Ciclo Repetir-Mientras
Repetir-Mientras condición:
[Modulo]
[Fin del ciclo]
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 24/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
[Fin hemos
5.[¿lo del cicloencontrado?]
del paso 2].
Si LUG=0, entonces:
Escribir: ITEM no pertenece al arreglo DATOS.
Si No:
Escribir: LUG es la posición que ocupa ITEM.
6. [Fin
Salirde la estructura condicional].
La complejidad esta dada por?
el número de comparaciones C entre ITEM y DATOS[K]
Caso peor:
Que ITEM sea el Ultimo Elemento
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 25/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Complejidad
Por que ?
• Legibilidad
•
Costo en mantenimiento
• Se tienen que aportar criterios que midan la
eficiencia
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 26/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 27/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Relación espacio-tiempo
Tenemos un archivo con datos de nombres seguro social etc.
Si se desea encontrar un nombre cual es el mejor método?
la busqueda binaria
Si lo que conocemos es el numero de seguro que método es mejor?
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 28/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 29/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Algoritmos
¿Qué es un algoritmo?
es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o
resolver un problema dado.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 30/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Algoritmos
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 31/67
5/27/2018
Análisis de algoritmos
EstructuradeDatosISCUnidad1-slidepdf.com
Introducción
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 32/67
5/27/2018
Análisis de algoritmos
EstructuradeDatosISCUnidad1-slidepdf.com
Tasa de crecimiento:
Es una medida importante de la eficiencia de un programa ya
que predice cuanto tiempo se requerirá para entradas muy
grandes de un determinado problema.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 33/67
5/27/2018
Análisis de algoritmos
EstructuradeDatosISCUnidad1-slidepdf.com
• El tiempo
• El espacio
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 34/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de algoritmos
Introducción
En ocasiones pueden existir varios algoritmos para resolver una aplicación particular
(A1, A2, …,An).
memoria)?
Solución 1 (a posteriori, medida experimental). La solución más sencilla parece ser
implementar los algoritmos en algún lenguaje de programación y medir el tiempo de
ejecución que cada uno de ellos requiere para resolver el problema.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 35/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de algoritmos
Introducción
En la solución 1, resulta muy costoso (por no decir imposible), implementar todos los
algoritmos para poder realizar la comparación de los tiempos de ejecución.
•El compilador utilizado (calidad del código generado). Cada compilador utiliza
diferentes estrategias de optimización, siendo algunas más efectivas que otras.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 36/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de algoritmos
Introducción
existe=i<N
V busca Operaciones Tiempo Mseg
5 6 7 8 9 10 5 i=0 1
0<6 && v[0]=! 5 1
existe= 0<6 1
TA(n)= 3
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 37/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de algoritmos
Introducción
TA(n)= 11
Esto implica que, por más que se conozca el tamaño de los datos de entrada, es
imposible (para muchos problemas) determinar el tiempo de ejecución para cada
Análisis de Algoritmos
Introducción
Nosotros trabajaremos con el TA(n) en el peor de los casos (O), ya que es mucho más
fácil definir cuál es el peor de los casos, que considerarlos todos o incluso que
considerar el caso promedio.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 39/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Complejidad
Concepto de complejidad:
Cuando se dice que T(n)=O(f(n)) se esta garantizando que la
Es tratar de encontrar un función f(n), que acote el crecimiento de la función tiempo,
funcion T(n) crece a una velocidad no mayor que f(n)
para poder decir:
Que en ningún caso TA(n) se comporta peor que f al aumentar el tamaño del
problema.
Así
Así sea T(n) el tiempo de f(n) esde
ejecución una cota
algún superior
programa, de T(n)
medido por una función de
la entrada de tamaño n, esta función supondrá
Y que:
1. El argumento n es un entero
T(n) esno una
negativo
cota inferior de f(n)
2. T(n) es no negativo para todos los argumentos n
TA (n) es un O(f(n)), leído como “O de f(n)”, si existe una constante positiva c, tales
que, TA(n) <= cf(n)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 40/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Complejidad
O(1) constante
O(log n) logarítmico
O(n) lineal
O(n2) cuadrático
n
O(na) Polinomial a>2
O(an) Exponencial, a>2
O(n!) factorial Crecimiento de las funciones típicas de complejidad de
algoritmos
Análisis de Algoritmos
Complejidad
O(1) Significa que la mayoría de las instrucciones se ejecutan una vez o muy pocas
O(n2) Suele ser habitual cuando se tratan pares de elementos de datos, como por
ejemplo un bucle anidado doble. Si N se duplica, el tiempo de ejecución
aumenta cuatro veces.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 42/67
5/27/2018
Análisis de Algoritmos
EstructuradeDatosISCUnidad1-slidepdf.com
Logaritmo
• Logaritmo de un numero: Es el exponente a que hay que elevar otro número llamado base
para obtener el numero dado
• Base: cualquier numero positivo
5º=1
5¹=5
5²=25
5³=125
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 43/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Complejidad
Los algoritmos de tipo polinómico (O(nª)) no son una maravilla, y se enfrentan con
dificultad a problemas de tamaño creciente.
Mientras complejidades del orden O(n 2) y O(n3) suelen ser efectivamente abordables,
prácticamente nadie acepta algoritmos de orden O(n 100), por muy polinómicos que
sean.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 44/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
Teorema 1:
Este teorema expresa una de las bases del análisis de algoritmos: lo importante no es
el valor exacto de la función que ocota el tiempo, sino su forma. Esto permite eliminar
todos los Factores constantes de la función cota.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 45/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
Teorema 2:
Ejemplo:
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 46/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
Teorema 3
Tal que TA2 es O(f2(n)) y TA1 es O(f1(n)), el tiempo de ejecución del programa
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 47/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
Donde: en los bucles con contador explícito, podemos distinguir dos casos, que el
tamaño N forme parte de los límites o que no. Si el bucle se realiza un número fijo de
veces, independiente de N, entonces la repetición sólo introduce una constante
multiplicativa que puede absorberse.
K= constante
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 48/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
algo_de_O(1) algo_de_O(1)
} }
} }
Análisis de Algoritmos
Aritmética en notación O
El caso peor es
cuando j se
for (int i= 0; i < N; i++) { ejecuta N veces
for (int j= 0; j < i; j++) {
algo_de_O(1)
}
}
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 50/67
A 4 iteraciones
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
LOG 4 = 16
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 51/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Aritmética en notación O
if
return 1; O(max(1,1))=O(1)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 52/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
Calcular la complejidad:
TA(n)=O(max(1,n,1)=O(n)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 53/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución, calculando el numeró de operaciones
– La línea (5) está formada por una condición y un acceso al vector (2 OE).
– La línea (7) contiene un RETURN (1 OE), cuando la condición del IF anterior es falsa.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 54/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
En el caso peor:
adicional
n
T(n) = 1+ ((∑ (4 + 2) +4 ) +2 + 1 = 1+4n+2n+4+2+1 =6n+8=O(n)
i=1
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 55/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución: calcular la complejidad directa
y con operaciones OE
n n n
T(n) =1+ ∑(3 + 1+∑ (3+4 ))= 1+ ∑(3 + 1+7n) = 1+ 4n +7n2 = O(n2)
i=1 J=1 i=1
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 56/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
El ciclo i en el
int PosMenor(int vec[ ], int desde, int N) { peor de los
casos recorre
int i,menor=desde; todos los
for(i=desde+1 ; i<N; i++) { elementos
n
TA(n)=1+2+∑(3+3+1)+3+1 = 7n+7 = O(n)
i=1
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 57/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
{ pos=PosMenor(vec,i,N); O(n)
temp=vec[i]; O(1)
O(max(n,1,1,1)) = O(n) N*O(n)=O(n2)
vec[i]=vec[j]; O(1)
vec[j]=temp; O(1)
}
Llamada
} posmenor
n n n
TA(n)=1+∑(4+ 1+(1+2+ ∑(3+3+1)+3+1) + 5)+4= TA(n)=1+ ∑(4+1+( 7n + 7)+5)+4= 1+4n+n+7n2+7n+5n+4
i=1
i=1 i=1 = 7n2+17n+5
=O(n2)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 58/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
{ int k,i;
i=1;
while (k<=N)
{ K=i;
while (k <=N)
k++;
k=1;
while (k<=i)
k++;
i++
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 59/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
{ int k,i;
i=1; O(1)
while (k<=N) n
{ K=i; O(1)
while (k <=N) n n*O(n) =
O(max(1,
k++; n*O(1) = O(n) O(n2) n2))=O(n
O(1)
2)
k=1; O(1) O(max(1,n,,n,1))=O(n)
while (k<=i) n
n*O(1) = O(n)
k++; O(1)
i++
O(1)
}
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 60/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
{ int k,i,t;
i=1;
while (i<=N-1)
{ K=I+1;
while (k<=N)
{ t=1;
while (t<=k)
t++;
k++;
i++;
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 61/67
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Análisis de Algoritmos
Tiempo de ejecución
{ int k,i,t;
i=1; O(1)
while (i<=N-1) N
O(N3)
{ K=I+1; O(1)
{ t=1; o(1)
t++; o(1)
k++; o(1)
i++; O(1)
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 62/67
Análisis de Algoritmos
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
Complejidad en espacio
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 63/67
5/27/2018
Análisis de Algoritmos EstructuradeDatosISCUnidad1-slidepdf.com
Selección de un algoritmo
descartar.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 64/67
5/27/2018
Análisis de Algoritmos EstructuradeDatosISCUnidad1-slidepdf.com
Selección de un algoritmo
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 65/67
Selección De Un Algoritmo
5/27/2018 EstructuradeDatosISCUnidad1-slidepdf.com
sencillo de entender calcular codificar y depurar, así mismo que utilice eficientemente
los recursos del ordenador y se ejecute con la mayor rapidez posible con un eficaz uso
de memoria dinámica y estática.
También para seleccionar correctamente el mejor algoritmo es necesario realizar estas
preguntas:
¿Qué grado de orden tendrá la información que vas a manejar?
Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo
sencillo como el ordenamiento burbuja será suficiente. Si por el contrario los datos
van a estar muy desordenados,
un algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes
hacer una presunción sobre el grado de orden de la información, lo mejor será elegir
un algoritmo que se comporte de manera similar en cualquiera de estos dos casos
extremos.
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 66/67
5/27/2018
¿Qué cantidad de datos vas a manipular? Si la cantidad es pequeña, no es necesario
EstructuradeDatosISCUnidad1-slidepdf.com
¿Qué tipo de datos quieres ordenar? Algunos algoritmos sólo funcionan con un tipo
específico de datos
(enteros, enteros positivos, etc.) y otros son generales, es decir, aplicables a
http://slidepdf.com/reader/full/estructura-de-datos-isc-unidad-1 67/67