estructura de datos
DESCRIPTION
Conoce las diferentes estructuras de datos utilizadas en la programacionTRANSCRIPT
Año I – Numero I
Un dato es unarepresentación simbólica (numérica,alfabética, algorítmica, espacial, etc.) deun atributo o variable cuantitativa ocualitativa. Los datos describen hechosempíricos, sucesos y entidades.
En programación, un dato es la expresióngeneral que describe las característicasde las entidades sobre las cuales operaun algoritmo.
En Estructura de datos, es la partemínima de la información.
Autor: Antonio Torres
Los tipos de datos hacen referencia altipo de información que se trabaja,donde la unidad mínima dealmacenamiento es el dato, también sepuede considerar como el rango devalores que puede tomar una variabledurante la ejecución del programa.
El tipo de dato carácter es un dígitoindividual el cual se puede representarcomo numéricos (0 al 9), letras (a-z) ysímbolos (!"$&/\).Nota: En el lenguaje java lacodificación Unicode permite trabajar contodos los caracteres de distintos idiomas.
Tipo de dato Rango Tamañode bits
char 0 a 6553516 bits
Este tipo de dato puede ser real o entero,dependiendo del tipo de dato que se vayaa utilizar.
Enteros: son los valores que no tienenpunto decimal, pueden ser positivos onegativos y el cero
Tipo de dato: byte tamaño = 8bits
Tipo de dato: short tamaño = 16bits
Tipo de dato: int tamaño = 32bits
Tipo de dato: long tamaño = 64bits
Reales: estos caracteresalmacenan números muygrandes que poseen parteentera y parte decimal.
Tipo de dato: floattamaño = 32 bits
Tipo de dato: doubletamaño = 64 bits
Este tipo de dato se emplea para valoreslógicos, los podemos definir como datoscomparativos dicha comparación devuelveresultados lógicos (Verdadero o Falso).
Tipo de dato: boolean tamaño = 8bits
Un valor simple (o tipo de dato simple) esun valor que ActionScript almacena en elnivel más bajo de abstracción, lo quesignifica que las operaciones con tipos dedatos simples son generalmente másrápidas y eficientes que las operacionesrealizadas con tipos de datos complejos.
Los siguientes tipos de datos definen unconjunto de uno o varios valores simples:Boolean (booleano), null (nulo), Number(número), String (cadena) y undefined (nodefinido).
Un valor complejo (o tipo de datoscomplejo) es un valor que no es simple yque hace referencia a los valores simples.Estos se denominan con frecuencia tiposde datos de referencia. Los valorescomplejos pertenecen al tipo de datosObject (objeto) o a un tipo de datosbasado en el tipo de datos Object. Entrelos tipos de datos que definen conjuntosde valores complejos se encuentran Array(matriz), Date (fecha), Error, Function(función) y XML. Para más informaciónsobre estos tipos de datos complejos,consulte sus correspondientes entradasenReferencia del lenguaje ActionScript2.0.
Una pila (stack en ingles) es
una lista ordenada o
estructura de datos en la que
el modo de acceso a sus
elementos es de tipo LIFO
(Last In First Out, Ultimo en
entrar primero en salir)
Para el manejo de los datos
cuenta con dos operaciones
básicas:
• Apilar (Push): Coloca un
objeto en la pila.
• Desapilar (Pop): Retira el
ultimo elemento apilado.
Autor: Oscar Sosa
OPERACIONES:
• Crear (Constructor): Se crea la pila vacía.
• Tamaño (Size): Regresa el numero de
elementos de la pila.
• Apilar (Push): Se añade un elemento a la pila.
• Desapilar (Pop): Se elimina un elemento
frontal de la pila.
• Cima (Top o Peek): Devuelve el elemento que
esta en la cima de la pila.
• Vacía (Empty): Devuelve cierto si la pila esta
sin elementos o falso en caso de que contenga
uno.
Una cola es un grupo
ordenado de elementos
homogéneos en el que:
• Los nuevos elementos se
añaden por un extremo (el
final).
• Y se quitan por el otroextremo (el frente).
RECORRIDO:
FIFO (del inglés First In
First Out), debido a que
el primer elemento en
entrar será también el
primero en salir.
La diferencia con las pilas es enel modo de entrada / salida dedatos; en las colas se realizanlas inserciones al final de la
lista, no al principio.
Por eso, se usan paraalmacenar datos quenecesitan serprocesados según elorden de llegada.
PILAS
COLAS
LIFO
FIFO
COLA SIMPLE:
Estructura lineal dondelos elementos salen enel mismo orden en quellegan.
COLA CIRCULAR:
En las que el últimoelemento y el primeroestán unidos. Seconsidera quedespués del últimoelemento se accedede nuevo al primero.De esta forma sereutilizan lasposiciones extraídas.
COLAS CON PRIORIDAD:
Las colas con prioridadse implementan mediantelistas o arrays ordenados.No nos interesa en estecaso que salgan en elorden de entrada sinocon una prioridad que leasignemos. Puede darseel caso que existan varioselementos con la mismaprioridad, en este casosaldrá primero aquel queprimero llego (FIFO).
COLA DOBLE (BICOLA) :
Estructura lineal en la quelos elementos se puedenañadir o quitar porcualquier extremo de lacola (Cola bidireccional). .Hay variantes:
1. Bicolas de entradarestringida: Son aquellasdonde la inserción sólose hace por el final,aunque podemos eliminaral inicio ó al final.
2. Bicolas de salidarestringida: Son aquellasdonde sólo se elimina porel final, aunque se puedeinsertar al inicio y al final.
Las Colas también seutilizan en muchasmaneras en los sistemasoperativos para planificarel uso de los distintosrecursos de lacomputadora. Uno deestos recursos es lapropia CPU (UnidadCentral deProcesamiento).
Si está trabajando enun sistemamultiusuario, cuandole dice a lacomputadora queejecute un programaconcreto, el sistemaoperativo añade supetición a su "cola detrabajo".
Cuando su petición llegaal frente de la cola, elprograma solicitado pasaa ejecutarse. Igualmente,las colas se utilizan paraasignar tiempo a losdistintos usuarios de losdispositivos deentrada/salida (E/S),impresoras, discos,cintas y demás.
El sistemaoperativo mantienecolas parapeticiones deimprimir, leer oescribir en cadauno de estosdispositivos.
Crear:
se crea la cola vacía.
Encolar (añadir, entrar, insertar):
se añade un elemento a la cola. Se añade al
final de esta.
Desencolar (sacar, salir, eliminar):
se elimina el elemento frontal de la cola, es
decir, el primer elemento que entró.
Frente (consultar, front):
se devuelve el elemento frontal de la cola,
es decir, el primer elemento que entró.
ARBOLESAutora: Ysmar Trujillo
Un árbol (tree) es un
conjunto finito de nodos.
Es una estructura
jerárquica aplicable sobre
una colección de
elementos u objetos
llamados nodos; uno de
los cuales es conocido
como raíz.
Conceptos:
• Nodo: Es un registro que
contiene un dato de interés y
al menos un puntero para
referenciar (apuntar) a otro
nodo.
• Finito: Que tiene fin o límite
en el espacio o en el tiempo,
y por tanto puede ser
numerado o medido.
Los árboles representan
las estructuras no lineales
y dinámicas, puesto que a
cada elemento del árbol
pueden seguirle varios
elementos. Dinámicas,
puesto que la estructura
árbol puede cambiar
durante la ejecución del
programa.
EJEMPLO DE ARBOL
1. A raíz del árbol.
2. B es el hijo de A. C es hijo
de A.
3. B es padre de D. D es padre
de I.
4. B y C son hermanos. D, E,
F son hermanos.
5. I, E, J, K, G, L son hojas.
6. B, D, F, C y H son nodos
interiores.
7. Nivel del nodo A es 1. Nivel
del nodo E es 3.
8. La altura del árbol es 4.
• El grado de nodo A es 2.
• El grado de nodo B es 3.
• El grado de nodo C es 2.
• El grado de nodo D es 1.
• El grado de nodo E es 0.
• Grado del árbol es 3.
PROPIEDADES
• Grado: es el número de descendientes directos
de un determinado nodo. Grado del árbol es el
máximo grado de todos los nodos del árbol.
• Nivel: es el número de arcos que deben ser
recorridos para llegar a un determinado nodo.
Por definición la raíz tiene nivel 1.
• Altura: del árbol es el máximo número de
niveles de todos los nodos del árbol.
• Rama: es un camino desde el nodo raíz a una
hoja.
CARACTERISTICAS
• Todo árbol que no es vacío, tiene un único nodo raíz.
• Un nodo X es descendiente directo de un nodo Y, si
el nodo X apunta al nodo Y. X es hijo de Y.
• Un nodo X es antecesor directo de un nodo Y, si el
nodo X apunta al nodo Y. X es el padre de Y.
• Se dice que todos los nodos que son descendientes
directos (hijos) de un mismo nodo (padre), son
hermanos.
• Todo nodo que no tiene ramificaciones (hijos) se
conoce con el nombre de terminal u hoja.
• Todo nodo que no es raíz, ni terminal u hoja se
conoce con el nombre de interior.
ARBOLES BINARIOS
Un árbol binario es un
árbol en el que cada nodo
no puede tener mas de
dos hijos o descendientes.
Es un árbol de grado 2.
• En un árbol binario los
hijos se conocen como
hijo izquierdo e hijo
derecho.
• Un nodo que no tiene hijos
se denomina hoja.
• El nodo raíz se dice que
está en el nivel 0 en el
árbol.
• Altura del árbol se define
como el nivel más alto del
árbol.
Un árbol binario
está balanceado
(equilibrado) si
cada nodo tiene
exactamente dos
hijos o no tiene
hijos y si cada hoja
está al mismo nivel.
Los subárboles
izquierdo y
derecho de un
árbol binario deben
ser subconjuntos
disjuntos, esto es,
ningún nodo puede
estar en ambos
subárboles.
LISTAS ENLAZADAS:
Es una colección de elementos
dispuestos uno detrás del otro, en
la que cada elemento se conecta
al siguiente por un enlace o
puntero.
el principal beneficio de las
listas enlazadas respecto a los
vectores es que el orden de los
elementos enlazados puede ser
diferente al orden de
almacenamiento en la memoria o
el disco, permitiendo que el orden
de recorrido de la lista sea
diferente al de almacenamiento.
LISTA SIMPLE:
Sus elementos
solo necesitan un
campo de tipo
puntero.
Los nodos de las
listas, al igual que
las colas y pilas,
esta compuesta por
una parte de
información y el
puntero que
mantiene el enlace
entre un nodo y
otro.
Lista Enlazada Lineal:
Constituye una colección lineal de
nodos.
Lista Simplemente Enlazada:
Cada nodo contiene un único apuntador hacia el siguiente
nodo.
Lista Doblemente Enlazada:
Sus nodos contienen dos punteros, uno hacia el
siguiente y otro hacia el nodo anterior.
Listas Enlazadas Circulares:
El primer y el ultimo nodo están unidos. Esto se
puede hacer tanto para listas enlazadas simples
como para las doblemente enlazadas.
Simples Circulares:
Cada nodo tiene un enlace similar al de las
listas enlazadas simples, excepto que el siguiente nodo del ultimo apunta al
primero.
Doblemente Circulares:
Cada nodo tiene dos enlaces, el enlace anterior del primer nodo apunta al
ultimo y el enlace siguiente del ultimo nodo
apunta al primero.
Base de datos
Fernando González
Es un conjunto de datos
pertenecientes a un mismo contexto y
almacenados sistemáticamente para
su posterior uso.
Clasificación de bases de datos
Según la variabilidad de la base
de datos:
* Estáticas.
* Dinámicas.
Según el contenido:
* Bibliográficas.
* Texto completo.
•Información química o biológica.
Modelos de bases de datos
* Jerárquicas.
* Red.
* Transaccionales.
* Relacionadas
* Multidimensional.
* Orientada a objeto.
* Documentales