You are on page 1of 42

Arquitecturadecomputadoras

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

EstructuradeDatos

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Definicin
Definicion
Definicion

Una coleccin de datos cuya organizacin se


caracteriza por las funciones de acceso que se usan
para almacenar y acceder a elementos individuales
dedatos.

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

TiposdeEstructuras
TiposdeEstructuras

Registros
Arreglos
Listas
Pilas
Colas
Arboles

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Registro
Registro

Untipodedatoestructuradoformadoporlauninde
varioselementosbajounamismaestructura

Estoselementospuedenser,datoselementales(entero,
real,carcter,...),obienotrasestructurasdedatos.
Acadaunodeesoselementosselellamacampo.

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Registro
Registro
ESTRUCTURAALUMNO
NOMBRE:char(50)
EDAD:Int

INSERTENOMBRE:Gonzalo
INSERTEEDAD:20

Nombre:Gonzalo
Edad:20
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Arreglos
Arreglos

Conjunto de datos o una estructura de datos


homogneos, finitos que se encuentran ubicados en
forma consecutiva en la memoria ram ( sirve para
almacenardatosenformatemporal).

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Arreglos
Arreglos

Calificaciones
Calificacin[1]........9.5
Calificacin[2]........8.5
Calificacin[3]........7.0

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Operacionessobrearreglos
Operacionessobrearreglos
l
Insercin
Modificacin
Eliminacin
Ordenacin
Bsquedas
Lasoperacionessepuedenhacersobrearreglos
ordenadosydesordenados
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Ejemplodeordenacinsobrearreglo
Ejemplodeordenacinsobrearreglo

ArregloDesordenado
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

12

15

32

35

40

50

ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin

AUX=A[1]
AUX=15
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

A[1]<A[0]

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin

AUX=A[2]
AUX=35
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

A[2]<A[1]

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin

AUX=A[3]
AUX=5
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

A[3]<A[2]Entonces[3]tomaelvalorde[2]y[2]tomaelvalordeAUX
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin
AUX=A[2]
AUX=5
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

A[2]<A[1]Entonces[2]tomaelvalorde[1]y[1]tomaelvalordeAUX

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

ProcedimientodeOrdenacin
ProcedimientodeOrdenacin
AUX=A[1]
AUX=5
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

10

35

32

50

40

12

A[1]<A[0]Entonces[1]tomaelvalorde[0]y[0]tomaelvalordeAUX

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin
AUX=A[4]
AUX=32
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

35

32

50

40

12

A[4]<A[3]Entonces[4]tomaelvalorde[3]y[3]tomaelvalordeAUX

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

32

35

50

40

12

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin
AUX=A[5]
AUX=50
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

32

35

50

40

12

A[5]<A[4]

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin
AUX=A[6]
AUX=40
[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

32

35

50

40

12

A[6]<A[5]Entonces[6]tomaelvalorde[5]y[5]tomaelvalordeAUX

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

32

35

40

50

12

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Procedimientodeordenacin
Procedimientodeordenacin

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

15

32

35

40

50

12

[0]

[1]

[2]

[3]

[4]

[5]

[6]

[7]

10

12

15

32

35

40

50

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Listas
Listas

Listassimplesenlazadas
Listasdoblementeenlazada
Listasenlazadascirculares

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Listasimpleenlazada
Listasimpleenlazada

La lista enlazada es un TDA que nos permite


almacenardatosdeunaformaorganizada.
Esta estructura es dinmica, por lo que no tenemos
que saber lo que le antecede, En una lista enlazada
cada elemento apunta al siguiente excepto el ltimo
quenotienesucesoryelvalordelenlaceesnull.

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Listasimpleenlazada
Listasimpleenlazada

3F5000AC

34

4F3000EF

2F5000AC

135000AC

14

3F500 0A3
F50

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
B

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

4
F
3
0
0
0
E
F

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C
00CC

3
F
5
0
0
0
A
C

2
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

1
3
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

3
F
5
0
0
0
A
C

Elpunteroguardaladireccindememoriadelprimer
segmentodelnodo

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Listadoblementeenlazada
Listadoblementeenlazada
Un tipo de lista enlazada ms sofisticado es la lista
doblemente enlazada o lista enlazadas de dos
vas. cada nodo tiene dos enlaces: uno apunta al nodo
anterior, o apunta al valor null si es el primer nodo; y
otro que apunta al nodo siguiente, o apunta al valor
nullsieselltimonodo.

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Listasenlazadascirculares
Listasenlazadascirculares

Enunalistaenlazadacircular,elprimeryel ltimo
nodo estn unidos juntos. esto se puede hacer tanto
para listas enlazadas simples como para las
doblementeenlazadas.

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Pilas
Pilas

Una pila (stack en ingls) es una lista ordinal o


estructuradedatosenlaqueelmododeaccesoasus
elementosesdetipoLIFO(delinglslastinfirstout,
ltimo en entrar, primero en salir) que permite
almacenaryrecuperardatos.
Se aplica en multitud de ocasiones en informtica
debidoasusimplicidadyordenacinimplcitaenla
propiaestructura

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Pilas
Pilas

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

OperacionessobrePilas
OperacionessobrePilas

crear:secrealapilavaca.
apilar:seaadeunelementoalapila.(push)
desapilar:seeliminaelelementofrontaldelapila.
cima:devuelveelelementoqueestaenlacimadela
pila.
vaca:devuelveciertosilapilaestvacaofalsoen
casocontrario.

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Colas
Colas

Esunaestructuradedatos,caracterizadaporseruna
secuencia de elementos en la que la operacin de
insercinpushse realiza por un extremo y la
operacin de extraccinpor el otro. tambin se le
llama estructurafifo(del inglsfirst in first out),
debido a que el primer elemento en entrar ser
tambinelprimeroensalir.

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Colas
Colas

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

OperacionessobreColas
OperacionessobreColas
Crear:secrealacolavaca.
Encolar(aadir,entrar,push):seaadeunelemento
alacola.seaadealfinaldeesta.
Desencolar(sacar,salir,pop):seeliminaelelemento
frontaldelacola,esdecir,elprimerelementoque
entr.
Frente(consultar,front):sedevuelveelelementofrontal
delacola,esdecir,elprimeroelementoqueentr.
ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Arboles
Arboles

Es unaestructura de datosampliamente usada que


imita la forma de un rbol (un conjunto de nodos
conectados).
Unnodoes la unidad sobre la que se construye el
rbolypuedetenerceroomsnodoshijosconectados
al

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Tiposdearboles
Tiposdearboles

rbolbinario
rbolbinariolleno
rbolbinarioperfecto

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

rbolbinario
Esunrbolconrazenelquecadanodotienecomo
mximodoshijos
M
R

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

rbolbinariolleno
Esunrbolenelquecadanodotieneceroodoshijos.
M

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

rbolbinarioperfecto
Es un rbol binario lleno en el que todas
lashojas(vrtices con cero hijos) estn a la misma
profundidad (distancia desde laraz, tambin
llamadaaltura).
M

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Operacionessobrearboles
Operacionessobrearboles
Enumerartodosloselementos.
Buscarunelemento.dadounnodo,listarloshijos(siloshay).
Borrarunelemento.
Eliminarunsubrbol(algunasvecesllamadapodar).
Aadirunsubrbol(algunasvecesllamadainjertar).
Encontrarlarazdecualquiernodo.
ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Construccindeunarbolbinario
Construccindeunarbolbinario

50

10

70

30

80

20

60

Primerelementoeslaraiz
Loselementosmenoresvanalaizquierda
Loselementosmayoresvanaladerecha
Enunsubarbolelordeneselmismo

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Tiposderecorridos
Tiposderecorridos

Preorden
Inorden
Postorden

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Preorden
Preorden

Primerolaraiz
Nodoizquierdo
Nododerecho

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Inorden
Inorden

Nodoizquierdo
Raiz
Nododerecho

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Postorden
Postorden

Nodoizquierdo
Nododerecho
Raiz

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

Ejercicios
...

ArquitecturadeComputadoras
ArquitecturadeComputadoras

Ing.JaimeMarinezVillanueva
Ing.JaimeMarinezVillanueva

You might also like