Professional Documents
Culture Documents
ArquitecturadeComputadoras
Ing.JaimeMarinezVillanueva
EstructuradeDatos
ArquitecturadeComputadoras
Ing.JaimeMarinezVillanueva
Definicin
Definicion
Definicion
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
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
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
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
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