Actividad Grupal

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Universidad Dominicana O & M

Carrera:
ingeniería en sistemas y computación
Asignatura:
Algoritmo computacional

Titulo o tema:
Estructura de datos
Nombre del estudiante:
Geury Batista Bernabel
David Muñoz
Crismeilin Luna

Matricula:
22-1-SIST-1-001
22-SIST-1-039
22-sist-1-004
INVESTIGAR-RESPONDER-DAR EJEMPLO ................................................................................................ 3
Geury Batista Bernabel: 22-SIST-1-001 ................................................................................................... 3
¿Qué son las estructuras de datos y para qué sirven? ....................................................................... 3
Mencione y describa tipo estructura de datos ................................................................................... 3
¿Cuáles son las 5 estructuras de datos? ............................................................................................. 4
¿Cómo es la estructura de datos?....................................................................................................... 5
¿Cuáles son las estructuras de datos más comunes? ......................................................................... 5
¿Qué es un tipo de dato abstracto (TDA)?.......................................................................................... 5
Mencione los TDA básicos .................................................................................................................. 6
¿Qué es un árbol? ............................................................................................................................... 6
¿Qué es un arreglo? ............................................................................................................................ 7
David Muñoz: 22-SIST-1-039 ................................................................................................................... 8
¿Qué son las colas? ............................................................................................................................. 8
¿Qué es un índice? .............................................................................................................................. 9
¿Qué es una pila? .............................................................................................................................. 10
¿Qué es una lista enlazada? .............................................................................................................. 10
Las pilas como estructuras de datos LIFO se refiere a: ..................................................................... 11
¿Gráficamente cómo se representa un grafo? ................................................................................. 11
¿Qué tipo de estructura de datos es un árbol? ................................................................................ 12
Crismeilin Luna: 22-sist-1-004 .............................................................................................................. 12
¿Qué es el encapsulamiento en POO? .............................................................................................. 12
¿A qué se le llama Herencia en POO? ............................................................................................... 12
¿Para qué sirven los métodos getters (get) y setters (set)? ............................................................. 13
¿Qué es el ordenamiento por selección? ......................................................................................... 14
Menciona 5 operaciones que se puedan realizar en una cola: ........................................................ 14
¿En qué consiste el ordenamiento de burbuja? ............................................................................... 15
¿Cuáles son los tipos de métodos de ordenamiento? ...................................................................... 15
¿Qué es un árbol binario? ................................................................................................................. 16
RESPONDER (F) O VERDADERO(V) ........................................................................................................ 17
Síntesis .................................................................................................................................................. 18
Geury Batista Bernabel: 22-SIST-1-001 ............................................................................................. 18
David Muñoz: 22-SIST-1-039 ............................................................................................................. 18
Crismeilin Luna: 22-sist-1-004........................................................................................................... 19
INVESTIGAR-RESPONDER-DAR EJEMPLO

Geury Batista Bernabel: 22-SIST-1-001

¿Qué son las estructuras de datos y para qué sirven?

En ciencias de la computación, una estructura de datos1 es una forma particular de organizar


información en un computador para que pueda ser utilizada 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 medios para manejar grandes cantidades de información 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 de 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. Más precisamente, una estructura de datos es una colección de valores,
las relaciones entre ellos y las funciones y operaciones que se pueden aplicar a los datos,5 es
decir, es una estructura algebraica de datos.

En el ámbito de la informática, las estructuras de datos son aquellas que nos permiten, como
desarrolladores, organizar la información de manera eficiente, y en definitiva diseñar la
solución correcta para un determinado problema.

Mencione y describa tipo estructura de datos

Lineales (ej. arrays) o no lineales (ej. grafos);

Homogéneas (todos los datos que componen la estructura son del mismo tipo) o

heterogéneas (pueden contener datos de varios tipos);

Estáticas (tiene tamaño/capacidad de memoria fija) o dinámicas (pueden expandir).

Existen varios tipos de estructuras de datos utilizadas en programación para organizar y


almacenar información de manera eficiente. A continuación, mencionaré algunos de los tipos
más comunes junto con una breve descripción de cada uno:

