Mostrando las entradas con la etiqueta Array. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Array. Mostrar todas las entradas

miércoles, 8 de noviembre de 2017

Como ordenar un vector Método Burbuja. (How to do bubble sort)

Sabemos que un vector es una variable dispuesta en un arreglo de datos unidimensional, con la capacidad de almacenar un conjunto de valores identificados por un índice de posición dentro del vector.


* Ver en éste blog el artículo como trabajar arreglos unidimensionales (vectores)

Este artículo presenta cómo es el procedimiento para ordenar un vector con un conjunto de datos numéricos que inicialmente estén desordenados, para ejemplificar se usa un vector de 15 elementos con números enteros de entre el 10 y el 70 como lo muestra la imagen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

22
13
45
64
31
18
56
70
27
47
66
35
11
52
36

Existen varios métodos para ordenar los valores de un vector, para éste caso se describe el ordenamiento por el método de burbuja, llamado así por el comportamiento de los valores más bajos, que irán desplazándose lentamente hacia las primeras posiciones, tal como una burbuja emerge a la superficie.

EL proceso de la burbuja consiste recorrer el vector de izquierda a derecha, comparando cada uno de los valores con el siguiente,  si el dato de la izquierda es mayor que el de la derecha, son intercambiados y se compara con el siguiente, esto se repita hasta recorrer el vector tantas veces como la cantidad de elementos contenga, el resultado es que los números menores se desplazan a la izquierda y los mayores a la derecha.

1
2

22
13

Vuelta  1 se compara si  vector[1] (22)  es mayor que  vector[2] (13)

1
2

13
22

Los valores son intercambiados y se continua la comparación de vector[2] con vector[3]

Para hacer este proceso son necesarios dos ciclos uno de 15 vueltas para evaluar todos los elementos y otro anidado de 15-1(14) ciclos para hacer los intercambios. Se debe usar la variable de conteo del ciclo anidado para gestionar el índice del vector.

El método de burbuja es de los más sencillos pero no el más eficiente, el recorrer tantas veces el vector para verificar número por número e intercambiarlos, causa muchas veces ciclos y comparaciones innecesarios, pues el ordenamiento del vector puede darse mucho antes de que terminen los ciclos definidos.


Burbuja mejorado, consiste en incrustar una variable al ciclo de intercambio que registre cuando ya no hay más valores por intercambiar y poder dar por terminado anticipadamente los ciclos restantes. 

Aquí el vídeo de cómo desarrollar el algoritmo.


jueves, 2 de noviembre de 2017

Cómo trabajar con arreglos multidimensionales (matrices) - How to work with multidimensional arrays (matrix)

En programación comúnmente necesitamos usar múltiples valores que sean comunes entre sí, es decir mismo tipo y para procesos semejantes.

Para esos casos los lenguajes de programación implementan un tipo de variables que pueden tener más de un espacio para almacenar valores, los llamamos Arreglos (Arrays).

* Ver en éste blog el artículo como trabajar arreglos unidimensionales (vectores)

Una matriz es una variable a la que reservamos espacios de memoria en más de una fila o renglón, a diferencia del vector que reserva múltiples espacios en un mismo plano, en palabras practicas una matriz de datos puede representarse como una cuadricula, identificando cada uno de los datos con un índice compuesto de dos números enteros, uno para indicar el plano horizontal  y otro para el vertical, formando así, el vértice dentro de la cuadricula que corresponde a cada dato.

La reserva de los espacios de memoria se especifican mediante dos enteros entre corchetes ( variable [nx  , ny] ).

Un arreglo de datos puede almacenar una serie de números o letras o palabras, es decir, datos del mismo tipo.

Para hacer uso de ésta estructura de datos, son necesarias dos sentencias de ciclos, usualmente la instrucción FOR. El número de índice que identifica cada valor en el arreglo es gestionado por dos  variables que los bucles ira modificando para recorrer la matriz.

Algunos lenguajes permiten cambiar el tamaño del arreglo en tiempo de ejecución.



En la imagen vemos un ejemplo que muestra un vector que almacena 10 números y una matriz con espacio para 30 [10,3] asignados en diferentes espacios:
  • El número  5  en la posición [1,1]
  • El número 38 en la posición [2,3]
  • El número 21 en la posición [3,2]
  • El número 55 en la posición [10,3]

Aquí un vídeo con un ejemplo de como programar una matriz en pseudocódigo


miércoles, 25 de octubre de 2017

Cómo trabajar con arreglos unidimensionales - vectores. (Working with one-dimensional arrays - vectors).

En programación comúnmente necesitamos usar variables, definimos su nombre, su tipo y listo podemos asignarle valores y hacer operaciones con ellas, pero que pasa cuando requerimos un conjunto de datos que sean comunes entre sí, es decir mismo tipo y para procesos semejantes.

Para esos casos los lenguajes de programación implementan un tipo de variables que pueden tener más de un espacio para almacenar valores, los llamamos Arreglos (Arrays).

La diferencia consiste en que una variable independiente reserva un único espacio de memoria para almacenar sus valores y el arreglo reserva los espacios de memoria solicitados mediante un entero especificado típicamente entre corchetes ( variable [ n ] ), donde cada espacio será identificado con el mismo nombre de variable pero con un índice de acceso a cada dato.

Un arreglo de datos puede almacenar una serie de números o letras o palabras, es decir, datos del mismo tipo.

El complemento para trabajar eficientemente con arreglos de datos, son las estructuras de ciclos, usualmente la instrucción FOR. El número de índice que identifica cada valor en el arreglo es gestionado en una variable que el ciclo ira modificando para recorrer el vector.

Al usar un arreglo y una estructura de ciclo, es posible transitar entre los valores de modo ascendente, descendente y puntos intermedios, dando la posibilidad al programa de generar resultados más complejos con menos líneas de código.

Usar una variable en el indice de acceso a los datos, permite también hacer cálculos con esa variable por tanto ese indice puede ser el producto de una suma, resta o multiplicación, siempre que el resultado sea un entero dentro del rango establecido.

Algunos lenguajes permiten cambiar el tamaño del arreglo en tiempo de ejecución del programa.

Dentro de un programa se pueden implementar tantos arreglos como sean necesarios.

En la imagen vemos un ejemplo que muestra la diferencia de usar 10 números empleando variables independientes e implementando un arreglo de 10 espacios.



La conveniencia más clara de implementar un arreglo, viene cuando se incrementa la cantidad de valores a usar, por ejemplo: 80, 120, 190, etc. La idea de usar 190 variables independientes es poco práctica.

Aquí vídeos con ejemplos básicos de cómo usar esta estructura de datos. 

Artículo Reciente

Como generar la serie de Fibonacci. (How to generate the Fibonacci numbers)

En el artículo se describe como generar la serie de Fibonacci; en materias de estudio como: algoritmos, diagramas de flujo y programación, ...

Artículos