Está en la página 1de 21

Universidad de Oriente.

Núcleo Sucre – Extensión Carúpano.


Escuela de Ciencias.
Departamento de Informática.

INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS COMPUESTAS.

Profesor: Bachiller:
Rafael Rodríguez. Juana Hidalgo.
Algoritmo y estructura de datos I. C.I: 30.731.540.
Sección 25.

Enero, 2022.
ÍNDICE

INTRODUCCIÓN................................................................................................................... 4
OBJETIVOS DE LA INVESTIGACIÓN ...................................................................................... 5
Objetivo General. ................................................................................................................ 5
Objetivos Específicos. ......................................................................................................... 5
JUSTIFICACIÓN .................................................................................................................... 6
1. Estructuras de datos. .................................................................................................. 7
1.1 Definición. ............................................................................................................... 7
1.2 Clasificación............................................................................................................. 7
2. Tratamiento de Cadenas. ............................................................................................ 8
3. Estructura de datos Estáticas. ..................................................................................... 9
3.1 Estructura de Dato: Arreglos................................................................................... 9
3.1.1 Definición y manipulación de arreglos unidimensionales. ................................. 9
3.1.2 Definición y manipulación de arreglos multidimensionales. ............................ 10
3.1.3 Operaciones con arreglos. ................................................................................ 10
3.1.4 Paso de Arreglo como argumento en subprogramas. ...................................... 11
3.1.5 Algoritmos de Ordenamiento en arreglos. ....................................................... 11
3.1.5.1 Intercambio o burbuja. ..................................................................................... 11
3.1.5.2 Selección. .......................................................................................................... 12
3.1.5.3 Inserción............................................................................................................ 12
3.1.6 Algoritmos de Búsqueda en arreglos. ............................................................... 13
3.1.6.1 Secuencial. ........................................................................................................ 13
3.1.6.2 Binaria. .............................................................................................................. 13
3.2 Estructura de Dato: Registro. ................................................................................ 14
3.2.1 Definición. ......................................................................................................... 14
3.2.2 Operaciones básicas con Registros. .................................................................. 15
3.2.3 Registros jerárquicos......................................................................................... 16
3.2.4 Registros como parámetros. ............................................................................. 16
3.2.5 Arreglos de Registros. ....................................................................................... 16
4. Estructura de Dato: Archivo. ..................................................................................... 16
4.1 Definición. ............................................................................................................. 16
4.2 Operaciones básicas sobre archivos Secuenciales y Binarios (Crear, Abrir, Leer
Registro, Grabar Registro, Cerrar, Eliminar, Renombrar). ................................................ 17
REFERENCIAS BIBLIOGRÁFICAS. ........................................................................................ 19
ANEXOS ............................................................................................................................. 20

.
INTRODUCCIÓN

Las estructuras de datos existen para ayudarnos en la compleja tarea de resolver


problemas en programación, sin importar el lenguaje de programación que se
utilice, si se van a manejar datos de cualquier tipo siempre se utilizaran las
estructuras de datos. Dicho esto, se puede decir que tener una base sólida de
entendimiento sobre las características de una estructura de datos llevará a elegir
la mejor forma para la resolución del problema.

Los tipos son un enlace importante entre el mundo exterior y los elementos datos
que manipulan los programas. Su uso permite a los desarrolladores limitar su
atención a tipos específicos de datos, que tienen propiedades únicas. Por ejemplo,
el tamaño es una propiedad determinante en los arreglos y en las cadenas; sin
embargo, no es una propiedad esencial en los valores lógicos: verdadero y falso.

Existen tres tipos agregados básicos: arreglos y matrices, registros y secuencias de


texto o cadenas.
OBJETIVOS DE LA INVESTIGACIÓN

Objetivo General.

Conocer a profundidad las distintas estructuras de datos compuestas, además de


sus operaciones básicas.

Objetivos Específicos.

 Definir los arreglos, los registros y los archivos.

 Conocer los métodos de ordenamiento y búsqueda de arreglos.

 Definir los dos tipos de arreglos.

 Conocer el algoritmo de ordenación por inserción.

 Conocer el algoritmo de selección.

 Diferenciar entre búsqueda secuencial y búsqueda binaria.


JUSTIFICACIÓN

Una estructura de datos es una forma de almacenar y organizar datos para


