Sei sulla pagina 1di 8

DESARROLLO.

-
METODOS DE DORDENACION Y BUSQUEDA DE VECTORES.-
DEFINICION DE VECTOR.-
Como su nombre lo indica matematicamente es una herramienta para poder expresar
varios valore o magnitudes al mismo tiempo. En programacion son considerados
estructuras de datos o arreglos unidimensionales (de una sola dimension, de dimension
simple) los cuales poseen la capacidad de almacenar muchos datos al mismo tiempo,
que contienen una serie de elementos del mismo tipo y se distinguen entre sí por un
índice (marcado numericamente empezando por 0 hasta n-1).
OPERACIONES CON VECTORES.-
Las operaciones que se pueden realizar con vectores durante el proceso de resolución
de un problema usando la programación son:
 Recorrido (acceso secuencial)
 Lectura/escritura
 Asignación
 Actualización (añadir, borrar insertar)
 Ordenación
 Búsqueda
DEFINICION DE MATRICES.-
MATRICES.-
Un arreglo bidimensional se puede considerar como un vector de vectores.
Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los
componentes es significativo y en el que se necesitan especificar dos subíndices para
poder identificar cada elemento del arreglo.
Operaciones con matrices:
1. Asignación
2. Lectura/escritura
3. Recorrido secuencial: por fila y por columna

Ordenación (clasificación)
Es la operación de organizar un conjunto de datos en algún orden o secuencia
específica, tal como creciente o decreciente para datos numéricos o alfabéticamente
para datos de tipo carácter o cadena de caracteres.
Operaciones típicas de ordenación son: lista de números, archivos de clientes de banco,
nombres en una agenda telefónica.
En síntesis, la ordenación significa poner objetos en orden ascendente o descendente.
El propósito final de la clasificación es facilitar la manipulación de datos en un vector
Los métodos directos son los que se realizan en el espacio ocupado por el arreglo. Los
mas comunes son:
 Método de intercambio o burbuja.
 Ordenación por Inserción
 Ordenación por Selección
Método de intercambio o de burbuja
Se basa en el principio de comparar pares de elementos adyacentes e intercambiarlos
entre sí hasta que estén todos ordenados.
El elemento cuyo valor es mayor sube posición a posición hacia el final de la lista, al
igual que las burbujas de aire en un depósito.
Tras realizar un recorrido completo por todo el vector, el elemento mencionado habrá
subido en la lista y ocupará la última posición.
En el segundo recorrido, el segundo elemento llegará a la penúltima posición, y así
sucesivamente.
Los pasos a dar son:
1. Comparar A[1] y A[2], si están en orden, se mantienen como están, en caso
contrario se intercambian entre si.
2. A continuación se comparan los elementos 2 y 3, de nuevo se intercambian si es
necesario.
3. El proceso continúa hasta que cada elemento del vector ha sido comparado con
sus elementos adyacentes y se han realizado los intercambios necesarios.
4. La acción de intercambiar entre sí los valores de dos elementos A[i], A[i+1] es
una acción compuesta que contiene las siguientes acciones, utilizando una
variable auxiliar:

A[i] A[i+1]

AUX
Método de ordenación por inserción
Este método consiste en insertar un elemento en el vector en una parte ya ordenada de
este vector y comenzar de nuevo con los elementos restantes.
Por ser utilizado cuando uno juega cartas también se conoce con el nombre de método
de la baraja

El método se basa en comparaciones y desplazamientos sucesivos. El algoritmo de


ordenación de un vector X de N elementos se realiza con un recorrido de todo el vector
y la inserción del elemento correspondiente en el lugar adecuado
Método de ordenación por selección
Este método se basa en buscar el menor elemento del vector y colocarlo en la primera
posición. Luego se busca el segundo elemento más pequeño y se coloca en la segunda
posición, y así sucesivamente.
 Los pasos sucesivos a dar son:
1. Seleccionar el menor elemento del vector de n elementos.
2. Intercambiar dicho elemento con el primero.
3. Repetir estas operaciones con los n-1 elementos restantes,
seleccionando el segundo elemento, continuar con los n-2 elementos
restantes hasta que sólo quede el mayor.
METODOS DE BUSQUEDA.-
La búsqueda se refiere a la operación de encontrar la posición de un elemento entre un
conjunto de elementos dados: lista, tabla o fichero.
Existen diferentes algoritmos de búsqueda. El algoritmo elegido depende de la forma en
que se encuentren organizados los datos.
La operación de búsqueda de un elemento N en un conjunto de elementos consiste en:
1. Determinar si N pertenece al conjunto y, en ese caso, indicar su posición en él.
2. Determinar si N no pertenece al conjunto.
Los métodos más usuales de búsqueda son:
 Búsqueda secuencial o lineal.
 Búsqueda binaria.
 Búsqueda por transformación de claves (hash).