Arreglos (Arrays): Un arreglo es una estructura de datos que almacena elementos del mismo
tipo de forma contigua en la memoria. Los elementos se acceden mediante un índice
numérico, lo que permite un acceso rápido a los datos. Sin embargo, la inserción o
eliminación de elementos en el medio del arreglo puede ser costosa en términos de
rendimiento.
Listas Enlazadas (Linked Lists): Una lista enlazada es una estructura de datos en la que
cada elemento, llamado nodo, contiene un valor y un enlace al siguiente nodo de la lista. Esto
permite una inserción o eliminación eficiente de elementos en cualquier posición, aunque el
acceso aleatorio a los elementos puede ser más lento que en un arreglo.

Pilas (Stacks): Una pila es una estructura de datos en la que los elementos se almacenan y
recuperan según el principio "LIFO" (Last-In, First-Out). Es decir, el último elemento que se
inserta es el primero en ser eliminado. Esto se logra mediante operaciones de "apilar" (push)
para agregar elementos a la pila y "desapilar" (pop) para eliminar el elemento superior.

Colas (Queues): Una cola es una estructura de datos similar a una pila, pero sigue el
principio "FIFO" (First-In, First-Out). Los elementos se insertan al final de la cola y se
eliminan desde el frente. Esto se logra mediante operaciones de "encolar" (enqueue) para
agregar elementos y "desencolar" (dequeue) para eliminar el elemento frontal.
Árboles (Trees): Los árboles son estructuras de datos jerárquicas en las que los elementos se
organizan en forma de árbol invertido. Cada elemento, excepto el nodo raíz, tiene un padre y
cero o más hijos. Los árboles se utilizan en diversas aplicaciones, como árboles binarios,
árboles de búsqueda binaria, árboles AVL, árboles de expresiones, entre otros.

Grafos (Graphs): Los grafos son estructuras de datos que constan de un conjunto de nodos o
vértices conectados entre sí mediante enlaces llamados aristas. Los grafos se utilizan para
representar relaciones y conexiones en muchas aplicaciones, como redes sociales, mapas,
rutas de navegación, entre otros.

Estos son solo algunos ejemplos de estructuras de datos utilizadas en programación. Cada una
tiene sus propias características y ventajas según el contexto y los requerimientos del
problema a resolver.

¿Cuáles son las 5 estructuras de datos?

Arreglos (Arrays): Un arreglo es una colección ordenada de elementos del mismo tipo,
donde cada elemento se accede mediante un índice. Los arreglos tienen un tamaño fijo y los
elementos se almacenan de manera contigua en la memoria.

Listas Enlazadas (Linked Lists): Una lista enlazada es una colección de nodos, donde cada
nodo contiene un valor y un enlace al siguiente nodo. A diferencia de los arreglos, las listas
enlazadas no requieren una cantidad fija de memoria y permiten una inserción y eliminación
eficiente en cualquier posición.

Pilas (Stacks): Una pila es una estructura de datos lineal en la que los elementos se insertan y
eliminan según el principio "LIFO" (Last-In, First-Out). Solo se puede acceder al elemento
superior de la pila, lo que implica que el último elemento insertado es el primero en ser
eliminado.

Colas (Queues): Una cola es una estructura de datos lineal en la que los elementos se
insertan al final y se eliminan desde el frente según el principio "FIFO" (First-In, First-Out).
Los elementos se agregan a un extremo de la cola y se eliminan desde el otro extremo.
Árboles (Trees): Un árbol es una estructura de datos no lineal compuesta por nodos
interconectados. Cada nodo tiene un valor y cero o más nodos secundarios, que a su vez
pueden tener sus propios nodos secundarios. Los árboles se utilizan en diversas aplicaciones,
como árboles binarios, árboles de búsqueda binaria, árboles AVL, entre otros.

¿Cómo es la estructura de datos?

Una estructura de datos se refiere a la forma en que los datos se organizan y se almacenan en
la memoria de una computadora. Define cómo se accede, se manipula y se gestiona la
información dentro de un programa.

La estructura de datos determina la eficiencia y la facilidad de uso de un algoritmo o


programa, ya que influye en el tiempo de ejecución y la utilización de recursos. Existen
varios tipos de estructuras de datos, como arreglos, listas enlazadas, pilas, colas, árboles,
grafos, entre otros.