proporcionar el acceso y modificaciones. De lo mencionado anteriormente,
podemos definir que las estructuras de datos como una colección de datos que se
caracterizan por su organización y las operaciones que se definen en ella; algunas
de las más usadas son los arreglos, sin embargo este tipo de estructura tienen una
importante limitación: no pueden cambiar de tamaño durante la ejecución, pues
están compuestos por un determinado número de elementos, número que se
decide en la fase de diseño, antes de que el programa ejecutable sea creado.

Pese a esto, en muchas ocasiones se necesitan estructuras que puedan cambiar de


tamaño durante la ejecución del programa, pues si definimos en un programa una
variable estática estamos fijado previamente cual va a ser su espacio en memoria y
cuáles van a ser los posibles valores que puede tomar a lo largo de la ejecución del
programa; existen problemas complejos que se resuelven más eficazmente
mediante la utilización de variables que cambien dinámicamente la cantidad o el
tipo de datos que pueden contener; este tipo de estructuras de datos se denomina
estructuras dinámicas.

Sin embargo en el presente trabajo, se abordarán a profundidad las estructuras


estáticas, aquellas estructuras de datos cuyo tamaño no varía a lo largo de toda la
ejecución del programa. Las denominaremos estáticas para distinguirlas de
aquellas estructuras de datos o formas de almacenamiento interno que se basan en
la utilización dinámica de memoria, como ya se ha mencionado anteriormente.
1. Estructuras de datos.
1.1 Definición.

Las estructuras de datos, llamadas también datos estructurados son una colección
o conjunto de datos simples que se caracterizan por su organización y las
operaciones que se definen en ella; son distintas maneras de organizar
información para manipular, buscar e insertar datos de manera eficiente.

Con estos se representa el manejo y la ubicación de la información en la memoria


interna de la computadora. Por lo cual se administra el espacio en dicha memoria.

1.2 Clasificación.

Una primera clasificación de los datos será:

 Estructura de datos contigua o física: Son aquellas que al representarse en


el hardware del ordenador, lo hacen situando sus datos en áreas adyacentes
de memoria; un dato en una estructura contigua se localiza directamente
calculando su posición relativa al principio del área de memoria que
contiene la estructura. Los daros se relacionan por su vecindad o por su
posición relativa dentro de la estructura.

 Estructura de datos enlazadas: Son estructuras cuyos datos no tienen por


qué situarse de forma contigua en la memoria; en las estructuras enlazadas
los datos se relacionan unos con otros mediante punteros (un tipo de dato
que sirve para apuntar hacia otro dato y por tanto para determinar cuál es
el siguiente dato de la estructura).

También pueden clasificarse dependiendo de la técnica que se utilice para su


almacenamiento y recuperación, estos tipos son los siguientes:

 Estructura de datos estática: Es aquella en la que el tamaño ocupado en


memoria se define antes de que el programa se ejecute y no pueda
modificarse dicho tamaño durante la ejecución del programa, su principal
característica es que solo usan una casilla de memoria.

Entre ellas se encuentran:


• Arrays
• Registros
• Archivos

 Estructura de datos dinámica: Son estructuras que pueden crecer o


decrecen en tamaño, durante la ejecución, dependiendo de las necesidades
de la aplicación, sin que el programador pueda o deba determinarlo
previamente. Éstas no tienen teóricamente limitaciones en su tamaño,
salvo la única restricción de la memoria disponible en el computador.

A este tipo corresponden:

• Lineales (Pilas, Colas y listas enlazadas).


• No lineales (árboles y grafos).

2. Tratamiento de Cadenas.

Para el tratamiento de cadenas existen tres operaciones básicas:

• Longitud de la cadena, Toda cadena tiene una longitud finita de caracteres,


determinar cuál es la cantidad de caracteres que posee una cadena, es conocer su
longitud lógica, por lo tanto la entrada es una cadena y su salida es un valor
entero, que indica la cantidad de caracteres que contiene en un momento
determinado del proceso, ese valor estará entre cero y el máximo permitido en su
declaración. La longitud lógica de una cadena es dinámica debido a que podrá
cambiar en tiempo de ejecución.

• Concatenación de cadenas, Es la operación que permite unir dos o más


cadenas en una sola. La nueva cadena contendrá cada una de las cadenas en el
orden en que han sido unidas y su longitud lógica será igual a la suma de cada una
de las longitudes lógicas de esas cadenas. Si el resultado de concatenar cadenas
resulta una cadena con longitud mayor a lo esperado, en estos casos se trunca o
corta la cadena hasta la longitud máxima aceptada,

• Sub-cadenas, Es la operación que permite obtener una parte de una cadena,


sin modificar la cadena original, en realidad se hace una copia.
Una cadena puede ser tratada de dos formas:

 Completa.

 Individual: Por sus componentes, es decir, por sus caracteres o símbolos.

3. Estructura de datos Estáticas.

3.1 Estructura de Dato: Arreglos.

Un arreglo es una colección de datos del mismo tipo, que se almacenan en


posiciones consecutivas de memoria y reciben un nombre común.

Un arreglo es una colección finita, homogénea y ordenada de elementos.

 Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el
número máximo de elementos que podrán formar parte del arreglo.

 Homogénea: Esto significa que todos los elementos del arreglo deben ser
del mismo tipo. (Todos enteros, todos reales, todos booleanos, etc.)

 Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el


tercero,.... y el n-ésimo elemento.

3.1.1 Definición y manipulación de arreglos unidimensionales.

Un arreglo unidimensional es un tipo de datos estructurado que está formado por


una colección finita y ordenada de datos del mismo tipo. Es la estructura natural
para modelar listas de elementos iguales. Los datos que se guarden en los arreglos
todos deben ser del mismo tipo.

El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir,


podemos acceder a cualquier elemento del arreglo sin tener que consultar a
elementos anteriores o posteriores, esto mediante el uso de un índice para cada
elemento del arreglo que nos da su posición relativa.

Para implementar arreglos unidimensionales se debe reservar espacio en memoria.

Los arreglos nos permiten hacer un conjunto de operaciones para manipular los
datos guardados en ellos, estas operaciones son: ordenar, buscar, insertar,
eliminar, modificar entre otras.
3.1.2 Definición y manipulación de arreglos multidimensionales.

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo


bidimensional está simultáneamente en una fila y en una columna. En un arreglo
bidimensional, cada elemento tiene una posición que se identifica mediante dos
índices: el de su fila y el de su columna.

3.1.3 Operaciones con arreglos.

Las operaciones básicas que se emplean en los arreglos son las siguientes:

 Lectura – Escritura: El proceso de lectura de un arreglo consiste en leer y


asignar un valor a cada uno de sus componentes. Similar a la lectura, se
debe escribir el valor de cada uno de los componentes.

 Asignación: En este caso no es posible asignar directamente un valor a


todo el arreglo; sino que se debe asignar el valor deseado a cada
componente.

 Actualización: Este proceso se puede dar a través de tres operaciones


básicas: inserción o adición de un nuevo elemento al arreglo; eliminación
o borrado de un elemento del arreglo; y modificación o reasignación de un
elemento del arreglo.

 Ordenación, Inserción, Eliminación, Modificación y Ordenación: Es el


proceso de organizar los elementos de un vector en algún orden dado que
puede ser ascendente o descendente. Existen diferentes formas o métodos
para hacer este proceso: método de burbuja, método de burbuja mejorado,
ordenación por selección, inserción o método de la baraja, método Shell,
Binsort o por urnas, ordenación por montículos o HeapSort, por mezcla o
MergeSort, método de la sacudida o Shackersort, Rapid Sort o Quick
Sort, por Árboles, etcétera.

 Búsqueda: Consiste en encontrar un determinado valor dentro del conjunto


de datos del arreglo, para recuperar alguna información asociada con el
valor buscado. Existen diferentes formas para hacer esta operación:
búsqueda secuencial o lineal, búsqueda binaria, búsqueda HASH, árboles
de búsqueda.

3.1.4 Paso de Arreglo como argumento en subprogramas.

Se puede utilizar un array completo como argumento a un subprograma.

 Cómo parámetro actual sólo habrá que indicar el nombre de la variable de


tipo array.

 Como parámetro formal habrá que indicar que se trata de un array:

• Utilizando un tipo de dato previamente definido como array.

• Indicando que es un array poniendo corchetes vacíos ([]) después del


identificador del parámetro.

3.1.5 Algoritmos de Ordenamiento en arreglos.

3.1.5.1 Intercambio o burbuja.

El bubble sort, también conocido como ordenamiento burbuja, funciona de la


siguiente manera: Se recorre el arreglo intercambiando los elementos adyacentes
que estén desordenados. Se recorre el arreglo tantas veces hasta que ya no haya
cambios. Prácticamente lo que hace es tomar el elemento mayor y lo va
recorriendo de posición en posición hasta ponerlo en su lugar.

Procedimiento Bubble Sort:

 Paso 1: [Inicializa i al final de arreglo] For i <- N down to 1 do

 Paso 2: [Inicia desde la segunda pos.] For j <- 2 to i do

 Paso 4: [Si a[j-1] es mayor que el que le sigue] If a[j-1] < a[j] then

 Paso 5: [Los intercambia] Swap(a, j-1, j).

 Paso 7: [Fin] End.


3.1.5.2 Selección.

El método de ordenamiento por selección consiste en encontrar el menor de todos


los elementos del arreglo e intercambiarlo con el que está en la primera posición.
Luego el segundo mas pequeño, y así sucesivamente hasta ordenar todo el arreglo.

Procedimiento Selection Sort:

 Paso 1: [Para cada pos. del arreglo] For i <- 1 to N do

 Paso 2: [Inicializa la pos. del menor] menor <- i

 Paso 3: [Recorre todo el arreglo] For j <- i+1 to N do

 Paso 4: [Si a[j] es menor] If a[j] < a[menor] then

 Paso 5: [Reasigna el apuntador al menor] min = j

 Paso 6: [Intercambia los datos de la pos. min y posición i] Swap(a, min, j).

 Paso 7: [Fin] End.

3.1.5.3 Inserción.

Este método toma cada elemento del arreglo para ser ordenado y lo compara con
los que se encuentran en posiciones anteriores a la de él dentro del arreglo. Si
resulta que el elemento con el que se está comparando es mayor que el elemento a
ordenar, se recorre hacia la siguiente posición superior. Si por el contrario, resulta
que el elemento con el que se está comparando es menor que el elemento a
ordenar, se detiene el proceso de comparación pues se encontró que el elemento
ya está ordenado y se coloca en su posición (que es la siguiente a la del último
número con el que se comparó).

Procedimiento Insertion Sort:

Este procedimiento recibe el arreglo de datos a ordenar a[] y altera las posiciones
de sus elementos hasta dejarlos ordenados de menor a mayor. N representa el
número de elementos que contiene a[ ].

 Paso 1: [Para cada pos. del arreglo] For i <- 2 to N do

 Paso 2: [Inicializa v y j] v <- a[i] j <- i.


 Paso 3: [Compara v con los anteriores] While a[j-1] > v AND j>1 do

 Paso 4: [Recorre los datos mayores] Set a[j] <- a[j-1],

 Paso 5: [Decrementa j] set j <- j-1.

 Paso 5: [Inserta v en su posición] Set a[j] <- v.

 Paso 6: [Fin] End.

3.1.6 Algoritmos de Búsqueda en arreglos.

3.1.6.1 Secuencial.

La búsqueda secuencial, también se le conoce como búsqueda lineal.

Supongamos una colección de registros organizados como una lista lineal. El


algoritmo básico de búsqueda secuencial consiste en empezar al inicio de la lista e
ir a través de cada registro hasta encontrar la clave indicada (k) o hasta el final de
la lista.

Este método consiste en recorrer el arreglo o vector elemento a elemento e ir


comparando con el valor buscado (clave). Se empieza con la primera casilla del
vector y se observa una casilla tras otra hasta que se encuentre el elemento
buscado o se han visto todas las casillas. El resultado de la búsqueda es un solo
valor, y será la posición del elemento buscado o cero. Dado que el vector o arreglo
no está en ningún orden en particular, existe la misma probabilidad de que el valor
se encuentra ya se en el primer elemento, como en el ultimo. Por lo tanto, en
promedio, el programa tendrá que comparar el valor buscado con la mitad de los
elementos del vector.

El método de búsqueda lineal funciona bien con arreglos pequeños o para arreglos
no ordenados.

3.1.6.2 Binaria.

La búsqueda binaria es el método, donde si el arreglo o vector esta bien ordenado,


se reduce sucesivamente la operación eliminando repetidas veces la mitad de la
lista restante.
El proceso comienza comparando el elemento central del arreglo con el elemento
buscado. Si ambos coinciden finaliza la búsqueda. Si no ocurre así, el elemento
buscado será mayor o menor en sentido estricto que el elemento central del
arreglo. Si el elemento buscado es mayor se procede a hacer búsqueda binaria en
el subarray superior, si el elemento buscado es menor que el contenido de la
casilla central, se debe cambiar el segmento a considerar al segmento que está a la
izquierda de tal sitio central.

Este método se puede aplicar tanto a datos en listas lineales como en árboles
binarios de búsqueda. Los pre – requisitos para la búsqueda binaria son:

Ø La lista debe estar ordenada, en un orden especifico de acuerdo al valor de la


clave.

Ø Debe conocerse el número de elementos.

Si el conjunto de elementos es grande, el tiempo de búsqueda se puede reducir


utilizando el siguiente algoritmo de tipo divide y vencerás:

Ø Se divide el elemento en dos partes.

Ø Se determina la parte que debe contener la clave buscada.

Ø Se repite el proceso en esa parte.

Una forma razonable de dividir el conjunto de elementos es mantener los


elementos ordenados y después utilizar los índices del arreglo ordenado para
determinar la parte del arreglo sobre la que se va a trabajar.

3.2 Estructura de Dato: Registro.

3.2.1 Definición.

Un registro es un tipo de dato estructurado formado por la unión de varios


elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos
elementales (entero, real, carácter,...), o bien otras estructuras de datos. A cada
uno de esos elementos se le llama campo.
También, se puede decir que un registro (record) es un tipo de dato estructurado
que consta de un conjunto de elementos que pueden ser del mismo tipo o no. Los
componentes de un registro se denominan campos, cada campo tiene un nombre
llamado identificador del campo.

3.2.2 Operaciones básicas con Registros.

 Operación de carga:

• Almacena un nuevo valor en el registro.

• Requiere poner el nuevo valor en la entrada y después activar las señales


de carga en el registro.

 Operación de lectura:

• Permite la salida del dato contenido en el registro.

• Sólo un registro puede utilizar el bus en un determinado momento.

 Operación de reset.

• Inicializa el valor en el registro a un valor conocido.

 Operación de incremento.

• Algunos registros pueden incrementar su valor de forma autónoma, se


llaman contadores, por ejemplo el registro AC.

 Operación de desplazamiento.

• Hay registros que presentan operación de desplazamiento de bits, hacia


la derecha o hacia la izquierda.

 Operaciones de transferencia.

• Son útiles para transferir el valor contenido en uno de ellos hacia otro.

• Debe haber un registro origen con el dato original y un registro destino


en el cual se almacena.
3.2.3 Registros jerárquicos.

Los datos jerárquicos se definen como un conjunto de elementos de datos que se


relacionan entre sí mediante relaciones jerárquicas. Las relaciones jerárquicas
existen allí donde un elemento de los datos es el elemento primario de otro
elemento.

En un modelo jerárquico, los datos son organizados en una estructura parecida a


un árbol, implicando un eslabón solo ascendente en cada registro para describir
anidar, y un campo de clase para guardar los registros en un orden particular en
cada lista de mismo nivel.

3.2.4 Registros como parámetros.

Las variables de tipo registro pueden ser pasadas como parámetros a los módulos
por valor o por referencia, tanto el registro completo como una de sus
componentes simples o estructuradas.

3.2.5 Arreglos de Registros.

Los registros simples se utilizan raramente por sí mismos. En general se agrupan


en conjuntos conocidos como arrays de registros. Por ejemplo, si se dispone un
registro que contiene los datos relativos a articulos de un almacén y si el
inventario dispone de 100 artículos y se desean procesar adecuadamente se puede
utilizar un array de 100 elementos; mediante la declaración siguiente se definen
los elementos del conjunto.

4. Estructura de Dato: Archivo.

4.1 Definición.

Los Archivos (Files) son una colección de Registros (Records), donde cada uno
de ellos consiste de uno o más Campos (Fields). Un archivo es un conjunto de bits
que son almacenados en un dispositivo. Un archivo es identificado por un nombre
y la descripción de la carpeta o directorio que lo contiene.
4.2 Operaciones básicas sobre archivos Secuenciales y Binarios (Crear,
Abrir, Leer Registro, Grabar Registro, Cerrar, Eliminar,
Renombrar).

Las principales operaciones que se pueden llevar a cabo sobre archivos son:

 Crear: la creación puede hacerse directamente sobre el sistema (a través de


la opción Nuevo del menú contextual del archivo), aunque lo normal es
crear un archivo a través de una aplicación. De esta manera, el archivo
queda vinculado a una aplicación que lo abre e interpreta. En Linux la
creación de un archivo está ligada al creador y los permisos que éste ejerce
sobre él.

 Eliminar: la eliminación de un archivo suele realizarse cuando el


contenido de éste ya no es útil. La eliminación se puede hacer a través de
la opción Eliminar del menú contextual o a través del terminal. Esta
gestión sólo puede realizarla el propietario o un usuario con los suficientes
privilegios sobre el archivo. En cualquier caso, la condición indispensable
para ejecutar esta operación es que el archivo no esté abierto. La
eliminación tiene dos fases: En la primera el archivo se pasa a la Papelera
de reciclaje, pudiendo ser recuperado; en la segunda el archivo se elimina
del sistema. Para recuperarlo en este caso sería necesario un proceso con
software específico.

 Modificar las propiedades: en la creación de un archivo se establecen unas


propiedades o atributos que pueden mantenerse o variar a lo largo de su
vida. Las propiedades hacen alusión a las acciones que pueden llevarse a
cabo sobre él (sólo lectura, escritura, etc.), y a características propias del
archivo (propietario, extensión, etc.). La modificación de propiedades
puede realizarse desde la opción Propiedades del menú contextual del
propio archivo o desde línea de comandos.

 Cortar, copiar y pegar: los archivos, como contenedores de información,


no son estáticos sino que pueden modificar su ubicación en el disco. Se
pueden dar dos secuencias típicas: Cortar-pegar, que es el equivalente de
mover, (utilizado para cambiar la ubicación de un archivo); y copiar-pegar,
que es el equivalente de duplicar, (utilizado para crear una copia de un
archivo). Las operaciones cortar y copiar coexisten, por lo que no pueden
darse en secuencia. De cualquier forma, estas acciones pueden llevarse a
cabo a través del menú contextual del archivo o desde línea de comandos.

 Enlazar: los enlaces se utilizan para acceder a un archivo que está ubicado
habitualmente en otro lugar diferente. En Windows los enlaces se
denominan accesos directos. La creación de un enlace puede realizarse a
través del menú contextual del archivo o desde línea de comandos.

 Encriptar: el proceso de encriptado de un archivo es similar a lo explicado


para los sistemas cifrados. Para encriptar un archivo en Windows es
necesario utilizar una aplicación. Windows 7,10 y Windows 2008, 2012,
2016 disponen de la herramienta de cifrado BitLocker (aunque está más
orientada a volúmenes). En Linux la opción de cifrado aparece en el menú
contextual del archivo y también puede realizarse a través del terminal.

 Comprimir: la compresión de los archivos se usa para que éstos ocupen


menos espacio en disco y, por consiguiente, se pueda almacenar mayor
cantidad de información. La compresión se lleva a cabo a través de un
algoritmo de compresión. Windows incorpora el algoritmo de cifrado ZIP
y Linux el algoritmo de cifrado TAR. Ambos son accesibles (en sus
respectivos sistemas) desde el menú contextual del archivo o a través del
terminal.

ULTIMA LÍNEA DE TODO EL TRABAJO.


REFERENCIAS BIBLIOGRÁFICAS.

 https://medium.com/techwomenc/estructuras-de-datos-a29062de5483

 https://ed.team/blog/estructuras-de-datos

 https://virtual.itca.edu.sv/Mediadores/dlp/31_estructura_de_datos.html

 https://vidabytes.com/tipos-de-arreglos/#Arreglos_Unidimensionales

 https://uneginginf05.es.tl/m-e2-todo-de-ordenamiento-burbuja.htm

 https://slidetodoc.com/universidad-latina-introduccion-a-la-programacion-
v-tipos/

 http://programacionunefa.blogspot.com/2008/06/arreglos-
unidimensionales.html
ANEXOS

Fig. 1 - Clasificación de
estructura de datos.

Fig. 2. – Arreglos
unidimensionales y arreglos
bidimensionales.

Fig. 3 - Algoritmo de
ordenamiento en arreglo:
método burbuja.
Fig. 4 - Algoritmo de
ordenamiento en
arreglo por selección.

Fig. 5 - Algoritmo de
ordenamiento en
arreglo por inserción.

También podría gustarte