2. Estructura de Datos
Víctor Viera Balanta
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
3. Estructura de Datos
Víctor Viera Balanta
INTRODUCCIÓN
La importancia de la estructura de datos
radica en ser la base para almacenamiento
de datos.
Este almacenamiento de datos permite
que los datos sean manipulados con
técnicas específicas que dependen de cada
estructura en la que son almacenan
temporalmente.
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
4. Estructura de Datos
Víctor Viera Balanta
INTRODUCCIÓN
Otra ventaja radica en la velocidad de
inserción, consulta, actualización, borrado
y listado de los datos almacenados en la
estructura de datos.
Lo anterior se denomina CRUD , por sus
siglas en ingles
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
5. Estructura de Datos
Víctor Viera Balanta
INTRODUCCIÓN
Haciendo una analogía, la estructura de
datos es el recipiente informático de los
datos. Así como el liquido toma la forma
del recipiente en que esta depositado, los
datos toman el comportamiento de la
estructura de datos donde están
almacenados
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
6. Estructura de Datos
Víctor Viera Balanta
INTRODUCCIÓN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
7. Estructura de Datos
Víctor Viera Balanta
INTRODUCCIÓN
La estructura de datos es utilizada en las
bases de datos, sistemas
operativos, gráficas por
computador, inteligencia
artificial, buscadores, análisis de
complejidad algorítmica…… y áreas donde
se necesiten obtener información rápida y
confiable.
8. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
VECTORES
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
9. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Los vectores son utilizados para el
aprendizaje , en algunos video juegos.
Brindan almacenamiento temporal y en
estos se puede insertar, borrar, actualizar y
listar datos.
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
10. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Un vector esta compuesto de
tamaño, número de elementos , tipo de
datos y un índice que apunta a un lugar
determinado del vector.
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
11. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Asigna el valor de 1 en la posición 0 del vector.
A[0]=1;
Suma uno a la primera posición del vector
A[0]+=1; A[0]=A[0]+1;
Suma toma el valor del dato en la posición cero
+ 3
Suma=A[0]+3;
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
12. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
15. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
18. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
19. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
20. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
21. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
22. Estructura de Datos
Víctor Viera Balanta
Vectores o Arreglos
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
23. Estructura de Datos
Víctor Viera Balanta
PILAS
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
24. Estructura de Datos
Víctor Viera Balanta
Pilas
La pila tiene el comportamiento que los
datos entran por un extremo de la
estructura y salen igualmente por el mismo
extremo
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
25. Estructura de Datos
Víctor Viera Balanta
Pilas
En la vida diaria se tienen ejemplos de pilas
como:
Pila de Objetos Camión
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
26. Estructura de Datos
Víctor Viera Balanta
Pilas
Las pilas tienen varias utilidades en la
informática:
• Invertir cadenas de caracteres
• Utilizadas en Compiladores
• Para evaluar expresiones postfijas
• Encontrar número capicúas
• Encontrar palabras palíndromas ….
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
27. Estructura de Datos
Víctor Viera Balanta
Pilas
Si se utilizan para invertir caracteres :
Ejemplo Invertir la palabra Color
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
28. Estructura de Datos
Víctor Viera Balanta
Pilas
Ejemplo Invertir la palabra Color
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
29. Estructura de Datos
Víctor Viera Balanta
Pilas
Cuando se ingresan los datos a la pila
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
33. Estructura de Datos
Víctor Viera Balanta
Pilas
Al extraer los datos de la pila, la
palabra se invierte
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
35. Estructura de Datos
Víctor Viera Balanta
Pilas
Comportamiento de la Pila
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
37. Estructura de Datos
Víctor Viera Balanta
Pilas
Comportamiento de la Pila
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
38. Estructura de Datos
Víctor Viera Balanta
Pilas
Comportamiento de la Pila
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
42. Estructura de Datos
Víctor Viera Balanta
Pilas
Estructura del programa
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
43. Estructura de Datos
Víctor Viera Balanta
Pilas
Estructura del programa
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
45. Estructura de Datos
Víctor Viera Balanta
Expresiones
Postfija
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
46. Estructura de Datos
Víctor Viera Balanta
A+B AB+
INFIJA POSTFIJA
EL OPERADOR VA AL FINAL DE LA EXPRESION
ACONTINUACIÓN SE PRESENTA EL ALGORITMO
PARA PASAR UNA EXPRESIÓN INFIJA A POSTFIJA
(X!2+3*X+5)*(2+X)=> X2!3X*+5+2X+*
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
47. Estructura de Datos
Víctor Viera Balanta
OPERADOR VALOR
+- 1
/* 2
POTENCIA(!) 3
PRECEDENCIA DE OPERADORES
48. Estructura de Datos
Víctor Viera Balanta
1. Se coloca un comodín, un paréntesis al
final de la expresión infija
2. Se coloca un paréntesis derecho en la
pila, estos simplemente sirven para evitar
que quede algo sin pasar a postfija (un
operadores o un operando)
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
49. Estructura de Datos
Víctor Viera Balanta
3. Se recorre de izquierda a derecha la infija
y repetidamente se realiza el siguiente
procedimiento:
a) Si se encuentra, en la infija, un
paréntesis izquierdo, este va a la pila
Si se encuentra un operando(número o
letra..) este va a la postfija
50. Estructura de Datos
Víctor Viera Balanta
c. Si se encuentra un operador “(+-*/!)” saco,
repetidamente de la pila los operadores
menores o iguales al el operador luego de esto
el operador encontrado en la postfija
va a la pila
d. Si encuentro un paréntesis derecho en la Infija
saco, repetidamente, de la pila los operadores
y los adiciono a la postfija, se descarta el
paréntesis izquierdo
51. Estructura de Datos
Víctor Viera Balanta
4. Termina el algoritmo hasta
encontrar el paréntesis derecho
que se adiciono en el punto 1
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
55. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
56. Estructura de Datos
Víctor Viera Balanta
En Cola o Fila los elementos entran por un
extremo y salen por otro. Se crea como
una especie de estructura de espera…..
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
57. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
La Colas son utilizadas en sistemas
operativos para ayudar a la administración
de procesos, memoria, entre otros.
Para estructura de datos se vera
únicamente el comportamiento de la Cola o
Fila. También existen otras áreas como la
teoría de colas.
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
59. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
61. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
66. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
68. Estructura de Datos
Víctor Viera Balanta
Colas o Filas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
70. Estructura de Datos
Víctor Viera Balanta
Listas
Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
71. Estructura de Datos
Víctor Viera Balanta
En Esta estructura de datos se presenta el
concepto de Nodo. El nodo tiene dos
partes, la parte del dato y la parte donde se
apunta a otro nodo.
Listas Enlazadas
72. Estructura de Datos
Víctor Viera Balanta
Haciendo una analogía una lista enlazada es
como una cadena, donde cada nodo es un
eslabón de la cadena. Se utilizan en
sistemas operativos, admón memoria,
procesos
Listas Enlazadas
73. Estructura de Datos
Víctor Viera Balanta
Representación de gráficas por
computadora,. También pueden
representar otras estructuras como pilas y
colas. Las listas son dinámicas.
Listas Enlazadas
74. Estructura de Datos
Víctor Viera Balanta
Las Listas enlazadas permiten la
inserción, el borrado, la actualización y el
listado de sus datos y nodos.
Listas Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
76. Estructura de Datos
Víctor Viera Balanta
Codificación en Java
Listas Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
82. Estructura de Datos
Víctor Viera Balanta
Codificación en Java
Listas Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
83. Estructura de Datos
Víctor Viera Balanta
BORRAR EL ÙLTIMO NODO
Listas Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
84. Estructura de Datos
Víctor Viera Balanta
BORRAR EN UNA POSICIÓN EN MEDIO
Listas Enlazadas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
88. Estructura de Datos
Víctor Viera Balanta
Colas
Circulares
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
89. Estructura de Datos
Víctor Viera Balanta
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
90. Estructura de Datos
Víctor Viera Balanta
RECURSIVIDAD
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
91. Estructura de Datos
Víctor Viera Balanta
La Recursividad se define cuando una
función se llama a si misma
Recursividad
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
93. Estructura de Datos
Víctor Viera Balanta
Recursividad
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
95. Estructura de Datos
Víctor Viera Balanta
Recursividad
Partes de las funciones Recursivas
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
98. Estructura de Datos
Víctor Viera Balanta
Recursividad
Resultados
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
99. Estructura de Datos
Víctor Viera Balanta
Recursividad
Fibonacci (no adecuada)
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
101. Estructura de Datos
Víctor Viera Balanta
Recursividad
Fibonacci (no adecuada)
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
103. Estructura de Datos
Víctor Viera Balanta
Arboles
Binarios
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
104. Estructura de Datos
Víctor Viera Balanta
Los Arboles binarios, estructura donde
cada nodo cuenta con máximo dos
hijos o sub-nodos
Arboles Binarios
105. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
106. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
107. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
108. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
CODIFICACIÓN EN JAVA
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
111. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Proceso de Inserción en el árbol binario
Recursivamente se coloca la raíz y
después, el dato menor que la raíz
se inserta como hijo izquierdo, el
dato mayor que la raíz se inserta
como hijo derecho
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
112. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Procedimiento
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
114. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Procedimiento con el programa
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
115. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Proceso de Recorridos
Los recorridos tratados aquí serán:
Recorrido Pre orden
Recorrido In orden
Recorrido Post Orden
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
116. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Proceso de Recorridos
Recorrido Pre orden
Recursivamente, se visita la Raíz, Luego el
Sub Arbol Izquierdo y el sub Arbol Derecho
Resumido es: Raíz, Izquierdo, Derecho
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
117. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Preorden (R,I,D)
45, 20, 80Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
118. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
45, 20,10, 22, 80, 75,100
PREORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
120. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
PREORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
121. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Proceso de Recorridos
Recorrido In orden
Recursivamente, se visita el sub Árbol
izquierdo, Luego la Raíz y el sub Árbol
Derecho
Resumido es: Izquierdo, Raíz, Derecho
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
122. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
In orden (I,R,D)
20, 45, 80Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
123. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
10,20,22,45,75,80,100
INORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
124. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
125. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
INORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
126. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
Proceso de Recorridos
Recorrido Post orden
Recursivamente, se visita el sub Árbol
izquierdo, el sub Árbol Derecho, y
después la Raíz
Resumido es: Izquierdo, Derecho, Raíz
127. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
In orden (I,D, R)
20, 80, 45Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
128. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
10,22,2075,100,80,45
INORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E
130. Estructura de Datos
Víctor Viera Balanta
Arboles Binarios
POSTORDEN
Canal: http://www.youtube.com/user/vieravictor01
http://www.youtube.com/playlist?list=PL2FC180FECDC9635E