Estructura de Datos
Estructura de Datos
Estructura de Datos
Lenguajes de programación 2
Matricula:
50183076
Docente:
Ing. Adrián Marquillo Navarrete
Noviembre 2019
Contenido
Estructura de datos ................................................................................................. 3
Arrays................................................................................................................... 3
Listas enlazadas .................................................................................................. 3
Colas .................................................................................................................... 4
Arboles binarios ................................................................................................... 4
Ejemplos estructuras de datos ................................................................................ 5
Java ..................................................................................................................... 5
Lista enlazada................................................................................................... 5
Pilas .................................................................................................................. 6
Cola .................................................................................................................. 7
Visual basic .......................................................................................................... 8
Arrays ............................................................................................................... 8
Matrices ............................................................................................................ 8
Phyton .................................................................................................................. 9
Listas ................................................................................................................ 9
Pilas ................................................................................................................ 10
Colas............................................................................................................... 10
Fuentes de información: ........................................................................................ 11
Estructura de datos
Las estructuras de datos son un medio para manejar grandes cantidades de datos
de manera eficiente para usos tales como grandes bases de datos y servicios de
indización de Internet. Por lo general, las estructuras de datos eficientes son clave
para diseñar algoritmos eficientes. 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.
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.
Listas enlazadas
Las listas enlazadas son un tipo de estructura de datos similar a los arrays con la
diferencia de que por defecto no tenemos por qué saber la cantidad de elementos
que va a contener. Estas listas se componen de nodos los cuales tienen dos
atributos: el primero es el ítem o elemento que va a contener este nodo y el
segundo atributo es una referencia al siguiente elemento de la lista.
Pilas
Las pilas son un tipo de listas que tienen la particularidad de sólo poder eliminar o
insertar en la cima de la lista. A estas acciones se le conocen como apilar y
desapilar y conlleva a que el último elemento que ingresa a la pila sea el primero
en salir a lo cual se le conoce como LIFO (Last in First out).
Colas
Esta estructura es otro tipo de lista que nos permite emular el comportamiento de
una fila o cola de la vida real donde el primer elemento en ingresar a la fila es el
primero en salir, lo que quiere decir que las inserciones (Encolar) se realizan al
final y las extracciones (Desencolar) se realizan al frente de la cola, lo cual se
conoce como FIFO (First in First out).
Arboles binarios
Los arboles binarios son estructuras de datos que se componen de una nueva
clase de nodo donde cada uno contiene un ítem o un valor, una referencia a un
nodo que será el hijo izquierdo y otra referencia para el nodo derecho, una
característica esencial de los arboles binarios es que la inserción de sus
elementos se realizan siguiendo un criterio, si el ítem del nodo a insertar es menor
a su nodo padre, la inserción se realiza por la izquierda y en caso contrario la
inserción se realiza por el lado derecho y como consecuencia de esto nuestro
árbol siempre estará organizado de tal manera que los hijos izquierdos de cada
nodo serán menores a él y los derechos serán mayores, lo cual nos permite
realizar búsquedas muy eficientes debido a la organización de esta información
donde para buscar un elemento solo es necesario ir comparando el valor a buscar
con el valor del nodo actual y así tomar la decisión si ir por la izquierda o por la
derecha, ahorrándonos las búsquedas por el otro lado del árbol.
Ejemplos estructuras de datos
Java
Lista enlazada
Cómo acceder a un elemento de la lista
Para tener acceso a un elemento de la lista, hay que hacer uso de los punteros.
Se crea un puntero al primer nodo de la lista y se avanza por medio del
atributo “siguiente”. Por ejemplo, imaginemos que tenemos una lista enlazada
llamada lista, que tiene almacenado nombres de personas por medio de String’s.
Si quisiéramos tener acceso al cuarto nombre almacenado, tendríamos que:
Código:
Nodo puntero=lista.primero;
Int i=1;
While ( i < 4 ) {
Puntero=puntero.siguiente;
I++;
Pilas
Este método es el encargado de añadir nodos a la pila. Para esto, es necesario
que el nodo sea añadido al principio de la pila. Gráficamente:
Cola
Este método es el encargado de “atender” al primero de la fila, es decir, de
eliminarlo de la cola y retornarlo. Para ésto, simplemente basta hacer que
primeroEnLaCola apunte a su sucesor, o sea, primeroEnLaCola =
primeroEnLaCola.siguiente. Gráficamente:
Visual basic
Arrays
Dim nombres() As String
Matrices
Module SimpleArray
Public Sub Main()
' Declare an array with 7 elements.
Dim students(6) As Integer
Phyton
Listas
>>> frutas = ['naranja', 'manzana', 'pera', 'banana', 'kiwi', 'manzana', 'banana']
>>> frutas.count('manzana')
2
>>> frutas.count('mandarina')
0
>>> frutas.index('banana')
3
>>> frutas.index('banana', 4) # Find next banana starting a position 4
6
>>> frutas.reverse()
>>> frutas
['banana', 'manzana', 'kiwi', 'banana', 'pera', 'manzana', 'naranja']
>>> frutas.append('uva')
>>> frutas
['banana', 'manzana', 'kiwi', 'banana', 'pera', 'manzana', 'naranja', 'uva']
>>> frutas.sort()
>>> frutas
['manzana', 'manzana', 'banana', 'banana', 'uva', 'kiwi', 'naranja', 'pera']
>>> frutas.pop()
'pera'
Pilas
Colas
https://es.wikipedia.org/wiki/Estructura_de_datos
https://ed.team/blog/que-son-las-estructuras-de-datos
https://www.cec.uchile.cl/~luvasque/edo/java/manuales/Estructuras%20de%20Dat
os%20en%20Lenguaje%20Java%20(CCG).pdf
https://www.programarya.com/Cursos/Visual-Basic/Estructuras-de-Datos/Arrays-y-
Matrices
http://docs.python.org.ar/tutorial/3/datastructures.html