La estructura de datos se compone de elementos básicos:


1. Elementos de datos: Son los valores o información que se almacenan en la estructura.
Pueden ser de diferentes tipos, como números, caracteres, objetos, etc.

2. Relaciones: Definen la forma en que los elementos de datos están interconectados y se


relacionan entre sí dentro de la estructura. Estas relaciones pueden ser jerárquicas,
secuenciales, de dependencia, entre otras.

3. Operaciones: Son las acciones que se pueden realizar en la estructura de datos, como la
inserción, eliminación, búsqueda, modificación y acceso a los elementos. Estas operaciones
permiten manipular la información almacenada en la estructura.

4. Reglas de acceso: Son las restricciones o normas que definen cómo se puede acceder a los
elementos de datos dentro de la estructura. Por ejemplo, algunas estructuras de datos
permiten el acceso aleatorio a los elementos, mientras que otras solo permiten el acceso
secuencial.

La elección de la estructura de datos adecuada depende de los requisitos del problema a


resolver, la eficiencia requerida y las operaciones que se realizarán con mayor frecuencia.
Cada estructura de datos tiene sus propias ventajas y desventajas en términos de tiempo de
ejecución, consumo de memoria y facilidad de implementación.

¿Cuáles son las estructuras de datos más comunes?

Lista de enlazada, pilas y colas son las estructuras de datos más comunes.

¿Qué es un tipo de dato abstracto (TDA)?

En el mundo de la programación existen diversos lenguajes de programación que se han ido


creando con el paso del tiempo y que se han perfeccionado debido a las necesidades de los
programadores de la época a la que pertenecen. Los primeros lenguajes de programación eran
de tipo lineal, ya que un programa se recorría desde un punto marcado como Inicio hasta
llegar a un punto Fin. Con el tiempo se fueron creando nuevos lenguajes y en nuestros días
los más utilizados son los llamados “orientados a objetos”.
Los lenguajes de programación orientados a objetos (POO) tienen la característica de que no
son lenguajes lineales, sino que se forman de diversas funciones, las cuales son llamadas en
el orden en que el programa mismo las pide o el usuario determina. Para entender mejor
cómo funcionan los lenguajes orientados a objetos, vamos a introducir un concepto
fundamental en las Estructuras de Datos denominado Abstracción de Datos y que es parte
importante de estos Lenguajes y de la manera en que funciona la mayoría del software
comercial de nuestros días.

Mencione los TDA básicos

TDA lista: representa una colección de elementos ordenados. puede contener elementos
repetidos. cada elemento de la lista tiene un índice que lo ubica dentro de la misma.

TDA pila: Una pila (stack o pushdown en inglés) es una lista de elementos de la cual sólo se
puede extraer el último elemento insertado. La posición en donde se encuentra dicho
elemento se denomina tope de la pila.

TDA cola: Una cola (queue en inglés) es una lista de elementos en donde siempre se insertan
nuevos elementos al final de la lista y se extraen elementos desde el inicio de la lista.

TDA cola de prioridad: Una cola de prioridad es una cola en la que cada elemento tiene
asociada una prioridad. La operación de extracción siempre elige el elemento de menor
prioridad.

Ejemplos:
La cola de las ciudades ordenadas por su distancia al destino final.
Las colas de las tareas pendientes ordenadas por su fecha de terminación.

¿Qué es un árbol?

En ciencias de la computación y en informática, un árbol es un tipo abstracto de datos (TAD)


ampliamente usado que imita la estructura jerárquica de un árbol, con un valor en la raíz y
subárboles con un nodo padre, representado como un conjunto de nodos enlazados.
Una estructura de datos de árbol se puede definir de forma recursiva (localmente) como una
colección de nodos (a partir de un nodo raíz), donde cada nodo es una estructura de datos con
un valor, junto con una lista de referencias a los nodos (los hijos), con la condición de que
ninguna referencia esté duplicada ni que ningún nodo apunte a la raíz.

Alternativamente, un árbol se puede definir de manera abstracta en su conjunto como un


