domingo, 23 de febrero de 2014

Método 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.
Tiempo de ejecución del algoritmo burbuja:
Para el mejor caso (un paso) O(n)
Peor caso n(n-1)/2
Promedio O(n2)




La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo el más sencillo de implementar.

¿Cómo Se Asignan Valores a Un Arreglo?

ASIGNACIÓN DE VALORES

Acceso.


Se puede acceder a los valores de los elementos de un arreglo a través del nombre del arreglo y un subíndice. El subíndice debe escribirse entre corchetes y representa la posición del elemento en el arreglo. Así, podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo y el subíndice del elemento entre corchetes. Los valores de los subíndices empiezan en cero para el primer elemento, hasta el tamaño del arreglo menos uno.

Ejemplo:



float [ ] distancia = new float[5] ; // Crea el arreglo distancia con 5 elementos.
float x = 25F, y = 10F ; // Crea dos variables de punto flotante y precisión sencilla.
distancia[0] = x + y ; // El valor asignado al primer elemento es 35.
distancia[1] = ++distancia[0] ; // Asigna 36 al segundo elemento.
distancia[2] = distancia[1] - distancia[0] + 4 ; // Asigna 5 al tercer elemento.
distancia[3] = distancia[2]-- ; // Asigna 5 al cuarto elemento
// y disminuye en 1 el valor del tercero.

distancia[4] = distancia[3] * distancia[2] ; // Asigna 20 al quinto elemento.
y = distancia[4] ; // Asigna a y el valor almacenado en el quinto elemento.

¿Cómo Se Define Un Arreglo En C#?

La declaración de un arreglo unidimensional consiste en establecer las características del arreglo y sus elementos, por medio de la siguiente sintaxis:

[ ] < identificador > ; 


Donde:

tipo indica el tipo correspondiente a los elementos del arreglo , identificador es el nombre del arreglo, y el par de corchetes, [ ], representa la dimensión del arreglo y encierra un número entero que corresponde al número de elementos del arreglo. 

Ejemplos:

int [ ] a ;
float [ ] distancia ;

Artículo [ ] art = new Artículo[ 3]; 


Observe que, en la declaración, el espacio entre los corchetes está vacío. Esto se debe a que, durante dicha operación, no se reserva espacio en la memoria.


¿Cómo se inicializa un arreglo en C#?

Un arreglo es un objeto que,cuando es creado por el compilador, se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios:


· Si el tipo del arreglo es numérico, a sus elementos se les asigna el valor cero.

· Si el tipo del arreglo es char, a sus elementos se les asigna el valor '\u0000'.

· Si el tipo del arreglo es bool, a sus elementos se les asigna el valor false.

· Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null

Cuando se requiere asignar valores iniciales diferentes de los predeterminados, es posible agrupar las operaciones de declaración, creación e inicialización en una sola instrucción, por ejemplo:


int [ ] a = { 1, 0,4,-6, 2,9, 23,455, 90,35 };
float [ ] distancia = { 2.50F, 286.45F, 46.75F, 30.62F, 93.00F };
string [ ] pato = { "Hugo", "Paco", "Luís" }

¿Cómo Se Crea Un Arreglo en C#?

La creación de un arreglo unidimensional consiste en reservar espacio de memoria para todos sus elementos, utilizando la siguiente sintaxis:

< identificador > = new [ tamaño ] ;

Donde:

new es el operador para gestionar espacio de memoria, en tiempo de ejecución,
tamaño es un número entero que representa el número de elementos del arreglo. 

Ejemplos:

a = new int [10] ; // Se crea el arreglo a , con 10 elementos de tipo entero.

distancia = new float[ 5] ; // Se crea el arreglo distancia , con 5 elementos de punto flotante y precisión sencilla .Artículo [] art = new Artículo[3];
 
Artículo [ ] art = new Artículo[ 3]; // Se crean 3 referencias a objetos de la clase Artículo 

art[0]= new Artículo(); // Se crea el primer objeto del arreglo art 

art[1]= new Artículo(); // Se crea el segundo objeto del arreglo art 
 
art[2]= new Artículo(); // Se crea el tercer objeto del arreglo art 


Las dos primeras operaciones de declaración y creación anteriores se pueden agrupar en una sola instrucción, como se muestra enseguida:


int [ ] a = new int [10] ;

float [ ] distancia = new float[5] ;

¿Qué es un arreglo en C# ?





Primero ante nada, arreglo (Array) es sinónimo de vector o matriz.

Un arreglo es un conjunto de variables del mismo tipo que se los maneja mediante índices, para esto se utiliza la letra (i).

Cuando un arreglo tiene más de dos dimensiones se denominan matrices, y pueden tener tantas dimensiones como se desee. Al tener varias dimensiones se utilizan para esto las letras del alfabeto (i,  j, k)
Para ser más preciso puede ser un ejemplo:

i = 0
mientras (i < L)
f(a[i])
i=i+1
for j=0 to n
j=j+1
next j
for k=1 to m
k=k+1
next k
fin_mientras




Un arreglo es una estructura de datos, o más técnicamente, un espacio de memoria que permite almacenar una colección de elementos, todos del mismo tipo.

Conviene un arreglo como una secuencia de celdas (espacios de memoria), o casillas, en cada una de las cuales, puede guardar un elemento de la colección además es usual dibujarlo como lo muestra la siguiente figura.


  
Cada una de las casillas se puede utilizar para guardar un dato, la dimensión del arreglo, especifica el número de casillas que tiene un arreglo.