Búsqueda secuencial o lineal
El método más sencillo de buscar un elemento en un vector es explorar
secuencialmente el vector (recorrer el vector), desde el primer elemento hasta el
último. Si se encuentra el elemento buscado visualizar un mensaje similar a ‘Elemento
encontrado en la posición x’, en caso contrario visualizar un mensaje similar a ‘Elemento
no existe en el vector’.
En otras palabras, la búsqueda secuencial compara cada elemento del vector con el
valor deseado, hasta que se encuentra o termina de recorrer el vector completo.
La búsqueda secuencial no requiere ningún registro por parte del vector por
consiguiente no requiere que el vector esté ordenado.
Este método tiene el inconveniente del consumo excesivo de tiempo en la localización
del elemento buscado. Cuando el elemento buscado no se encuentra en el vector, se
verifican o comprueban sus n elementos. Por esto no es el método más adecuado para
vectores con un gran número de elementos.
Búsqueda binaria
Presupone una ordenación previa de los elementos del vector.
Este método se basa en la división sucesiva del vector en dos partes, y seguir dividiendo
cada mitad hasta encontrar el elemento buscado.
Utiliza un método de divide y vencerás para localizar el valor deseado.
Con este método se examina primero el elemento central del vector, si este es el
elemento buscado, entonces la búsqueda ha terminado.
En caso contrario se determina si el elemento buscado está en la primera o segunda
mitad de la lista, y a continuación se repite este proceso, utilizando el elemento central
de esa sublista.
Es un método eficiente siempre que el vector esté ordenado.
En la práctica esto suele suceder, pero no siempre es así. Por esta razón la búsqueda
binaria exige una ordenación previa del vector.
Método De Shell
Es una mejora del método de inserción directa que se utiliza cuando el número de
elementos a ordenar es grande. Nombrado así debido a su inventor Donald Shell.
Ordena subgrupos de elementos separados K unidades (respecto de su posición en el
arreglo) del arreglo original. El valor K es llamado incremento.
Después de que los primeros K subgrupos han sido ordenados (generalmente utilizando
INSERCION DIRECTA), se escoge un nuevo valor de K más pequeño, y el arreglo es de
nuevo partido entre el nuevo conjunto de subgrupos. Cada uno de los subgrupos
mayores es ordenado y el proceso se repite de nuevo con un valor más pequeño de K.
Eventualmente el valor de K llega a ser 1, de tal manera que el subgrupo consiste de
todo el arreglo ya casi ordenado.
Al principio del proceso se escoge la secuencia de decrecimiento de incrementos; el
último valor debe ser 1."Es como hacer un ordenamiento de burbuja pero comparando
e intercambiando elementos."
Cuando el incremento toma un valor de 1, todos los elementos pasan a formar parte del
subgrupo y se aplica inserción directa.
El método se basa en tomar como salto N/2 (siendo N el número de elementos) y luego
se va reduciendo a la mitad en cada repetición hasta que el salto o distancia vale 1.

Ordenación Rápida (Quicksort)


El método de ordenación rápida sirve para ordenar o clasificar un vector o lista de
elementos (array). Desarrollada por C.A.R. Hoare en 1960, se basa en el hecho de que
es más rápido y fácil ordenar dos listas pequeñas que una lista grande. Se denomina así,
ya que en general, puede ordenar una lista de datos mucho más rápidamente que
cualquiera de los métodos de ordenación anteriores.
El algoritmo fundamental es el siguiente:
 Eliges un elemento de la lista. Puede ser cualquiera, lo llamaremos elemento de
división.
 Buscas la posición que le corresponde en la lista ordenada (explicado más abajo).
 Acomodas los elementos de la lista a cada lado del elemento de división, de manera
que a un lado queden todos los menores que él y al otro los mayores (explicado más
abajo también). En este momento el elemento de división separa la lista en dos
sublistas (de ahí su nombre).
 Realizas esto de forma recursiva para cada sublista mientras éstas tengan un largo
mayor que 1. Una vez terminado este proceso todos los elementos estarán ordenados.
 Una idea preliminar para ubicar el elemento de división en su posición final sería contar
la cantidad de elementos menores y colocarlo un lugar más arriba. Pero luego habría
que mover todos estos elementos a la izquierda del elemento, para que se cumpla la
condición y pueda aplicarse la recursividad. Reflexionando un poco más se obtiene un
procedimiento mucho más efectivo. Se utilizan dos índices: i, al que llamaremos
contador por la izquierda, y j, al que llamaremos contador por la derecha. El algoritmo
es éste:
 Recorres la lista simultáneamente con i y j: por la izquierda con i (desde el primer
elemento), y por la derecha con j (desde el último elemento).
 Cuando lista[i] sea mayor que el elemento de división y lista[j] sea menor los
intercambias.
 Repites esto hasta que se crucen los índices.
 El punto en que se cruzan los índices es la posición adecuada para colocar el elemento
de división, porque sabemos que a un lado los elementos son todos menores y al otro
son todos mayores (o habrían sido intercambiados).
Al finalizar este procedimiento el elemento de división queda en una posición en que
todos los elementos a su izquierda son menores que él, y los que están a su derecha son
mayores.
ESTUDIANTES: YULISSA TORREZ ENCINAS
AURIA QUIROGA LEDEZMA
WALTER BAZAN AMACHUY
MATERIA: ALGORITMOS
CARRERA: CIENCIAS BASICAS
PARARELO: B
DOCENTE: ING. KAREN CORRALES
FECHA: 18/05/2016

Potrebbero piacerti anche