árbol ordenado, con un valor asignado a cada nodo. Ambas perspectivas son útiles: mientras
que un árbol puede ser analizado matemáticamente, realmente es representado como una
estructura de datos en la que se trabaja con cada nodo por separado (en lugar de como una
lista de nodos y una lista de adyacencia entre nodos, como un grafo). Mirando a un árbol
como conjunto, se puede hablar del nodo padre de un nodo dado, pero en general se habla de
una estructura de datos de un nodo dado que sólo contiene la lista de sus hijos sin referencia a
su padre (si lo hay).

¿Qué es un arreglo?

Los arreglos son estructuras de datos que nos permiten almacenar otros datos dentro de este
tipo de datos. Es decir, es un contenedor que nos permite tener varios datos al mismo tiempo
almacenados. Los arreglos también son conocidos por su nombre en inglés como "arrays".
David Muñoz: 22-SIST-1-039

¿Qué son las colas?

Una cola (también llamada fila) es un tipo de dato abstracto, caracterizada por ser una
secuencia de elementos en la que la operación de inserción push se realiza por un
extremo y la operación de extracción pull por el otro. También se le llama estructura
FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será
también el primero en salir.

¿Qué es una matriz?

Una matriz es una estructura de datos que consiste en filas y columnas. En otras
palabras, tiene múltiples filas y columnas, cada una con más de dos elementos. Las
intersecciones de filas y columnas se denominan celdas, y cada celda puede contener
información simple o compleja.
¿Qué es un vector?

Un vector es una serie de elementos en un orden específico, por lo general todos del mismo
tipo (si bien los elementos pueden ser de casi cualquier tipo). Se accede a los elementos
utilizando un entero como índice para especificar el elemento que se requiere. Las
implementaciones típicas asignan palabras de memoria contiguas a los elementos de los
arreglos (aunque no siempre es el caso). Los arreglos pueden cambiar de tamaño o tener una
longitud fija.

¿Qué es un índice?

Un índice es una estructura de datos


que permite recuperar las filas de una tabla de forma más rápida además de
proporcionar una ordenación distinta a la natural de la tabla. Un índice se define sobre
una columna o sobre un grupo de columnas, y las filas se ordenarán según los valores
contenidos en esas columnas.
¿Qué es una pila?

Una pila es una lista ordenada o estructura de datos que permite almacenar y recuperar datos,
siendo el modo de acceso a sus elementos de tipo LIFO. Esta estructura se aplica en multitud
de supuestos en el área de la informática debido a su simplicidad y capacidad de dar respuesta
a numerosos procesos.

¿Qué es una lista enlazada?

una lista enlazada es una de las


estructuras de datos fundamentales, y puede ser usada para implementar otras
estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan
campos de datos arbitrarios y una o dos referencias, enlaces o punteros al nodo
anterior o posterior. El principal beneficio de las listas enlazadas respecto a los
vectores convencionales 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.

Las pilas como estructuras de datos LIFO se refiere a:

último en entrar, primero en salir.

¿Gráficamente cómo se representa un grafo?

Típicamente, un grafo se representa gráficamente como un conjunto de puntos (vértices o


nodos) unidos por líneas (aristas o arcos). Desde un punto de vista práctico, los grafos
permiten estudiar las interrelaciones entre unidades que interactúan unas con otras.
¿Qué tipo de estructura de datos es un árbol?

Un árbol se puede definir como una estructura jerárquica y en forma no lineal, aplicada sobre
una colección de elementos u objetos llamados nodos.

Crismeilin Luna: 22-sist-1-004

¿Qué es el encapsulamiento en POO?


El encapsulamiento es uno de los principios fundamentales de la Programación Orientada a
Objetos (POO). Se refiere a la idea de ocultar los detalles internos de un objeto y exponer
solo una interfaz o conjunto de métodos públicos para interactuar con ese objeto.

El encapsulamiento busca agrupar datos y los métodos que los manipulan en una única
entidad llamada objeto. Los datos dentro del objeto están protegidos y no son accesibles
directamente desde fuera del objeto. En cambio, se accede a los datos a través de métodos
públicos o propiedades que actúan como interfaces para interactuar con el objeto.

El objetivo principal del encapsulamiento es proteger los datos y garantizar la integridad de


los objetos. Al ocultar los detalles internos, se evita que otros objetos o partes del código
accedan directamente y modifiquen el estado interno del objeto de manera incorrecta o no
deseada. Esto permite un mejor control sobre los datos y facilita el mantenimiento y la
evolución del código.

El encapsulamiento también facilita el modularidad y el reuso de código. Al exponer solo una


interfaz pública limitada, se pueden cambiar y mejorar los detalles internos del objeto sin
afectar a otras partes del programa que utilizan el objeto. Además, se pueden crear objetos
que ocultan la complejidad interna y proporcionan una interfaz simplificada y fácil de usar.

¿A qué se le llama Herencia en POO?

En la programación orientada a objetos (POO), la herencia es un concepto que permite crear nuevas
clases basadas en clases existentes. Se basa en el principio de "es un/a" y se utiliza para modelar
relaciones de especialización y generalización entre clases.

La herencia permite que una clase (llamada clase derivada o subclase) herede propiedades y
comportamientos de otra clase (llamada clase base o superclase). La clase derivada hereda los
atributos y métodos de la clase base y puede agregar nuevos atributos y métodos específicos si es
necesario.

La herencia se establece mediante la palabra clave "extends" en muchos lenguajes de programación


orientados a objetos. Al declarar una clase derivada, se especifica la clase base de la que se hereda. La
clase derivada puede acceder a los miembros públicos y protegidos de la clase base y puede modificar
su comportamiento o extenderlo según sea necesario.

La herencia permite la reutilización de código, ya que la clase derivada puede aprovechar la


funcionalidad ya implementada en la clase base. Esto promueve la modularidad y evita la duplicación
de código. Además, la herencia facilita la abstracción y la creación de jerarquías de clases, donde las
clases más especializadas heredan características de las clases más generales.

Un ejemplo común de herencia es la relación entre una clase "Animal" como clase base y las clases
derivadas como "Perro" y "Gato". La clase "Animal" puede tener atributos y métodos comunes a
todos los animales, como "nombre" y "hacerSonido", mientras que las clases "Perro" y "Gato" pueden
agregar atributos y métodos específicos, como "ladrar" y "maullar", respectivamente.
¿Para qué sirven los métodos getters (get) y setters (set)?

Los métodos getters (get) y setters (set) son parte de las convenciones utilizadas en la
programación orientada a objetos (POO) para acceder y modificar los atributos de un objeto
de manera controlada. Estos métodos proporcionan una interfaz pública para obtener y
establecer los valores de los atributos de un objeto, en lugar de permitir un acceso directo a
los atributos.
Aquí se explica su utilidad:
1. Métodos getters (get): Un método getter permite obtener el valor de un atributo específico
de un objeto. En lugar de acceder directamente al atributo, se utiliza un método get que
devuelve el valor almacenado en el atributo.
Esto tiene varias ventajas:

- Encapsulación: Los métodos getters ocultan los detalles internos de cómo se almacena un
atributo y proporcionan una forma controlada de acceder a su valor. Esto protege la
integridad de los datos y evita modificaciones no deseadas.

- Control de acceso: Los métodos getters pueden aplicar lógica adicional antes de devolver
el valor del atributo. Por ejemplo, pueden realizar validaciones o cálculos antes de entregar el
valor. Esto permite mantener una coherencia interna y aplicar reglas específicas según sea
necesario.

- Flexibilidad: Si en algún momento se necesita modificar la forma en que se obtiene el


valor de un atributo, solo es necesario modificar el método getter correspondiente sin afectar
el código externo que utiliza ese método.
2. Métodos setters (set): Un método setter permite modificar el valor de un atributo específico
de un objeto. En lugar de permitir un acceso directo al atributo, se utiliza un método set que
recibe un nuevo valor y actualiza el atributo. Los métodos setters también ofrecen varias
ventajas:

- Encapsulación: Los métodos setters permiten controlar cómo se actualiza el valor de un


atributo. Pueden aplicar validaciones o restricciones antes de aceptar el nuevo valor,
asegurando que los datos mantengan su integridad.
- Control de acceso: Los métodos setters pueden aplicar lógica adicional antes de actualizar
el valor del atributo. Por ejemplo, pueden realizar validaciones de rango o ejecutar acciones
adicionales relacionadas con el cambio del valor.

