Presentación Estructura de Datos Avanzada

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 15

Estructuras de datos avanzadas

Andreina de la Cruz 2019-0348


Erick Mena 2018-3525
Cecilio A. Gonzalez  2019-1836
¿Qué es una estructura de datos ?
• Las estructuras de datos en programación son diferentes formas de
organizar información para manipular, buscar e insertar estos datos
de manera eficiente.
• Las estructuras de datos es una rama de las ciencias de la
computación que estudia y aplica diferentes formas de organizar
información dentro de una aplicación, para manipular, buscar e
insertar estos datos de manera eficiente.
Arrays
Punteros
Tipos de Pilas y Colas
estructuras de
datos  Listas Enlazadas
Arboles y Grafos
Aplicación de Técnicas
Arrays 
• Los arrays son una estructura que almacena los datos un elemento al lado del otro. En la mayoría de lenguajes
de programación esta estructura de datos es de tamaño fijo y no puede guardar datos de diferentes tipos, es
decir no puedo guardar valores numéricos y booleanos al mismo tiempo, aunque claramente hay
excepciones, por ejemplo: Javascript.
• Es recomendable usar arrays cuando el acceso a estos datos se realiza de manera aleatoria, en caso contrario
es recomendable usar las listas.
Punteros 
• Un «puntero» es una dirección de memoria. 
• Normalmente un puntero tendrá un tipo de datos asociado: por
ejemplo, un «puntero a entero» será una dirección de memoria en la
que habrá almacenado (o podremos almacenar) un número entero.

• Ejemplo sintaxis: int* posicion; /* "posicion" es un "puntero a


entero" (dirección de memoria en la que podremos guardar un
entero) */ (También es correcto escribir int *posicion)
¿Qué es un Árbol en
estructura de Datos?
Los árboles son estructuras de datos no lineales.
-Cada elemento conocido con el nombre de
NODO.
-Un árbol se define como una colección de nodos
donde cada uno además de almacenar
información, guarda las direcciones de sus
sucesores.
-Se conoce la dirección de uno de los nodos,
llamado raíz y a partir de el se tiene acceso a
todos los otros miembros de la estructura, grafos,
anidación de paréntesis y diagramas de venn.
Hijo: Es aquel nodo que
Hermano: Dos nodos son
siempre va a tener un nodo Padre: Es aquel que tiene
hermanos si son apuntados
antecesor o padre, son hijos y también puede tener
por el mismo nodo, es decir
aquellos que se encuentran o no antecesores.
si tienen el mismo padre.
en el mismo nivel.

Hoja o terminal: Son


Raíz: Es el nodo principal de Interior: Se dice que un nodo
aquellos nodos que no
un árbol y no tiene es interior si no es raíz ni
tienen hijos o también los
antecesores. hoja.
nodos finales de un árbol.

Nivel de un nodo: Se dice Altura del árbol: Se dice que


Grado de un nodo: se dice
que el nivel de un nodo es el la altura de un árbol es el
que el grado de un nodo es
número de arcos que deben máximo de los niveles
el número de hijos que tiene
ser recorridos, partiendo de considerando todos sus
dicho nodo.
la raíz para llegar hasta él. nodos.
• Los arboles binaries son
arboles de orden 2.

• Eso quiere decir que cada


nodo puede tener como
mucho dos hijos.

• Ejemplo: o tiene 0 o tienen 1


o tienen 2 hijos.

Arboles Binarios
Tipos de Aboles binarios

• Full Binary Tree:


• Este tipo de arbol todos los nodos tienen o
ningun hijo (son hojas) o tienen sus dos hijos.

• Complete Binary Tree:


• Es un tipo especial de arbol en el que el ultimo
nivel del arbol puede que no tenga ningun
hijo.
Arbol binario de busqueda
Un arbol Binario
Elementos Comparables
Que es un grafo?

• Un grafo es un conjunto de
puntos y un conjunto de
líneas, cada una de las
cuales une un punto con
otro.
• Los puntos se llaman nodos o
vértices de un grafo.
• Representación mediante matrices:

• Representación mediante listas:

• Representación mediante matrices dispersas:


Representación
de los grafos en
programas
¿Cual es la Utilidad de Datos
Avanzados en la Programacion?

• Las estructuras de datos son un medio


para manejar grandes cantidades de
datos de manera eficiente para usos
tales como grandes base de datos
(conjunto de archivos organizados) y
servicios de indización de Internet.

• Por lo general, las estructuras de datos


eficientes son clave para diseñar
eficientes algoritmos y algunos
métodos formales de diseño y
lenguajes de programación destacan
las estructuras de datos, en lugar de
los algoritmos, como el factor clave de
organización en el diseño de software.

También podría gustarte