SlideShare una empresa de Scribd logo
1 de 33
Clasificación de las
estructuras de datos
Fuente: Facomsys
¿Qué son las estructuras de datos?
Son colecciones de elementos de datos relacionados. Los objetos
arreglo son estructuras de datos que consisten en elementos de datos
relacionados, del mismo tipo. Los arreglos facilitan el procesamiento de
grupos de valores relacionados. Los arreglos conservan la misma
longitud una vez creados
Estáticas:
• Arreglos
¿Qué es un arreglo?
Un arreglo es una estructura de datos utilizada para almacenar datos
del mismo tipo. Los arreglos almacenan sus elementos en ubicaciones
de memoria contiguas. En Java, los arreglos son objetos.
Un arreglo es un grupo de variables (llamadas elementos o componentes)
que contienen valores del mismo tipo.
Los arreglos son objetos, por lo que se consideran como tipos de referencia.
Como veremos pronto, lo que consideramos por lo general como un arreglo
es en realidad una referencia a un objeto arreglo en memoria.
Los elementos de un arreglo pueden ser tipos primitivos o de referencia.
Para hacer referencia a un elemento específico en un arreglo, debemos
especificar el nombre de la referencia al arreglo y el número de la posición
del elemento dentro del mismo. El número de la posición del elemento se
conoce formalmente como el índice o subíndice del elemento
Simplifiquemos
• Un arreglo es un conjunto de elementos asociados a un identificador
con un tipo de dato, donde cada uno de los elementos puede ser
direccionado a través de un elemento llamado índice
Representación de arreglos logicos
• En la figura a continuacion se muestra una representación lógica de
un arreglo de enteros, llamado c. Este arreglo contiene 12 elementos.
Un programa puede hacer referencia a cualquiera de estos elementos
mediante una expresión de acceso a un arreglo que contiene el
nombre del arreglo, seguido por el índice del elemento específico
encerrado entre corchetes ([]). El primer elemento en cualquier
arreglo tiene el índice cero, y algunas veces se le denomina elemento
cero.
• Por lo tanto, los elementos del arreglo c son c[0], c[1], c[2], y así en lo
sucesivo. El mayor índice en el arreglo c es 11: 1 menos que 12, el
número de elementos en el arreglo.
Índices y elementos
• Un índice debe ser un entero no negativo. Un programa puede utilizar
una expresión como índice.
Por ejemplo, si suponemos que la variable a es 5 y que b es 6, entonces
la instrucción: c[a + b] += 2;
suma 2 al elemento c[11] del arreglo. El nombre de un arreglo con
subíndice es una expresión de acceso al arreglo, la cual puede utilizarse
en el lado izquierdo de una asignación, para colocar un nuevo valor en
un elemento del arreglo.
C[8]=34;
Psst, por aquí: Un índice debe ser un valor int, o un valor de un tipo que pueda convertirse a int;
por ejemplo, byte, short o char, pero no long. De lo contrario, ocurre un error de compilación
¿Y que podemos hacer con el contenido de
los arreglos?
Vamos a examinar con más detalle el arreglo c de la figura vista antes.
El nombre del arreglo es c.
Cada objeto arreglo conoce su propia longitud y mantiene esta
información en una variable de instancia length. La expresión c.length
devuelve la longitud del arreglo c. Aun cuando la variable de instancia
length de un arreglo es public, no puede cambiarse, ya que es una
variable final.
La manera en que se hace referencia a los 12 elementos de este arreglo
es: c[0], c[1], c[2], …, c[11].
El valor de c[0] es -45, el valor de c[1] es 6, el de c[2] es 0, el de c[7] es
62 y el de c[11] es 78.
Para calcular la suma de los valores contenidos en los primeros tres
elementos del arreglo c y almacenar el resultado en la variable suma,
escribiríamos lo siguiente:
suma = c[0] + c[1] + c[2];
Para dividir el valor de c[6] entre 2 y asignar el resultado a la variable x,
escribiríamos lo siguiente:
x = c[6] / 2;
Y así con otras operaciones matemáticas
¿Cómo se declara un arreglo?
Los objetos arreglo ocupan espacio en memoria. Al igual que los demás
objetos, los arreglos se crean con la palabra clave new.
Para crear un objeto arreglo, debemos especificar el tipo de cada elemento y
el número de elementos que se requieren para el arreglo, como parte de una
expresión para crear un arreglo que utiliza la palabra clave new.
Dicha expresión devuelve una referencia que puede almacenarse en una
variable tipo arreglo. La siguiente declaración y expresión de creación de
arreglos crea un objeto arreglo, que contiene 12 elementos int y almacena
la referencia del arreglo en la variable c:
int[] c = new int[12];
Psst por aquí: Esta expresión puede usarse para crear el arreglo que
se mostro con anterioridad en la figura
Existe otra forma de declarar una arreglo
int[] c;
c = new int[12];
Al crear un arreglo, cada uno de sus elementos recibe un valor
predeterminado (cero para los elementos numéricos de tipos
primitivos, false para los elementos boolean y null para las
referencias).
En la declaración, los corchetes que van después del tipo indican que c
es una variable que hará referencia a un arreglo (es decir, la variable
almacenará una referencia a un arreglo).
En la instrucción de asignación, la variable arreglo c recibe la referencia
a un nuevo objeto arreglo de 12 elementos int.
Un programa puede crear varios arreglos en una sola declaración. La
siguiente declaración reserva 100 elementos para b y 27 para x:
String[] b = new String[100], x = new String[27];
Psst, por aquí; En la declaración de un arreglo, si se especifica el
número de elementos en los corchetes de la declaración (por
ejemplo, int[12] c;), se produce un error de sintaxis.
Cuando el tipo del arreglo y los corchetes se combinan al principio de la
declaración, todos los identificadores en ésta son variables tipo arreglo. En
este caso, las variables b y x hacen referencia a arreglos String. Por cuestión
de legibilidad, es preferible declarar sólo una variable en cada declaración. La
declaración anterior es equivalente a:
String[] b = new String[100];
String[] x = new String[27];
Cuando sólo se declara una variable en cada declaración, los corchetes se
pueden colocar después del tipo o del nombre de la variable del arreglo,
como en:
String b[] = new String[100];
String x[] = new String[27];
Psst, por aquí: Un programa puede declarar arreglos de cualquier tipo
cada elemento de un arreglo int es un valor int, y cada elemento de un
arreglo String es una referencia a un objeto String.
Clasificación de los arreglos:
• Arreglo Unidimensional: Nos referimos a un vector de datos
• Arreglo Bidimensional: Nos referimos a una estructura de doble
entrada, es decir que tiene filas y columnas
• Arreglo Tridimensional: Extendemos una dimensión mas, lo que se
traduce en tener filas, columnas y profundad
• Arreglo Multidimensional: Nos referimos a que cada dimensión,
puede tener un tamaño diferente a las demás dimensiones
Arreglo como estructura estática
• La particularidad que un arreglo como una estructura estática, viene desde
el momento en que el arreglo se define en tiempo de diseño, nosotros
podemos establecer e tamaño del arreglo, de una manera inicial, cuando
nosotros usamos esta estructura, el tamaño de la estructura esta definido
por el tamaño inicial de la estructura, lo que implica que la estructura no
puede crecer, ni disminuir en tiempo de ejecución, por eso se les llama
estáticas, esto tiene algunas complicaciones y efectos durante la ejecución
lo que significa que cuando la estructura llega a su limite de capacidad, nos
tenemos que conformar con ese limite definido, no podemos ajustar el
tamaño de la estructura durante la ejecución de la operación, para ello
debemos detener la aplicación y modificar el tamaño de la ejecución y
posteriormente volver a cargar los datos.
Dinamicas
• Lineales
• Pilas
• Colas
• Listas
• No Lineales
• Arboles
• Grafos
Pilas
• Una pila es una estructura de datos que principalmente tiene dos
operaciones: Apilar y desapilar
• Es un tipo de estructura que sigue un patrón LIFO (Last in, First Out),
es decir el ultimo en entrar es el primero en salir
Colas
• Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los
datos por uno de los dos extremos de la lista. Un elemento se inserta en la cola (parte final) de la
lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista.
• Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por
consiguiente, una cola es una estructura de tipo FIFO (first-in-first-out, primero en entrar, Primero
en salir o bien primero en llegar/primero en ser servido). o El servicio de atención a clientes es un
ejemplo típico de cola o el cajero de un banco
Listas
• Una lista es una secuencia de elementos dispuesto en un cierto orden, en la que cada elemento tiene
como mucho un predecesor y un sucesor. El número de elementos de la lista no suele estar fijado, ni
suele estar limitado por anticipado.
• Representaremos la estructura de datos de forma gráfica con cajas y flechas. Las cajas son los
elementos y las flechas simbolizan el orden de los elementos.
• La estructura de datos deberá permitirnos determinar cuál es el primer elemento y el
último de la estructura, cuál es su predecesor y su sucesor (si existen de cualquier
elemento dado). Cada uno de los elementos de información suele denominarse nodo.
• La lista también puede representarse de forma simbólica escribiendo sus elementos
separados por comas y encerrados entre corchetes. Por ejemplo:
• ["rojo","verde","azul","amarillo"]
• El uso de listas en Java es una forma útil de almacenar y manipular
grandes volúmenes de datos, tal como haríamos en una matriz o
arreglo, pero con una serie de ventajas que hacen de este tipo de
variables las preferidas para el procesamiento de grandes cantidades
de información.
• Las listas en Java son variables que permiten almacenar grandes
cantidades de datos. Son similares a los Array o a las Matrices.
Arboles
• Un árbol es una estructura jerárquica de datos que imita la forma de
un árbol, un conjunto de nodos conectados. Un nodo es la unidad
sobre la que se construye el árbol y puede tener ceros o mas nodos
hijos conectados a él. Se dice que un nodo a es padre de un nodo b si
existe un enlace desde a hasta b. Solo puede haber un único nodo sin
padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce
como hoja y a los demás nodos se les conoce como ramas.
• Formalmente, un árbol se puede definir de manera recursiva, se utiliza la
recursión para definir un árbol porque es una característica inherente a los
mismos, como:
• 1. Un solo nodo es, por si mismo, un árbol. Ese nodo es también la raíz de
dicho árbol.
• 2. Se supone que n es un nodo y que A1 , A2 ,..., Ak son arboles con raíces
n1 , n2 ,…, nk respectivamente. Se puede construir un nuevo árbol
haciendo que n se constituya en el padre de los nodos n1 , n2 ,…, nk . En
dicho árbol, n es la raíz y A1 , A2 ,..., Ak son los subarboles (o arboles hijos)
de la raíz. Los nodos n1 , n2 ,… ,nk reciben el nombre de hijos del nodo n y
el nodo n recibe el nombre de padre de dichos nodo
• Como ejemplo se puede considerar el índice de un libro.
• T1 (Tema 1)
• 1.1.-(Pregunta 1 del Tema 1)
• 1.2.-(Pregunta 2 del Tema 1)
• T2 (Tema 2)
• 2.1.-(Pregunta 1 del Tema 2)
• 2.1.1.-(Pregunta 1 de la pregunta 1 del Tema 2)
• 2.1.2.-( Pregunta 2 de la pregunta 1 del Tema 2)
• 2.2.-(Pregunta 2 del Tema 2)
• 2.3.-(Pregunta 3 del Tema 2)
• T3 (Tema 3)
Árbol del índice:
Grafos
• Desde un punto de vista intuitivo un grafo es un
conjunto de nodos unidos por un conjunto de
arcos. Un ejemplo de grafo que podemos
encontrar en la vida real es el de un plano de
trenes. El plano de trenes está compuesto por
varias estaciones (nodos) y los recorridos entre las
estaciones (arcos) constituyen las líneas del
trazado.
• Un grafo G=(V,E) consiste en un conjunto V de nodos (vértices) y un conjunto E
de aristas (arcos). Cada arista es un par (v,w), siendo v y w un par de nodos
pertenecientes al conjunto V de nodos. Podemos distinguir entre grafos dirigidos
y no dirigidos. En un grafo dirigido los pares (v,w) están ordenados,
traduciéndose la arista en una flecha que va desde el nodo v al nodo w.
• En el caso de un grafo no dirigido, los nodos están unidos mediante líneas sin
indicación de dirección.
• Por último se puede definir una función que asocie a cada arco un
coste: coste(arco)
Terminología de grafos
• Hablaremos de dos vértices adyacentes cuando estén unidos por un
arco. El número de vértices adyacentes de un nodo constituye
el grado del mismo. En el ejemplo los vértices adyacentes al nodo C
son el a, d y e , siendo éste por tanto un nodo de grado tres por tener
tres vértices adyacentes.
• Un camino entre dos vértices, es una secuencia de vértices tal que
dos vértices consecutivos son adyacentes. En el siguiente ejemplo el
camino entre el vértice a y el vértice e será la secuencia de
vértices abecde.
• Cuando este camino no tiene vértices repetidos se dice que
es simple. Salvo en el caso de que el primer y último vértice del
camino sean el mismo, en cuyo caso hablaremos de un ciclo
• Cuando este camino no tiene vértices repetidos se dice que
es simple. Salvo en el caso de que el primer y último vértice del
camino sean el mismo, en cuyo caso hablaremos de un ciclo
• La siguiente clasificación, aunque no es completa, presenta las
principales características que nos podemos encontrar en los grafos:
• Grafo conexo: Cuando entre cada dos nodos del grafo hay un camino.
• Bosque: Es un grafo sin ciclos.
• Arbol libre: es un bosque conexo.
• La representación más extendida de los grafos es mediante lo que se
llaman Matrices de adyacencia.
• Como medida ante la estática los arreglos, tenemos estructuras
dinámicas, esto significa que el tamaño de estructura puede ir
creciendo o disminuyendo en tiempo de ejecución, lo que significa
que el tamaño de la estructura es variante, y por lo tanto siempre
ataremos utilizando la cantidad de memoria necesario para manejar o
manipular los datos que la aplicación requiere, dentro de esta
calificación tenemos las lineales y no lineales, cada una de estas
estructuras tiene una lógica o algoritmo de funcionamiento partículas