¿Qué es el ordenamiento por selección?


El ordenamiento por selección (Selection Sort en inglés) es un algoritmo de ordenamiento
simple e intuitivo. Funciona seleccionando repetidamente el elemento mínimo (o máximo) de
una lista no ordenada y colocándolo en la posición correcta dentro de la lista ordenada. Este
proceso se repite hasta que toda la lista esté ordenada.

El algoritmo de ordenamiento por selección sigue los siguientes pasos:

1. Encuentra el elemento mínimo (o máximo) en la lista no ordenada.


2. Intercambia ese elemento con el primer elemento de la lista no ordenada.
3. Ahora, la lista no ordenada se reduce en tamaño, ya que el elemento mínimo está en su
posición correcta en la lista ordenada.
4. Repite los pasos 1-3 para la lista no ordenada restante hasta que toda la lista esté ordenada.

El ordenamiento por selección tiene una complejidad de tiempo de O(n^2), donde "n" es el
número de elementos en la lista. Esto se debe a que en cada iteración se realiza una búsqueda
lineal para encontrar el mínimo (o máximo) en la lista no ordenada, y se repite este proceso n
veces.

Aunque el ordenamiento por selección es relativamente fácil de entender e implementar, no


es eficiente para grandes conjuntos de datos debido a su complejidad cuadrática. En
comparación con otros algoritmos de ordenamiento más avanzados, como el ordenamiento
rápido (quicksort) o el ordenamiento de mezcla (mergesort), el ordenamiento por selección
no es recomendado para conjuntos de datos grandes.

Sin embargo, el ordenamiento por selección puede ser útil en ciertos casos específicos, como
cuando el costo de cambiar elementos es alto en comparación con el costo de encontrar el
mínimo (o máximo). Además, es un buen algoritmo para ilustrar conceptos básicos de
ordenamiento y se utiliza a menudo en ejemplos didácticos.

Menciona 5 operaciones que se puedan realizar en una cola:


Aquí tienes cinco operaciones comunes que se pueden realizar en una cola:
1. Enqueue (Agregar): Esta operación permite agregar un elemento al final de la cola. El nuevo
elemento se convierte en el último de la cola.
2. Dequeue (Eliminar): Esta operación permite eliminar el elemento en el frente de la cola. El
siguiente elemento en la cola se convierte en el nuevo frente.
3. Front (Frente): Esta operación permite obtener el elemento en el frente de la cola sin eliminarlo.
Proporciona acceso al primer elemento en la cola.
4. IsEmpty (Está vacía): Esta operación verifica si la cola está vacía. Devuelve un valor booleano
(verdadero o falso) que indica si la cola no contiene elementos.
5. Size (Tamaño): Esta operación devuelve el número de elementos presentes en la cola en un
momento dado. Proporciona la cantidad de elementos que hay en la cola.

¿En qué consiste el ordenamiento de burbuja?


El ordenamiento de burbuja (Bubble Sort en inglés) es un algoritmo de ordenamiento simple que
compara repetidamente pares de elementos adyacentes y los intercambia si están en el orden
incorrecto. El proceso se repite hasta que toda la lista esté ordenada.
El algoritmo de ordenamiento de burbuja sigue los siguientes pasos:
1. Compara el primer elemento con el segundo elemento. Si están en el orden incorrecto, se
intercambian.
2. Luego, compara el segundo elemento con el tercero, y así sucesivamente, hasta llegar al final de la
lista.
3. Después de una pasada completa, el elemento más grande (o más pequeño, dependiendo del
ordenamiento deseado) estará en la posición final de la lista.
4. Repite los pasos 1-3 para el resto de los elementos de la lista, excepto los ya ordenados.
5. Continúa realizando pasadas completas hasta que no haya más intercambios necesarios, lo que
indica que la lista está completamente ordenada.
El nombre "burbuja" se debe a que los elementos más grandes (o más pequeños) "burbujean"
gradualmente hacia su posición final a medida que se realizan las comparaciones y los intercambios.
El ordenamiento de burbuja tiene una complejidad de tiempo de O(n^2), donde "n" es el número de
elementos en la lista. Esto se debe a que se necesitan dos bucles anidados para recorrer la lista y
realizar las comparaciones y los intercambios.
Aunque el ordenamiento de burbuja es sencillo de entender e implementar, no es eficiente para
conjuntos de datos grandes debido a su complejidad cuadrática. Otros algoritmos de ordenamiento
más eficientes, como el ordenamiento rápido (quicksort) o el ordenamiento de mezcla (mergesort),
suelen ser preferibles en la práctica.

