Algoritmos - ORDENAMIENTO BURBUJA PDF

Title Algoritmos - ORDENAMIENTO BURBUJA
Author Jose Daniel Cardenas Espino
Course Electrónica industrial
Institution Universidad Nacional San Luis Gonzaga
Pages 25
File Size 883.3 KB
File Type PDF
Total Downloads 29
Total Views 158

Summary

ORDENAMIENTO BURBUJA...


Description

ARREGLOS UNIDIMENSIONALES Un arreglo unidimensional es la estructura natural para modelar listas de elementos iguales. Están formados por una colección finita y ordenada de datos del mismo tipo. Los datos que se guarden en los arreglos todos deben ser del mismo tipo. Se caracteriza por ser un 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. 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. Para recordar: * Un arreglo se usa para almacenar elementos del mismo tipo. * Un arreglo es de tamaño fijo. * Cada elemento se guarda en un espacio independiente. * Cada espacio se referencia con un índice (0,1,2,3,…,n).

Un arreglo tiene la característica de que puede almacenar a N elementos del mismo tipo y además permite el acceso a cada uno de estos elementos. Se distinguen dos partes en los arreglos: • Los componentes. Hacen referencia a los elementos que componen o forman el arreglo. Es decir, son los valores que se almacenan en cada una de sus casillas. • Los índices. Son los que permiten acceder a los componentes del arreglo en forma individual. Es decir, la posición dentro del arreglo. Para hacer referencia a un componente de un arreglo se necesita: • El nombre del arreglo • El índice del elemento En la siguiente figura se presenta el ejemplo de un arreglo y se indican sus componentes y sus índices.

Veamos cómo se definen: Proceso Prueba definir num como entero; dimension num[3,3]; FinProceso Lo único que cambia es que añadimos es otro numero, el primero hace referencia a las filas (como en los unidimensionales) y el segundo es el numero de columna. Es decir, que sería como una tabla de 3×3. Vams a ver como podemos recorrerlo: Proceso Prueba definir num, columna, fila como entero; dimension num[3,3]; num[1,1]=1; num[1,2]=2; num[1,3]=3; num[2,1]=4; num[2,2]=5; num[2,3]=6; num[3,1]=7; num[3,2]=8; num[3,3]=9; Para columna> ones((2, 5)) array([[ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.]]) Lo mismo se cumple para muchas otras funciones que crean arreglos; por ejemplom la función random: >>> from numpy.random import random >>> random((5, 2)) array([[ 0.80177393, 0.46951148], [ 0.37728842, 0.72704627], [ 0.56237317, 0.3491332 ], [ 0.35710483, 0.44033758], [ 0.04107107, 0.47408363]])

OPERACIONES CON ARREGLOS BIDIMENSIONALES Al igual que los arreglos de una dimensión, las operaciones sobre las matrices se aplican término a término: >>> a = array([[5, 1, 4], ...

[0, 3, 2]])

>>> b = array([[2, 3, -1], ...

[1, 0, 1]])

>>> a + 2 array([[7, 3, 6], [2, 5, 4]])

>>> a ** b array([[25, 1, 0], [ 0, 1, 2]]) Cuando dos matrices aparecen en una operación, ambas deben tener exactamente la misma forma: >>> a = array([[5, 1, 4], ...

[0, 3, 2]])

>>> b = array([[ 2, 3], ...

[-1, 1],

...

[ 0, 1]])

>>> a + b Traceback (most recent call last): File "", line 1, in ValueError: shape mismatch: objects cannot be broadcast to a single shape

OBTENER ELEMENTOS BIDIMENSIONAL

DE

UN

ARREGLO

Para obtener un elemento de un arreglo, debe indicarse los índices de su fila i y su columna jmediante la sintaxis a[i, j]:

>>> a = array([[ 3.21, 5.33, 4.67, 6.41], [ 9.54, 0.30, 2.14, 6.57], [ 5.62, 0.54, 0.71, 2.56], [ 8.19, 2.12, 6.28, 8.76], [ 8.72, 1.47, 0.77, 8.78]]) >>> a[1, 2] 2.14

>>> a[4, 3] 8.78

>>> a[-1, -1] 8.78

>>> a[0, -1] 6.41 También se puede obtener secciones rectangulares del arreglo usando el operador de rebanado con los índices: >>> a[2:3, 1:4] array([[ 0.54, 0.71, 2.56]])

>>> a[1:4, 0:4] array([[ 9.54, 0.3 , 2.14, 6.57], [ 5.62, 0.54, 0.71, 2.56], [ 8.19, 2.12, 6.28, 8.76]])

>>> a[1:3, 2] array([ 2.14, 0.71])

>>> a[0:4:2, 3:0:-1] array([[ 6.41, 4.67, 5.33], [ 2.56, 0.71, 0.54]])

>>> a[::4, ::3] array([[ 3.21, 6.41], [ 8.72, 8.78]]) Para obtener una fila completa, hay que indicar el índice de la fila, y poner : en el de las columnas (significa «desde el principio hasta el final»). Lo mismo para las columnas: >>> a[2, :] array([ 5.62, 0.54, 0.71, 2.56])

>>> a[:, 3] array([ 6.41, 6.57, 2.56, 8.76, 8.78]) Note que el número de dimensiones es igual a la cantidad de rebanados que hay en los índices: >>> a[2, 3]

# valor escalar (arreglo de cero dimensiones)

2.56

>>> a[2:3, 3] array([ 2.56])

# arreglo de una dimensión de 1 elemento

>>> a[2:3, 3:4] # arreglo de dos dimensiones de 1 x 1 array([[ 2.56]])

EJERCICIOS 1. Generar una matriz de 4 filas y 5 columnas con números aleatorios entre 1 y 100, e imprimirla. INICIO DIMENSIONAR A[ 4, 5 ] i...


Similar Free PDFs