Foro 3 Introducción A La Programación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Foro 3 Introducción a la Programación

Actividad 1

1. ¿Cuál es la utilidad del uso de estructuras de datos ya sea por medio de matrices o
vectores en la solución de un problema determinado?

Las estructuras de datos, ya sean matrices o vectores, son utilizados para almacenar
múltiples valores en una única variable, lo que nos permiten almacenar muchos valores en
posiciones de memoria contiguas, lo cual nos facilita acceder a un valor u otro de manera
rápida y sencilla. Estos valores pueden ser números, letras o cualquier tipo de variable que
deseemos incluso tipos de datos propios.

En múltiples ocasiones es necesario almacenar gran cantidad de información en una


variable y a menudo sucede que no conocemos con exactitud la cantidad de datos que
debemos almacenar, pero sabemos que sí sería más de uno, como por ejemplo almacenar
las identificaciones de las personas ingresadas al sistema. Estas estructuras de datos, los
arrays, arreglos o vectores son una estructura que nos permite solucionar este tipo de
problemas.

2.
Entre los métodos de ordenamiento estudiados en el módulo III, cuál de ellos según
tu opinión resulta más eficiente para lograr el objetivo trazado?

Entre los métodos de ordenamiento estudiados en la unidad III me resulta mas eficaz
utilizar el método de ordenamiento por intercambio.

Sin embargo existen otros métodos de ordenamiento que no se mencionan en el modulo


como por ejemplo: El ordenamiento rápido (quicksort en inglés) es un algoritmo basado en
la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un
tiempo proporcional a n log n. Esta es la técnica de ordenamiento más rápida conocida. El
algoritmo fundamental es el siguiente:

 Elegir un elemento de la lista de elementos a ordenar, al que llamaremos pivote.


 Resituar los demás elementos de la lista a cada lado del pivote, de manera que a un
lado queden todos los menores que él, y al otro los mayores. En este momento, el
pivote ocupa exactamente el lugar que le corresponderá en la lista ordenada.
 La lista queda separada en dos sublistas, una formada por los elementos a la
izquierda del pivote, y otra por los elementos a su derecha.
 Repetir este proceso de forma recursiva para cada sublista mientras éstas contengan
más de un elemento. Una vez terminado este proceso todos los elementos estarán
ordenados. Como se puede suponer, la eficiencia del algoritmo depende de la
posición en la que termine el pivote elegido.
Propuesta de discusión sobre el caso formulado:

Diseña una solución para obtener un tercer arreglo en forma ordenada en orden
ascendente, intercalando los elementos de los arreglos ingresados. A partir del ingreso de
dos arreglos de 10 elementos cada uno.

Los vectores ingresados pueden estar desordenados, y contener valores positivos,


negativos o neutros. Si existiese dos valores iguales se colocará el elemento del primer
vector en la posición correspondiente.

Solución adjunta en pseudocodigo.

Ejemplo:

A continuación se muestra un ejemplo con la mitad de elementos que indica el enunciado.

Vector A

3 2 5 9 0

Vector B

-2 7 6 9 1

Vector Resultante

-2 0 1 2 3 5 6 7 9 9

3. Para implementar la solución al caso:

 Te parece que los vectores A y B deben estar ordenados previamente?

No es precisamente necesario que los vectores A y B estén ordenados previamente. De


igual manera, estén o no ordenados previamente podemos utilizar diferentes métodos de
ordenamiento para llegar el Vector Resultante.

Yo elegiría la siguiente forma:

Creo un Vector C que seria la unión de ambos vectores (A y B)

Cuyo resultado seria:

Vector C

3 2 5 9 0 -2 7 6 9 1
Ahora aplico el método de ordenamiento por intercambio al Vector C para llegar al Vector
Resultante.

Vector Resultante

-2 0 1 2 3 5 6 7 9 9

 Si la respuesta es afirmativa el ordenamiento se podría realizar al mismo tiempo de


ambos vectores en una sola estructura cíclica?

Existe también un método de ordenamiento llamado Merge Sort

En el caso éste método se unen dos estructuras ordenadas para formar una sola ordenada
correctamente.

Su desventaja radica en que se requiere de un espacio extra para el procedimiento.

Este tipo de ordenamiento es útil cuando se tiene una estructura ordenada y los nuevos
datos a añadir se almacenan en una estructura temporal para después agregarlos a la
estructura original de manera que vuelva a quedar ordenada.

Pero si es perfestamente posible ordenar ambos vectores en una sola estructura cíclica
anidada si ambos estuvieran previamente ordenadas.

 En caso contrario cual sería el proceso a seguir para que el vector resultante quedase
ordenado?

En caso contrario solo es necesario realizar el ordenamiento previo de ambos vectores A y


B y luego ordenarlos en un solo vector que sería el Vector Resultante.

 ¿Qué método de ordenamiento sería el más conveniente de aplicar en este caso?

En este caso y por practicidad de lo aprendido hasta este módulo aplicaría el método de
ordenamiento por intercambio sobre un Vector C que sería la unión de los vectores A y B
como ya lo explique en un punto anterior.

Socializa en el marco del foro, tu opinión con respecto a las preguntas planteadas.

Recursos

1. Material de lectura de la unidad.

También podría gustarte