Más contenido relacionado

La actualidad más candente

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
Omarzingm
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
Cris Tenorio
 

La actualidad más candente (20)

Búsqueda Informada y Explorada
Búsqueda Informada y ExploradaBúsqueda Informada y Explorada
Búsqueda Informada y Explorada
 
8 introduccion colecciones
8 introduccion colecciones8 introduccion colecciones
8 introduccion colecciones
 
Arreglos
ArreglosArreglos
Arreglos
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Colas
ColasColas
Colas
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
04 casos de uso
04   casos de uso04   casos de uso
04 casos de uso
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Modelo programacion lineal
Modelo programacion linealModelo programacion lineal
Modelo programacion lineal
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no lineal
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 

Similar a Clasificación de las estructuras de datos.pptx

Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
kevinwm17
 
Arreglos
ArreglosArreglos
Arreglos
lichic
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
Diosmary Marrón Dellán
 

Similar a Clasificación de las estructuras de datos.pptx (20)

Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Daniel lugoalgoritmica
Daniel lugoalgoritmicaDaniel lugoalgoritmica
Daniel lugoalgoritmica
 
5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentales
 
vectores-unidimensionales
vectores-unidimensionalesvectores-unidimensionales
vectores-unidimensionales
 
Presentación Arreglos
Presentación ArreglosPresentación Arreglos
Presentación Arreglos
 
Estructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.pptEstructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.ppt
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 

Más de Ram Vazquez

Más de Ram Vazquez (20)

Comparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensambladorComparación, pruebas y saltos en ensamblador
Comparación, pruebas y saltos en ensamblador
 
Ciclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptxCiclos y Captura basica de cadenas y caracteres.pptx
Ciclos y Captura basica de cadenas y caracteres.pptx
 
Ensamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptxEnsamblador y ligador conceptos basicos.pptx
Ensamblador y ligador conceptos basicos.pptx
 
3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx3.1.1 Representación en memoria.pptx
3.1.1 Representación en memoria.pptx
 
2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx2.2 Procedimientos recursivos.pptx
2.2 Procedimientos recursivos.pptx
 
2.1 Recursividad.pptx
2.1 Recursividad.pptx2.1 Recursividad.pptx
2.1 Recursividad.pptx
 
Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)Tipos de datos abstractos (TDA)
Tipos de datos abstractos (TDA)
 
4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx4.2 Redes Neuronales.pptx
4.2 Redes Neuronales.pptx
 
Unidad 4.1.pptx
Unidad 4.1.pptxUnidad 4.1.pptx
Unidad 4.1.pptx
 
3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx3.3 - 2 Búsqueda Sistemática.pptx
3.3 - 2 Búsqueda Sistemática.pptx
 
3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx3.5 Semántica de las reglas de producción.pptx
3.5 Semántica de las reglas de producción.pptx
 
2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx2.3 Recoleccion y tratamiento de datos.pptx
2.3 Recoleccion y tratamiento de datos.pptx
 
3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx3.4 Sintaxis de las reglas de producción.pptx
3.4 Sintaxis de las reglas de producción.pptx
 
3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx3.3 Reglas de producción.pptx
3.3 Reglas de producción.pptx
 
3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx3.2 Metodos de interferencia.pptx
3.2 Metodos de interferencia.pptx
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx2.9 Teorema de bayes.pptx
2.9 Teorema de bayes.pptx
 
2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx2.8 Razonamiento probabilístico..pptx
2.8 Razonamiento probabilístico..pptx
 
2.7 Conocimiento no-monótono y otras lógicas..pptx
2.7 Conocimiento no-monótono y otras lógicas..pptx2.7 Conocimiento no-monótono y otras lógicas..pptx
2.7 Conocimiento no-monótono y otras lógicas..pptx
 
2.5 Razonamiento monótono..pptx
2.5 Razonamiento monótono..pptx2.5 Razonamiento monótono..pptx
2.5 Razonamiento monótono..pptx
 

Último

Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Demetrio Ccesa Rayme
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

Botiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfBotiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdf
 
sesion de aprendizaje 1 SEC. 13- 17 MAYO 2024 comunicación.pdf
sesion de aprendizaje 1 SEC. 13- 17  MAYO  2024 comunicación.pdfsesion de aprendizaje 1 SEC. 13- 17  MAYO  2024 comunicación.pdf
sesion de aprendizaje 1 SEC. 13- 17 MAYO 2024 comunicación.pdf
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE.pdf
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE.pdfDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE.pdf
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE.pdf
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
El liderazgo en la empresa sostenible, introducción, definición y ejemplo.
 
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVOSESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
SESION DE APRENDIZAJE PARA3ER GRADO -EL SISTEMA DIGESTIVO
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
Síndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuaniSíndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuani
 
Motivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en JesúsMotivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en Jesús
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLAACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
ACERTIJO EL NÚMERO PI COLOREA EMBLEMA OLÍMPICO DE PARÍS. Por JAVIER SOLIS NOYOLA
 
TEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónTEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilización
 

Clasificación de las estructuras de datos.pptx

  • 3. ¿Qué son las estructuras de datos? Son colecciones de elementos de datos relacionados. Los objetos arreglo son estructuras de datos que consisten en elementos de datos relacionados, del mismo tipo. Los arreglos facilitan el procesamiento de grupos de valores relacionados. Los arreglos conservan la misma longitud una vez creados
  • 4. Estáticas: • Arreglos ¿Qué es un arreglo? Un arreglo es una estructura de datos utilizada para almacenar datos del mismo tipo. Los arreglos almacenan sus elementos en ubicaciones de memoria contiguas. En Java, los arreglos son objetos.
  • 5. Un arreglo es un grupo de variables (llamadas elementos o componentes) que contienen valores del mismo tipo. Los arreglos son objetos, por lo que se consideran como tipos de referencia. Como veremos pronto, lo que consideramos por lo general como un arreglo es en realidad una referencia a un objeto arreglo en memoria. Los elementos de un arreglo pueden ser tipos primitivos o de referencia. Para hacer referencia a un elemento específico en un arreglo, debemos especificar el nombre de la referencia al arreglo y el número de la posición del elemento dentro del mismo. El número de la posición del elemento se conoce formalmente como el índice o subíndice del elemento
  • 6. Simplifiquemos • Un arreglo es un conjunto de elementos asociados a un identificador con un tipo de dato, donde cada uno de los elementos puede ser direccionado a través de un elemento llamado índice
  • 7. Representación de arreglos logicos • En la figura a continuacion se muestra una representación lógica de un arreglo de enteros, llamado c. Este arreglo contiene 12 elementos. Un programa puede hacer referencia a cualquiera de estos elementos mediante una expresión de acceso a un arreglo que contiene el nombre del arreglo, seguido por el índice del elemento específico encerrado entre corchetes ([]). El primer elemento en cualquier arreglo tiene el índice cero, y algunas veces se le denomina elemento cero. • Por lo tanto, los elementos del arreglo c son c[0], c[1], c[2], y así en lo sucesivo. El mayor índice en el arreglo c es 11: 1 menos que 12, el número de elementos en el arreglo.
  • 8.
  • 9. Índices y elementos • Un índice debe ser un entero no negativo. Un programa puede utilizar una expresión como índice. Por ejemplo, si suponemos que la variable a es 5 y que b es 6, entonces la instrucción: c[a + b] += 2; suma 2 al elemento c[11] del arreglo. El nombre de un arreglo con subíndice es una expresión de acceso al arreglo, la cual puede utilizarse en el lado izquierdo de una asignación, para colocar un nuevo valor en un elemento del arreglo. C[8]=34; Psst, por aquí: Un índice debe ser un valor int, o un valor de un tipo que pueda convertirse a int; por ejemplo, byte, short o char, pero no long. De lo contrario, ocurre un error de compilación
  • 10. ¿Y que podemos hacer con el contenido de los arreglos? Vamos a examinar con más detalle el arreglo c de la figura vista antes. El nombre del arreglo es c. Cada objeto arreglo conoce su propia longitud y mantiene esta información en una variable de instancia length. La expresión c.length devuelve la longitud del arreglo c. Aun cuando la variable de instancia length de un arreglo es public, no puede cambiarse, ya que es una variable final. La manera en que se hace referencia a los 12 elementos de este arreglo es: c[0], c[1], c[2], …, c[11].
  • 11. El valor de c[0] es -45, el valor de c[1] es 6, el de c[2] es 0, el de c[7] es 62 y el de c[11] es 78. Para calcular la suma de los valores contenidos en los primeros tres elementos del arreglo c y almacenar el resultado en la variable suma, escribiríamos lo siguiente: suma = c[0] + c[1] + c[2]; Para dividir el valor de c[6] entre 2 y asignar el resultado a la variable x, escribiríamos lo siguiente: x = c[6] / 2; Y así con otras operaciones matemáticas
  • 12. ¿Cómo se declara un arreglo? Los objetos arreglo ocupan espacio en memoria. Al igual que los demás objetos, los arreglos se crean con la palabra clave new. Para crear un objeto arreglo, debemos especificar el tipo de cada elemento y el número de elementos que se requieren para el arreglo, como parte de una expresión para crear un arreglo que utiliza la palabra clave new. Dicha expresión devuelve una referencia que puede almacenarse en una variable tipo arreglo. La siguiente declaración y expresión de creación de arreglos crea un objeto arreglo, que contiene 12 elementos int y almacena la referencia del arreglo en la variable c: int[] c = new int[12]; Psst por aquí: Esta expresión puede usarse para crear el arreglo que se mostro con anterioridad en la figura
  • 13. Existe otra forma de declarar una arreglo int[] c; c = new int[12]; Al crear un arreglo, cada uno de sus elementos recibe un valor predeterminado (cero para los elementos numéricos de tipos primitivos, false para los elementos boolean y null para las referencias).
  • 14. En la declaración, los corchetes que van después del tipo indican que c es una variable que hará referencia a un arreglo (es decir, la variable almacenará una referencia a un arreglo). En la instrucción de asignación, la variable arreglo c recibe la referencia a un nuevo objeto arreglo de 12 elementos int. Un programa puede crear varios arreglos en una sola declaración. La siguiente declaración reserva 100 elementos para b y 27 para x: String[] b = new String[100], x = new String[27]; Psst, por aquí; En la declaración de un arreglo, si se especifica el número de elementos en los corchetes de la declaración (por ejemplo, int[12] c;), se produce un error de sintaxis.
  • 15. Cuando el tipo del arreglo y los corchetes se combinan al principio de la declaración, todos los identificadores en ésta son variables tipo arreglo. En este caso, las variables b y x hacen referencia a arreglos String. Por cuestión de legibilidad, es preferible declarar sólo una variable en cada declaración. La declaración anterior es equivalente a: String[] b = new String[100]; String[] x = new String[27]; Cuando sólo se declara una variable en cada declaración, los corchetes se pueden colocar después del tipo o del nombre de la variable del arreglo, como en: String b[] = new String[100]; String x[] = new String[27]; Psst, por aquí: Un programa puede declarar arreglos de cualquier tipo cada elemento de un arreglo int es un valor int, y cada elemento de un arreglo String es una referencia a un objeto String.
  • 16. Clasificación de los arreglos: • Arreglo Unidimensional: Nos referimos a un vector de datos • Arreglo Bidimensional: Nos referimos a una estructura de doble entrada, es decir que tiene filas y columnas • Arreglo Tridimensional: Extendemos una dimensión mas, lo que se traduce en tener filas, columnas y profundad • Arreglo Multidimensional: Nos referimos a que cada dimensión, puede tener un tamaño diferente a las demás dimensiones
  • 17. Arreglo como estructura estática • La particularidad que un arreglo como una estructura estática, viene desde el momento en que el arreglo se define en tiempo de diseño, nosotros podemos establecer e tamaño del arreglo, de una manera inicial, cuando nosotros usamos esta estructura, el tamaño de la estructura esta definido por el tamaño inicial de la estructura, lo que implica que la estructura no puede crecer, ni disminuir en tiempo de ejecución, por eso se les llama estáticas, esto tiene algunas complicaciones y efectos durante la ejecución lo que significa que cuando la estructura llega a su limite de capacidad, nos tenemos que conformar con ese limite definido, no podemos ajustar el tamaño de la estructura durante la ejecución de la operación, para ello debemos detener la aplicación y modificar el tamaño de la ejecución y posteriormente volver a cargar los datos.
  • 18. Dinamicas • Lineales • Pilas • Colas • Listas • No Lineales • Arboles • Grafos
  • 19. Pilas • Una pila es una estructura de datos que principalmente tiene dos operaciones: Apilar y desapilar • Es un tipo de estructura que sigue un patrón LIFO (Last in, First Out), es decir el ultimo en entrar es el primero en salir
  • 20. Colas • Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los datos por uno de los dos extremos de la lista. Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista. • Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por consiguiente, una cola es una estructura de tipo FIFO (first-in-first-out, primero en entrar, Primero en salir o bien primero en llegar/primero en ser servido). o El servicio de atención a clientes es un ejemplo típico de cola o el cajero de un banco
  • 21. Listas • Una lista es una secuencia de elementos dispuesto en un cierto orden, en la que cada elemento tiene como mucho un predecesor y un sucesor. El número de elementos de la lista no suele estar fijado, ni suele estar limitado por anticipado. • Representaremos la estructura de datos de forma gráfica con cajas y flechas. Las cajas son los elementos y las flechas simbolizan el orden de los elementos. • La estructura de datos deberá permitirnos determinar cuál es el primer elemento y el último de la estructura, cuál es su predecesor y su sucesor (si existen de cualquier elemento dado). Cada uno de los elementos de información suele denominarse nodo. • La lista también puede representarse de forma simbólica escribiendo sus elementos separados por comas y encerrados entre corchetes. Por ejemplo: • ["rojo","verde","azul","amarillo"]
  • 22. • El uso de listas en Java es una forma útil de almacenar y manipular grandes volúmenes de datos, tal como haríamos en una matriz o arreglo, pero con una serie de ventajas que hacen de este tipo de variables las preferidas para el procesamiento de grandes cantidades de información. • Las listas en Java son variables que permiten almacenar grandes cantidades de datos. Son similares a los Array o a las Matrices.
  • 23. Arboles • Un árbol es una estructura jerárquica de datos que imita la forma de un árbol, un conjunto de nodos conectados. Un nodo es la unidad sobre la que se construye el árbol y puede tener ceros o mas nodos hijos conectados a él. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b. Solo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja y a los demás nodos se les conoce como ramas.
  • 24. • Formalmente, un árbol se puede definir de manera recursiva, se utiliza la recursión para definir un árbol porque es una característica inherente a los mismos, como: • 1. Un solo nodo es, por si mismo, un árbol. Ese nodo es también la raíz de dicho árbol. • 2. Se supone que n es un nodo y que A1 , A2 ,..., Ak son arboles con raíces n1 , n2 ,…, nk respectivamente. Se puede construir un nuevo árbol haciendo que n se constituya en el padre de los nodos n1 , n2 ,…, nk . En dicho árbol, n es la raíz y A1 , A2 ,..., Ak son los subarboles (o arboles hijos) de la raíz. Los nodos n1 , n2 ,… ,nk reciben el nombre de hijos del nodo n y el nodo n recibe el nombre de padre de dichos nodo
  • 25. • Como ejemplo se puede considerar el índice de un libro. • T1 (Tema 1) • 1.1.-(Pregunta 1 del Tema 1) • 1.2.-(Pregunta 2 del Tema 1) • T2 (Tema 2) • 2.1.-(Pregunta 1 del Tema 2) • 2.1.1.-(Pregunta 1 de la pregunta 1 del Tema 2) • 2.1.2.-( Pregunta 2 de la pregunta 1 del Tema 2) • 2.2.-(Pregunta 2 del Tema 2) • 2.3.-(Pregunta 3 del Tema 2) • T3 (Tema 3)
  • 27. Grafos • Desde un punto de vista intuitivo un grafo es un conjunto de nodos unidos por un conjunto de arcos. Un ejemplo de grafo que podemos encontrar en la vida real es el de un plano de trenes. El plano de trenes está compuesto por varias estaciones (nodos) y los recorridos entre las estaciones (arcos) constituyen las líneas del trazado.
  • 28. • Un grafo G=(V,E) consiste en un conjunto V de nodos (vértices) y un conjunto E de aristas (arcos). Cada arista es un par (v,w), siendo v y w un par de nodos pertenecientes al conjunto V de nodos. Podemos distinguir entre grafos dirigidos y no dirigidos. En un grafo dirigido los pares (v,w) están ordenados, traduciéndose la arista en una flecha que va desde el nodo v al nodo w. • En el caso de un grafo no dirigido, los nodos están unidos mediante líneas sin indicación de dirección. • Por último se puede definir una función que asocie a cada arco un coste: coste(arco)
  • 29. Terminología de grafos • Hablaremos de dos vértices adyacentes cuando estén unidos por un arco. El número de vértices adyacentes de un nodo constituye el grado del mismo. En el ejemplo los vértices adyacentes al nodo C son el a, d y e , siendo éste por tanto un nodo de grado tres por tener tres vértices adyacentes.
  • 30. • Un camino entre dos vértices, es una secuencia de vértices tal que dos vértices consecutivos son adyacentes. En el siguiente ejemplo el camino entre el vértice a y el vértice e será la secuencia de vértices abecde. • Cuando este camino no tiene vértices repetidos se dice que es simple. Salvo en el caso de que el primer y último vértice del camino sean el mismo, en cuyo caso hablaremos de un ciclo
  • 31. • Cuando este camino no tiene vértices repetidos se dice que es simple. Salvo en el caso de que el primer y último vértice del camino sean el mismo, en cuyo caso hablaremos de un ciclo
  • 32. • La siguiente clasificación, aunque no es completa, presenta las principales características que nos podemos encontrar en los grafos: • Grafo conexo: Cuando entre cada dos nodos del grafo hay un camino. • Bosque: Es un grafo sin ciclos. • Arbol libre: es un bosque conexo. • La representación más extendida de los grafos es mediante lo que se llaman Matrices de adyacencia.
  • 33. • Como medida ante la estática los arreglos, tenemos estructuras dinámicas, esto significa que el tamaño de estructura puede ir creciendo o disminuyendo en tiempo de ejecución, lo que significa que el tamaño de la estructura es variante, y por lo tanto siempre ataremos utilizando la cantidad de memoria necesario para manejar o manipular los datos que la aplicación requiere, dentro de esta calificación tenemos las lineales y no lineales, cada una de estas estructuras tiene una lógica o algoritmo de funcionamiento partículas