Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2017

Búsquedas en Listas: Búsqueda Secuencial y Binaria

Procedimiento de las búsquedas Con mucha frecuencia los programadores trabajan con grandes cantidades de datos almacenados en arrays y registros, y por ello será necesario determinar si un array contiene un valor que coincida con un cierto valor clave. El proceso de encontrar un elemento específico de un array se denomina "búsqueda". En esta sección se examinarán dos técnicas de búsquedas: búsqueda lineal o secuencial, la técnica más sencilla, y búsqueda binaria o dicotómica, la técnica más eficiente. Búsqueda Secuencial La búsqueda secuencial busca un elemento de una lista utilizando un valor destino llamado clave. En una búsqueda secuencial (a veces búsqueda lineal), los elementos de una lista o vector se exploran (se examinan) en secuencia, uno después de otro, La búsqueda secuencial es necesaria, por ejemplo, si se desea encontrar la persona cuyo número de teléfono es 958-220000 en un directorio o listado telefónico de su ciudad. Los directorios de teléfono están o...

Colas En Arreglos y En Listas Enlazadas

Como se había dicho anteriormente en el blog pasado, las colas en informática, es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción "push" se realiza  por un extremo y la operación de extracción "pop" por el otro. También se le llama estructura FIFO(del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. En está sección estaremos hablando más a profundidad de este tipo de estructuras e inclusive hacer una comparación entre las colas implementadas en arreglos y en listas enlazadas. La cola basada en matriz es algo difícil de implementar de manera efectiva. Una simple conversión de lista basada en matriz no es eficiente, supongamos que hay "n" elementos en la cola, con la matriz basada en lista,  podríamos requerir que todos los elementos de la cola se almacenen en las primeras posiciones de la matriz. Si elegimos el elemento trasero de la col...

Listas Dinámicas

Muestra de una lista dinámica con elementos numéricos Las listas dinámicas son un tipo de estructuras que están formadas por nodos que contienen los elementos de la lista, usando referencias o punteros para accederlos, los nodos se unen en una secuencia, conforme se vaya agregando más nodos, este se acomoda de una forma secuencial. Las listas de un solo enlace se pueden implementar de dos formas distintas, que son: la pila (LIFO Last In First Out, que traducido al español sería: Último En Entrar Primero En Salir) y la otra forma es: cola (FIFO First In First Out, que traducido al español sería: Primero En Entrar Primero En Salir ). Estas son las formas más usuales de implementar las listas enlazadas. Ahora bien, se sabe que las listas dinámicas son las que se pueden acceder mediante punteros, pero, ¿ Qué da a entender, que es mejor que los arreglos? Pues bien, lo vamos a aclarar con una breve descripción que detalla las ventajas y desventajas de este tipo de dato, comparándolo co...

Abstracción de datos

¿Qué entendemos por abstracción? Pues bien, básicamente es un medio fundamental usado por el ser humano para enfrentarse a la complejidad del mundo. Consiste en básicamente describir o especificar aspectos esenciales e importantes de un fenómeno o entidad, al mismo tiempo que se desechan características irrelevantes según el interés de quien realiza la abstracción, un claro ejemplo sería la imagen que tenemos arriba, en donde se presenta un gato y dos personas con visión diferente con respecto a la mascota, la anciana de la izquierda observa a la criatura de una manera que se le pueda dar amor o cariño, por otra parte, la señora de la derecha, observa al animal de una manera más científica, es decir, se centra más en la cualidades o partes internas del gato. La abstracción de datos en la programación nos ayuda muchas veces a entender los problemas y atacarlos de una manera más sencilla y que la situación que se haya presentado se entienda más fácil, es decir, desechar lo que no oc...