Ir al contenido principal

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 ocupemos e incluir lo que es necesario, porque muchas veces programar sin realizar la abstracción del problema, se pueden presentar olores de software, que esto, para un desarrollador de código, es un hábito que se debe de evitar. Existen dos tipo de niveles de abstracción que son el alto y el bajo.

Abstracción de alto nivel: En lo que se refiere a abstracción de alto nivel, es la forma en la cual, el sujeto abstrae el objeto o el problema que le permite ver lo más relevante o importante que destaca a cerca de lo que se abstrae, es decir, se obtienen más detalles, pero además, los más importante. Un ejemplo claro que podría servir es la siguiente imagen:
se pude observar, que del mismo gato que se observo anteriormente en la imagen de arriba, se puede abstraer los detalles más relevantes que se vayan a utilizar en el gato, es decir, con la abstracción de alto nivel, se obtiene más características, que a comparado con el de bajo nivel se obtienen menos detalles, que más adelante podremos ver.



Abstracción de bajo nivel: El término de abstracción de bajo de nivel, se refiere a la abstracción pobre básicamente, ya que no se llega a abstraer los detalles más relevantes o características que no van hacer necesariamente útiles, puede que se tengan muchos detalles, pero quizás, no sean los más relevantes. Un claro ejemplo se verá en la siguiente imagen:
Como se puede observar, las características que se pudieron abstraer no son los más relevantes, ya que no especifica bien los detalles que este gato posee, en comparación con el gato anterior, se evidencio que hay más características que puedan ser más útiles que las que se abstrajo con el de bajo nivel.





La abstracción de datos es una acción que se debe de implementar siempre, al momento que se requiera y que obviamente que con practica, se llega a un nivel de abstracción más alto, es muy importante esto de la abstracción, ya que interviene y simplifica los problemas que vayan a presentar, más sin embargo, abstraer de una forma que no es la adecuada puede que haga una mala solución a un problema dado, así que, abstraer de una forma adecuada, es una buena práctica para llegar a resolver un problema.

Comentarios

Entradas populares de este blog

Árbol Binario

Representación gráfica de un árbol binario  Un árbol binario es un árbol nulo o un árbol cuyos nodos tienen a lo sumo dos hijos. Los hijos de un árbol binario se pueden denotar como hijo izquierdo e hijo derecho. No pueden tener más de dos hijos (de ahí el nombre "binario"). Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado a un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los árboles binarios son los árboles binarios de búsquedas, los montículos binarios y Codificación de Huffman. Un árbol binario es un árbol en el que ningún nodo puede tener cero, uno o dos hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho. Existen tipos de árboles binarios que suelen usarse para fines específicos, como: Árbol binario de búsqueda y Árbol de Fibonnacci. Complejidad: árboles completos Deduciremos, de manera indu...

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...