PDF de programación - Algoritmos y estructuras de datos

Imágen de pdf Algoritmos y estructuras de datos

Algoritmos y estructuras de datosgráfica de visualizaciones

Publicado el 8 de Abril del 2020
862 visualizaciones desde el 8 de Abril del 2020
140,3 KB
11 paginas
Creado hace 11a (03/07/2012)
Algoritmos y estructuras de 

datos

Dr. Eduardo A. Rodríguez Tello

Laboratorio de Tecnologías de Información

Cinvestav‐Tamaulipas
Cinvestav Tamaulipas

[email protected]

Cursos de inducción a la MCC

© Cinvestav‐Tamaulipas 2012

1

Temario

O d

t

Introducción
I.
Estructuras de datos estáticas y dinámicas
II. Estructuras de datos estáticas y dinámicas
II
III. Tipos de datos abstractos
IV. Ordenamientos
i
V. Búsquedas
C
t
Conceptos
Búsquedas en listas
Búsquedas en árboles
Búsquedas en árboles

a.
b.
c
c.

VI. Resumen

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

2

Búsquedas

 Consiste en solucionar un problema de membresía de
un elemento determinado en un conjunto finito de
un elemento determinado en un conjunto finito de
elementos

 Un algoritmo de búsqueda está diseñado para localizar
 Un algoritmo de búsqueda está diseñado para localizar
un elemento concreto dentro de una estructura de
datos

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

3

Algoritmos de búsqueda

 Búsqueda Secuencial
 Búsqueda Binaria
 Búsqueda Binaria
 Hashing
 Bú
d
 Búsqueda en Arboles Multiway
 Búsqueda en Trie
 Hashing Dinámico
 Búsqueda de claves múltiples

H hi Di á i

A b l M lti

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

4

Búsquedas en listas: secuencial

 Se trata de encontrar un elemento dado en una lista observando cada

elemento en la lista para verificar si es el elemento buscado

 Para listas sin ordenar,

secuencial

LinearSearch(List, SearchKey)
LinearSearch(List, SearchKey)

lo único que se puede hacer es una búsqueda

if  (List is not empty)

then {

TestEntry  first entry in List
while  (SearchKey > TestEntry

TestEntry  next entry in List
T tE t
Li t

t

t

i

AND entries remaining)  do

if  (SearchKey = TestEntry)

then  

succes!

failure!

} else

else  

failure!

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

5

Búsquedas en listas: binaria

 Método de búsqueda que progresivamente va

generando mejores suposiciones
generando mejores suposiciones

 Es un algoritmo de tipo divide y vencerás dicotómico

int binarySearch(List, SearchKey, starting, ending) 

if ending < starting 

return ‐1 

mid = (starting + ending) / 2
mid = (starting + ending) / 2 
if List[mid] = value
return mid 
if List[mid] > value 

ending = mid ‐ 1 

if List[mid]< value

starting = mid + 1

return binarySearch(List, SearchKey, starting, ending) 

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

6

Búsquedas en árboles binarios no ordenados

 Mismo principio que un recorrido, ya sea en amplitud
o en profundidad solo que la búsqueda termina
o en profundidad, solo que la búsqueda termina
cuando:
 se encuentra el elemento (éxito) o
 cuando se ha recorrido todo el árbol sin encontrarlo

(fracaso)

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

7

Búsquedas en árboles binarios ordenados

 Mismo principio que un recorrido en profundidad
 La clave buscada se compara con la clave del nodo raíz
 La clave buscada se compara con la clave del nodo raíz
 Si las claves son iguales, la búsqueda se detiene
 Si la clave buscada es mayor que la clave raíz, la búsqueda se

q

q

y

,

reanuda en el subárbol derecho.

 Si la clave buscada es menor que la clave raíz, la búsqueda se

reanuda en el subárbol izquierdo
i d

bá b l i

d

l

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

8

Temario

Introducción
I.
Estructuras de datos estáticas y dinámicas
II. Estructuras de datos estáticas y dinámicas
II
III. Tipos de datos abstractos
IV. Ordenamientos
i
V. Búsquedas
VI. Resumen

O d

t

R

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

9

Resumen

 Estructuras de datos estáticas y dinámicas

Estáticas: arreglos y estructuras


 Dinámicas: apuntadores y listas ligadas
 Dinámicas: apuntadores y listas ligadas

 Tipos de datos abstractos

 Listas
 Colas
 Colas
 Pilas
 Arboles
 Grafos
 Grafos

 Ordenamientos

 De listas: Bubble sort, Quick sort
 De árboles

D á b l
 Búsquedas

 En listas: secuencial y binaria
 En árboles

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

10

Referencias

 Weiss, Mark A. Data Structures and Algorithm Analysis

in C++ 3rd Ed Addison‐Wesley 2007
in C++, 3rd Ed. Addison Wesley, 2007.

 Joyanes Aguilar,

C++:
Algoritmos, estructuras de datos y objetos. McGraw
Algoritmos, estructuras de datos y objetos. McGraw
Hill, 2000.

Luis.

Programación

en

Cursos de inducción a la MCC

Estructuras de datos

© Cinvestav‐Tamaulipas 2012  

11
  • Links de descarga
http://lwp-l.com/pdf17508

Comentarios de: Algoritmos y estructuras de datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad