Está en la página 1de 6

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION

TEMA: LISTA C++ CON BUSQUEDA BINARIA Y FUNCION ORDENAR.

ESTUDIANTE:
SANGOQUIZA QUINGA EDGAR ANDRÉS

DOCENTE:
ING. ALMEIDA ENCALADA OSWALDO WLADIMIR

ASIGNATURA:
FUNDAMENTOS DE CIRCUITOS

NRC:
3238

QUITO, 2019
1. Marco teórico:

Búsqueda binaria:
La búsqueda de un elemento dentro de un array es una de las operaciones más
importantes en el procesamiento de información, y permite la recuperación de datos.
El caso de la Búsqueda Binaria, que es uno de las tantas búsquedas que existe, pero
la más usada, está hecho para diferentes campos en el mundo laboral, como por
ejemplo una secretaria podría perder tan sólo uno o dos minutos para encontrar el
archivo de uno de los clientes de la compañía para la cual trabaja, esto, asumiendo
que los archivos estén perfectamente ordenados y catalogados.

Algoritmo:
La búsqueda binaria funciona en arreglos ordenados. Consiste en eliminar, tras cada
comparación, la mitad de los elementos del arreglo en los que se efectúa la
búsqueda, comienza por comparar el elemento del medio del arreglo con el valor
buscado. Si el valor buscado es igual al elemento del medio, su posición en el
arreglo es retornada. Si el valor buscado es menor o mayor que el elemento del
medio, la búsqueda continurá en la primera o segunda mitad, respectivamente,
dejando la otra mitad fuera de consideración; y si son iguales, se ha encontrado
dicho valor buscado y se devuelve la posición y sale del bucle; pero si no es así
seguirá buscando dicho valor dentro del bucle y hará las compara:
El algoritmo funciona de la siguiente manera

1. Se determinan un índice primero=0 y un índice último=n-1, respectivamente.


2. Se determina un índice central, medio = (primero + último) /2.
3. Evaluamos si A[medio] es igual a la clave de búsqueda, si es igual ya encontramos
la clave y devolvemos medio.
4. Si son distintos, evaluamos si A[medio] es mayor o menor que la clave, como el
arreglo está ordenado al hacer esto ya podemos descartar una mitad del arreglo
asegurándonos que en esa mitad no está la clave que buscamos.

Clasificación de listas enlazadas:


Las listas enlazadas se pueden dividir en cuatro categorías:

 Listas simplemente enlazadas: Cada nodo (elemento) contiene u único


enlace que conecte ese nodo al siguiente o nodo sucesor. La lista es eficiente
en recorridos directos (“adelante”).
 Listas doblemente enlazadas: Cada nodo contiene dos enlaces, uno a su
nodo predecesor y el otro a su nodo sucesor. La lista es eficiente tanto en
recorrido directo (adelante) cono inverso (atrás).
 Lista circular simplemente enlazada: Una lista simplemente enlazada en
la que el último elemento (cola) se enlaza al primer elemento (cabeza) de tal
modo que la lista puede ser recorrida de modo circular en un anillo.
 Lista circular doblemente enlazada: Una lista doblemente enlazada en la
que el último elemento se enlaza al primer elemento y viceversa. Esta lista
se puede recorrer de modo circular tanto en dirección directa e inversa.
 Datos dinámicos: su tamaño y forma es variable (o puede serlo) a lo largo
de un programa, por lo que se crean y destruyen en tiempo de ejecución.
Esto permite dimensionar la estructura de datos de una forma precisa: se va
asignando memoria en tiempo de ejecución según se va necesitando. Cuando
el sistema operativo carga un programa para ejecutarlo y lo convierte en
proceso, le asigna cuatro partes lógicas en memoria principal: texto, datos
(estáticos), pila y una zona libre. Esta zona libre (o heap) es la que va a
contener los datos dinámicos, la cual, a su vez, en cada instante de la
ejecución tendrá partes asignadas a los mismos y partes libres que
fragmentaran esta zona, siendo posible que se agote si no se liberan las
partes utilizadas ya inservibles.

2. Marco practico:
3. Conclusiones
 Los argumentos es una función son necesarios e importantes, además de que el tipo
y el nombre los identifica.
 Una función como tal nos permite acortar líneas de código además de presentarse.
 Los arreglos no permiten optimizar el uso de la memoria ram y de las líneas de
código.
 Las estructuras generan un tipo de arreglo para el código c++.
4. Recomendaciones

 Las funciones deben poseer sus partes generales para que así exista un orden.
 Cualquier mala declaración o la representación se lo prolongara hasta el final del
código.
 Tener en cuenta la parametrización por referencia, ya que es la única manera para
evitar el uso de variables innecesarias.

5. Referencias
fjrodroguez2. (3 de 10 de 2014). quantdare. Obtenido de quantdare:
https://quantdare.com/numeros-de-fibonacci/
Paredes, B. (11 de Octubre de 2013). Scribd. Obtenido de Scribd:
https://es.scribd.com/document/175213181/Tipos-de-funciones-en-C-Codigo-C

También podría gustarte