¿Cuáles son los tipos de métodos de ordenamiento?

Existen diversos tipos de métodos de ordenamiento utilizados en ciencias de la computación


y programación. Algunos de los métodos de ordenamiento más comunes son:
1. Ordenamiento por selección (Selection Sort): Encuentra repetidamente el elemento
mínimo de la lista y lo coloca al inicio, dejando el resto de la lista sin ordenar.
2. Ordenamiento por inserción (Insertion Sort): Construye una lista ordenada insertando
elementos uno a uno en su posición correcta dentro de la lista.
3. Ordenamiento por burbuja (Bubble Sort): Compara repetidamente pares de elementos
adyacentes y los intercambia si están en el orden incorrecto, "haciendo burbujear" los
elementos más grandes hacia el final de la lista.
4. Ordenamiento por mezcla (Merge Sort): Divide la lista en dos mitades, las ordena por
separado y luego combina las dos sublistas ordenadas para obtener una lista ordenada
completa.
5. Ordenamiento rápido (Quicksort): Divide la lista en dos subconjuntos, según un
elemento pivote, y luego ordena recursivamente cada subconjunto.

¿Qué es un árbol binario?

Un árbol binario es una estructura de datos en forma de árbol donde cada nodo tiene como
máximo dos hijos: un hijo izquierdo y un hijo derecho. Cada nodo del árbol binario tiene una
relación con sus hijos y con su padre, excepto el nodo raíz, que no tiene un padre.
RESPONDER (F) O VERDADERO(V)

Geury Batista Bernabel: 22-SIST-1-001


Un programa es un conjunto de instrucciones para la ejecución de una determinada tarea. V
La estructura WHILE-DO. ¿Repite las instrucciones HASTA que la condición sea verdadera? F
La estructura REPEAT-UNTIL, repite las instrucciones hasta que la condición sea verdadera V
Compilar sire, para traducir el código a un lenguaje entendible para la computadora V
Estructura de datos, es una forma de organizar los ítems en términos de memoria, y también la forma
de acceder a cada ítem a través de una lógica definida. V
Algunos ejemplos de estructuras de datos son pilas, colas, listas enlazadas, árbol binario y muchos
más. V
Tipos de Datos es lo mismo que Estructura de Datos. F
Los Apuntadores se emplean para implantar una Lista. V
Para insertar o eliminar un elemento en una lista, se define primero la posición en donde
insertar y luego a qué nodo cambiar. F

David Muñoz: 22-SIST-1-039

Un vector es una matriz. F


Un arreglo hace uso de índices. V
Un arreglo bidimensional emplea dos índices. V
Un arreglo tiene un solo tipo de dato V
En una Pila el primer elemento está al final de la Pila. V
En una Pila aplica LIFO. V
Una lista puede tener varias sub -listas. V
Un Árbol es una Estructura Jerárquica. V
Un Árbol se puede descomponer en un Arreglo. V

Crismeilin Luna: 22-sist-1-004

El valor π es tipo de dato float. F


Para eliminar un elemento en una Pila, se desplazan los elementos anteriores para arriba. F
Una cola es un tipo de Dato. F
Una cola requiere de espacio en memoria Interna. V
En una cola se puede cambiar F
Un Grafo es una Estructura Jerárquica. F
Un Grafo se puede descomponer en un Arreglo. F
El método Quick Sort es también llamado método de ordenamiento. V
El método Shell Sort consiste en comparar pares de elementos adyacentes e intercambiarlos
entre sí. F
Síntesis

Geury Batista Bernabel: 22-SIST-1-001


