Algoritmos
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

Algoritmos PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on
  • Presentation posted in: General

Algoritmos. Definiciones de Algoritmos. Es un procedimiento computacional bien definido que toma algún valor, o un conjunto de valores, como entrada y produce algún valor, o un conjunto de valores, como salida .

Download Presentation

Algoritmos

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Algoritmos

Algoritmos


Algoritmos

Definiciones de Algoritmos

  • Es un procedimiento computacionalbien definido que toma algún valor, o un conjunto de valores, comoentraday produce algún valor, o un conjunto de valores, como salida.

  • Es unasecuencia de pasoscomputacionales paratransformarla entrada en la salida.

  • Es una herramientapara solucionar un problema computacional bien especificado.

1


Algoritmos

Estratégia: Dividir para gobernar

Dividir el problema en subproblemas

En la resolución de un problema complejo, se divide en varios sub problemas y seguidamente se vuelven a dividir los sub problemas en otros mas sencillos, hasta que puedan implementarse en el computador.

1


Algoritmos

Diseño top-down

Se entiende como diseño descendente ( Top-Down / Norte-Sur ) o diseño modular:

El proceso de ruptura del problema en cada etapa se llama refinamiento sucesivo.

• Cada problema se resuelve mediante un modulo (subprograma) y tiene un solo punto de entrada y un solo punto de salida.

• Un programa bien diseñado consta de un programa principal (modulo de nivel mas alto) que llama a subprogramas (módulos de nivel mas bajo), que a su vez pueden llamar otros subprogramas.

  • Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de romper el programa en modos pequeños se llama programación modular.

1


Algoritmos

Definición formal del problema de búsqueda

Entrada:

  • secuencia de n números <a1, a2,..,an>

  • Un número b

    Salida:

  • un entero i, tal que b == ai (igual)

  • 0 si b != ai, para i = 1,...,n

    Ejemplo instancia:

    Entrada: <5, 6, 9, 12> y 9

    Salida: 3

1


Algoritmos

Definición formal del problema de ordenamiento

Entrada:

  • secuencia de n números <a1, a2,..,an>

    Salida:

  • Una permutación <a'1, a'2,..,a'n> reordenamiento de la secuencia, tal que:

    a'1 < a'2 < ... < a'n

    Ejemplo instancia:

    Entrada: <5,3,1,6,0>

    Salida: <0,1,3,5,6>

1


Algoritmos

Definición formal del problema cálculo del factorial

Entrada: Número entero n

Salida: Número entero fac(n) tal que:

0 si n < 0

1 si n == 0

1 si n == 1

n * fac(n-1) si n > 1

Ejemplo instancia:

Entrada: 3

Salida: 6

fac(n)

1


Algoritmos

Definición formal del problema máximo común divisor

Entrada: Números enteros m,n

Salida: Número entero mcd(n) tal que:

n si m%n == 0

mcd(n, m%n) si m%n > 0

Ejemplo instancia:

Entrada: 105, 6

Salida: 3

mcd(n)

1


Algoritmos de b squeda

Algoritmos de Búsqueda


Algoritmos de b squeda1

Algoritmos de Búsqueda

Definición:Son algoritmos para encontrar un dato dentro de una estructura o arreglo

- Se ha desarrollado un conjunto de algoritmos de búsqueda que varían en complejidad, eficiencia y tamaño del dominio de búsqueda.

- Si se conoce por anticipado en qué tipo de “orden” inicial se encuentran los datos, es posible elegir un algoritmo que sea más adecuado.

1


Tipos de b squeda

Tipos de Búsqueda

- Búsqueda Secuencial.

- Búsqueda Binaria.

1


B squeda secuencial

I

N

F

O

M

Á

T

I

C

A

Índice resultado = 4

M

M

M

M

M

Búsqueda Secuencial

Consiste en ir comparando el elemento que se busca con cada elemento del arreglo hasta que se encuentra.

0 1 2 3 4 5 6 7 8 9

1


Algoritmo b squeda secuencial

for (i=0; i < LARGO; i++)

if (a[i]==Elemento_buscado)

printf(“Elemento encontrado en: %d\n”, i);

Algoritmo Búsqueda Secuencial

1


B squeda binaria

3

5

8

20

32

45

60

73

Resultado = 4

32

32

32

Búsqueda Binaria

Los elementos del arreglo se encuentran ordenados y no están repetidos. En cada iteración el dominio de búsqueda se divide en 2.

0 1 2 3 4 5 6 7

1


Algoritmo b squeda binaria

tipo A[LARGO]

Max=LARGO-1;

min=0;

Encontrado=0;

while(min+1<max && !Encontrado){

Medio=(Max+min)/2

if (A[Medio]==Elemento){

printf(“Elemento Encontrado\n”);

Encontrado=1; /*Fuerza la salida del ciclo*/

}

if (A[Medio]<Elemento) Max=Medio;

if (A[Medio]>Elemento) min=Medio;

}

Algoritmo Búsqueda Binaria

1


Algoritmo de b squeda

Algoritmo de Búsqueda

Ejercicios:

- Crear un programa que busque un caracter dentro de un vector.

- Crear un programa que busque el número más pequeño en un vector.

- Buscar un número seleccionado dentro de un arreglo ordenado.

- Hacer lo mismo pero con una lista encadenada.

1


Algoritmos de ordenamiento

Algoritmos de Ordenamiento


Algoritmos de ordenamiento1

Algoritmos de Ordenamiento

Definición:

  • Son algoritmos que fueron realizados para ordenar un conjunto de datos. Los algoritmos varían según su facilidad de entendimiento, su eficiencia, cantidad de código necesario para implementarlos, complejidad, requisitos necesarios de los datos.

1


Algoritmos de ordenamiento2

Algoritmos de Ordenamiento

Tipos de Algoritmos:

1.- Ordenamiento Burbuja.

2.- Quick-Sort

1


Ordenamiento burbuja

25

25

25

15

15

1

1

32

15

15

25

1

15

15

15

32

1

1

25

25

25

1

1

32

32

32

32

32

Ordenamiento Burbuja

El algoritmo consiste en que los elementos más pesados se hundan y los más livianos salgan a flote.

1


Ordenamiento burbuja1

for (i=Largo-1;i>0;i--)

for (j=0;j<i;j++)

if (A[j]>A[j+1])

Intercambiar(A[j],A[j+1]);

Ordenamiento Burbuja

  • Algoritmo

1


Algoritmos de ordenamiento3

Algoritmos de Ordenamiento

Ejercicios:

- Ordenar un conjunto de n enteros de menor a mayor.

- Lo mismo pero en lista encadenada

1


B squeda secuencial bidimensional por filas

tipo A[filas][columnas]

for (i=0;i<filas;i++)

for (j=0;j<columnas;j++)

if (A[i][j]==elemento)

printf(“Encontrado en: A[%d][%d]\n”,i,j);

Búsqueda secuencial bidimensional por filas

Algoritmo:

1


B squeda secuencial bidimensional por columnas

tipo A[filas][columnas]

for (j=0;j<columnas;j++)

for (i=0;i<filas;i++)

if (A[i][j]==elemento)

printf(“Encontrado en: A[%d][%d]\n”,i,j);

Búsqueda secuencial bidimensional por columnas

Algoritmo:

1


Stack o pila

Stack o Pila

Definición:

  • Una pila es una estructura de datos, a la cual se le puede ingresar o sacar elementos por un sólo lado. También se conoce como LIFO (Last In First Out).

1


Stack o pila cont

Stack o Pila (cont.)

Operaciones básicas:

  • Insertar: inserta un elemento en el tope de la pila.

  • Sacar: Saca un elemento del tope de la pila.

  • Tope: Muestra el elemento ubicado en el tope de la pila.

  • Vacía: Retorna verdadero si la pila está vacía.

1


Algoritmos

Fila o cola

Definición:

  • Una pila es una estructura de datos, a la cual se le puede ingresar elementos por un lado y retirar por el otro. También se conoce como FIFO (First In First Out).


Algoritmos

Fila o cola (cont.)

Operaciones básicas:

  • Insertar: inserta un elemento alfinal de la fila.

  • Sacar: Saca un elemento del inicio de la fila.

  • Vacía: Retorna verdadero si la pila está vacía.


  • Login