Resumen Final Teórico AED Perez Álvaro 1k5
2
Búsqueda binaria.
Se aplica SOLO SI está ordenado el vector, la
eficiencia del método se basa en que se toma
sólo uno de los dos intervalos para buscar al
valor, y el otro se desecha por completo. En la
primera partición, la mitad de los elementos
del arreglo se desechan, en la segunda se
desecha la cuarta parte (o sea, la mitad de la
mitad), y así sucesivamente.
Se aplica usando dos índices izq. y der cuya función es la de marcar dentro del arreglo los límites del intervalo
en donde se buscará el valor, originalmente izq. comienza valiendo 0 y der comienza valiendo n-1 (siendo n la
cantidad de componentes del arreglo). Dentro del intervalo marcado por izq. y der, se toma el elemento
central, cuyo índice c es el promedio de los valores de izq y der, después se verifica si el valor contenido en v[c]
coincide o no con el número buscado. Si coincide, se termina la búsqueda, y se retorna el valor de c para
indicar la posición del número dentro del arreglo. Si no coincide, es entonces cuando se aprovecha que el
arreglo está ordenado de menor a mayor: si el valor buscado x es menor que v[c], entonces si x está en el
arreglo debe estar a la izquierda de v[c] y por lo tanto, el nuevo intervalo de búsqueda debe ir desde el valor
de izq hasta el valor de c-1. Entonces, se ajusta der para que valga el valor c-1, y se repite el proceso descripto.
Si el valor x es mayor que v[c], entonces la situación es la misma pero simétrica hacia la derecha, y debe
ajustarse izq para valer c+1. El proceso continúa hasta que se encuentre el valor (en cuyo caso se retorna el
último valor c calculado), o hasta que el valor de izq se haga mayor que el de der (es decir, hasta que los
índices se crucen), lo cual indicará que ya no quedan intervalos en los que buscar, y por lo tanto el valor x no
estaba en el arreglo (y en este caso, la función que hace la búsqueda retornará el valor –1).
FICHA 16-MATRICES----------------------------------------------------------
Básicamente, un arreglo bidimensional o matriz es un arreglo cuyos elementos están dispuestos en forma de
tabla, con varias filas y columnas. Aquí llamamos filas a las disposiciones horizontales del arreglo, y columnas a
las disposiciones verticales. Para crear una matriz se aplica una expresión de comprensión lo cual es aún más
compacto y eficiente, aunque posiblemente menos claro.
matriz = [[None] * COLUMNAS for f in range(FILAS)]
Notaremos que el ciclo for realiza una iteración de n giros, y en cada uno de esos giros crea una lista de m
elementos None. En este caso no se requiere indicar en qué casillero se asigna la lista de tamaño m que se está
creando: solo se crean n listas de tamaño m, y cada una de ellas se inserta en la lista representada por los
corchetes externos. Cada una llevará un índice desde 0 en adelante, por orden de llegada.
TOTALIZACION POR FIALES Y COLUMNAS.
Se usa para obtener los totales acumulados de cada una de sus filas y/o de cada una de sus columnas.
A medida que se recorre la fila, se recorren los elementos de cada columna en esa misma fila, por ejemplo si
analiza la fila 1, va mostrar los elementos del vendedor #1 y los elementos que serían c11 c12 c13,etc, en este
caso representa la cantidad vendida de cada objeto(de c/columna). Se puede hacer de la misma forma
intercambiando las filas por las columnas como se ve a continuacion.