Algoritmos - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritmos

Description:

Algoritmos Algoritmos de B squeda Algoritmos de B squeda Definici n: Son algoritmos para encontrar un dato dentro de una estructura o arreglo - Se ha desarrollado ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 33
Provided by: csBuapMx
Category:
Tags: algoritmos

less

Transcript and Presenter's Notes

Title: Algoritmos


1
Algoritmos
2
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.
  • Es una secuencia de pasos computacionales para
    transformar la entrada en la salida.
  • Es una herramienta para solucionar un problema
    computacional bien especificado.

1
3
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
4
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 sub programas.
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
5
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 lt 0
1 si n 0
1 si n 1 n fac(n-1)
si n gt 1 Ejemplo instancia Entrada 3
Salida 6
fac(n)?
1
6
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
mn 0
mcd(n, mn) si mn gt
0 Ejemplo instancia Entrada 105, 6
Salida 3
mcd(n)?
1
7
Algoritmos de Búsqueda
8
Definición formal del problema de búsqueda
  • Entrada
  • secuencia de n números lta1, a2,..,angt
  • Un número b
  • Salida
  • un entero i, tal que b ai (igual)?
  • 0 si b ! ai, para i 1,...,n
  • Ejemplo instancia
  • Entrada lt5, 6, 9, 12gt y 9
  • Salida 3

1
9
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
10
Tipos de Búsqueda
  • - Búsqueda Secuencial.
  • - Búsqueda Binaria.

1
11
Búsqueda Secuencial
  • Consiste en ir comparando el elemento que se
    busca con cada elemento del arreglo hasta que se
    encuentra. Buscar M

0
1
2
3
4
5
6
7
8
9
1
12
Algoritmo Búsqueda Secuencial

1
13
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. Buscar 32

0
1
2
3
4
5
6
7
1
14
Algoritmo Búsqueda Binaria
1
15
Búsqueda secuencial bidimensional por filas
  • Algoritmo

1
16
Búsqueda secuencial bidimensional por columnas
  • Algoritmo

1
17
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
18
Algoritmos de Ordenamiento
19
Definición formal del problema de ordenamiento
  • Entrada
  • secuencia de n números lta1, a2,..,angt
  • Salida
  • Una permutación lta'1, a'2,..,a'ngt reordenamiento
    de la secuencia, tal que
  • a'1 lt a'2 lt ... lt a'n
  • Ejemplo instancia
  • Entrada lt5,3,1,6,0gt
  • Salida lt0,1,3,5,6gt

1
20
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
21
Algoritmos de Ordenamiento
  • Tipos de Algoritmos
  • 1.- Ordenamiento Burbuja.
  • 2.- Insertion-Sort
  • 3.- Quick-Sort
  • etc...

1
22
Ordenamiento Burbuja
  • El algoritmo consiste en que los elementos más
    pesados se hundan y los más livianos salgan a
    flote.

1
23
Ordenamiento Burbuja
  • Algoritmo

1
24
Ordenamiento Por inserción
25
Ordenando una lista en forma alfabética (cont.)?
26
Ordenando una lista en forma alfabética (cont.)?
27
Algoritmo de sort por inserción en pseudocódigo
28
Algoritmos de Ordenamiento
  • Ejercicios
  • - Ordenar un conjunto de n enteros de menor a
    mayor.
  • - Lo mismo pero en lista encadenada

1
29
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
30
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
31
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).

32
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.
Write a Comment
User Comments (0)
About PowerShow.com