Está en la página 1de 11

Nombre de la materia:

Lenguajes de programación 2

Nombre del alumno:


José Luis Sánchez Campos

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

Una estructura de datos es una forma particular de organizar datos en una


computadora para que puedan ser utilizados de manera eficiente. Diferentes tipos
de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y
algunos son altamente especializados para tareas específicas.

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.

Entre las diferentes estructuras de datos podemos encontrar las siguientes:

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 realizan de


manera aleatoria, en caso contrario es recomendable usar las listas.

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:

Crear un puntero al primero de la lista

Avanzar con el puntero hasta el cuarto nodo

Utilizar el contenido del nodo

Código:

// creamos el puntero al primer nodo de la lista

Nodo puntero=lista.primero;

// lo hacemos avanzar hasta el 4 nodo

Int i=1;

While ( i < 4 ) {

Puntero=puntero.siguiente;

I++;

// usamos el contenido del nodo para algo útil

System.out.printin(“el cuarto nombre almacenado es “+puntero.contenido);


Diagrama

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

Dim nombres(10) As String

Matrices
Module SimpleArray
Public Sub Main()
' Declare an array with 7 elements.
Dim students(6) As Integer

' Assign values to each element.


students(0) = 23
students(1) = 19
students(2) = 21
students(3) = 17
students(4) = 19
students(5) = 20
students(6) = 22

' Display the value of each element.


For ctr As Integer = 0 To 6
Dim grade As String = If(ctr = 0, "kindergarten", $"grade {ctr}")
Console.WriteLine($"Students in {grade}: {students(ctr)}")
Next
End Sub
End Module
' The example displays the following output:
' Students in kindergarten: 23
' Students in grade 1: 19
' Students in grade 2: 21
' Students in grade 3: 17
' Students in grade 4: 19
' Students in grade 5: 20
' Students in grade 6: 22

El ejemplo hace tres cosas:

Declara un students matriz con siete elementos. El número 6 en la matriz


declaración indica el último índice de la matriz; es uno menos que el número de
elementos de la matriz.
Asigna valores a cada elemento de la matriz. Se tiene acceso a los elementos de
matriz utilizando el nombre de la matriz y el índice del elemento individual se
incluyen entre paréntesis.
Enumera cada valor de la matriz. El ejemplo se usa un For instrucción para tener
acceso a cada elemento de la matriz por su número de índice.

El students matriz en el ejemplo anterior es una matriz unidimensional porque


utiliza un índice. Una matriz que se usa más de un índice o subíndice se denomina
multidimensionales. Para obtener más información, vea el resto de este artículo y
dimensiones de la matriz en Visual Basic.

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

>>> stack = [3, 4, 5]


>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

Colas

>>> from collections import deque


>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry") # llega Terry
>>> queue.append("Graham") # llega Graham
>>> queue.popleft() # el primero en llegar ahora se va
'Eric'
>>> queue.popleft() # el segundo en llegar ahora se va
'John'
>>> queue # el resto de la cola en órden de llegada
['Michael', 'Terry', 'Graham']
Fuentes de información:

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

También podría gustarte