Las estructuras de datos son formas particulares de organizar la información en un
computador para su uso eficiente. Son medios para manejar grandes cantidades de
información, como bases de datos y servicios de indización de Internet. Las estructuras de
datos eficientes son clave para diseñar algoritmos eficientes. Pueden ser lineales (como
arrays) o no lineales (como grafos), homogéneas (todos los datos del mismo tipo) o
heterogéneas (datos de varios tipos), estáticas (con tamaño fijo) o dinámicas (que pueden
expandirse). Algunos ejemplos de estructuras de datos comunes son los arrays, listas
enlazadas, pilas, colas, árboles y grafos.

Un tipo de dato abstracto (TDA) es una abstracción de datos que define una colección de
operaciones y restricciones sobre cómo se pueden manipular los datos. Algunos TDAs
básicos son la lista, pila, cola y cola de prioridad. Cada uno tiene características y reglas
específicas para su uso.

Un árbol es una estructura de datos jerárquica compuesta por nodos interconectados. Cada
nodo tiene un valor y cero o más nodos secundarios. Los árboles se utilizan en diversas
aplicaciones y pueden tener diferentes variaciones, como árboles binarios, árboles de
búsqueda binaria y árboles AVL.
Un arreglo es una estructura de datos que almacena elementos del mismo tipo de forma
contigua en la memoria. Se accede a los elementos mediante un índice numérico.

David Muñoz: 22-SIST-1-039


El vector es un contenedor que organiza los elementos de un tipo determinado en una
secuencia lineal. Permite el acceso aleatorio rápido a cualquier elemento, así como agregar y
eliminar elementos de la secuencia de forma dinámica.
Un vector es un array de una fila x el número de columna o viceversa y una matriz es un
array del número de filas x números de columnas.
Otra diferencia entre un vector y una matriz seria la manera de acceder a dichas estructuras,
mientras los vectores son accedidos con un subíndice, las matrices usan dos subíndices para
acceder a un elemento.
En relación con la estructura de datos podríamos incluir las pilas, la pila seria la manera en la
que se podrían introducir y extraer información en una estructura de datos y la eficiencia que
esta podría brindarnos en la ejecución de un programa. Dentro de la estructura de datos pilas
podemos señalar una manera de introducir y extraer información que sería LIFO que consiste
en despachar las informaciones se van agregando recientemente.
Crismeilin Luna: 22-sist-1-004
Los árboles son una estructura de datos no lineal que se utilizan ampliamente en informática
y ciencias de la computación. Él encapsulamiento es uno de los cuatro conceptos
fundamentales de la Programación Orientada a Objetos (POO). Consiste en ocultar los
detalles internos y el funcionamiento de una clase, y solo exponer una interfaz pública que
permita interactuar con los objetos de dicha clase de una manera controlada.
La herencia es uno de los pilares fundamentales de la Programación Orientada a Objetos
(POO). Se refiere a la capacidad de una clase de heredar atributos y comportamientos de otra
clase, que se denomina clase padre o clase base. La clase que hereda se conoce como clase
hija o clase derivada. Los métodos getters (get) y setters (set) son comunes en la
Programación Orientada a Objetos (POO) y se utilizan para acceder y modificar los atributos
(datos) de una clase de manera controlada.
El ordenamiento por selección (Selection Sort en inglés) es un algoritmo de ordenamiento
simple y fácil de implementar. Funciona mediante la exploración repetida de una lista de
elementos para encontrar el elemento mínimo (o máximo, dependiendo del orden deseado) y
luego lo coloca en la posición correcta en la lista ordenada. En una cola, que es una estructura
de datos que sigue el principio de "Primero en entrar, primero en salir" (FIFO). El
ordenamiento de burbuja (Bubble Sort en inglés) es un algoritmo de ordenamiento simple
pero ineficiente en términos de tiempo de ejecución. Funciona comparando repetidamente
pares de elementos adyacentes en una lista y los intercambia si están en el orden incorrecto,
"haciendo burbujear" los elementos más grandes hacia el final de la lista. Este proceso se
repite hasta que toda la lista esté ordenada.
Los métodos de ordenamiento son algoritmos utilizados para organizar elementos en una lista
o arreglo en un orden específico, como ascendente o descendente. Un árbol binario es una
estructura de datos no lineal que consta de nodos interconectados. Cada nodo puede tener
como máximo dos hijos: un hijo izquierdo y un hijo derecho. El nodo que se encuentra en la
parte superior del árbol se llama "raíz".

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy