Mostrando las entradas con la etiqueta datos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta datos. Mostrar todas las entradas

jueves, 18 de enero de 2024

Estructuras de Datos

 ¿Qué son las estructuras de datos?

Las estructuras de datos son mecanismos y técnicas que son usadas para almacenar y organizar datos, es una forma de organizar los datos en una computadora para que se pueda acceder a ellos (los datos) y actualizarlos de manera eficiente.

Dependiendo de sus requisitos y proyecto, es importante elegir la estructura de datos adecuada para su proyecto. Por ejemplo, si desea almacenar datos secuencialmente en la memoria, puede optar por la estructura de datos de Array.

Representación de estructura de datos de Array
Representación de estructura de datos de Array

Nota: Las estructuras y los tipos de datos son ligeramente diferentes. Las estructuras de datos son la colección de tipos de datos dispuestos en un orden específico.


Tipos de estructuras de datos

Básicamente, las estructuras de datos se dividen en dos categorías:

  • Estructuras de datos lineal
  • Estructuras de datos no lineal

Conozcamos cada tipo en detalle.


Estructuras de datos lineales

En las estructuras de datos lineales, los elementos están ordenados uno tras otro. Dado que los elementos están dispuestos en un orden particular, son fáciles de implementar.

Sin embargo, cuando la complejidad del programa aumenta, las estructuras de datos lineales pueden no ser la mejor opción debido a las complejidades operativas.

Las estructuras de datos lineales populares son:


  • Estructura de datos de Array

En un Array, los elementos de la memoria se organizan en memoria continua. Todos los elementos de un Array son del mismo tipo. Y el tipo de elementos que se pueden almacenar en forma de Array está determinado por el lenguaje de programación.

Para obtener más información, visite Python List.


En un Array cada elemento es representado por un índice.
En un Array cada elemento es representado por un índice

  • Estructura de datos de Stack

En la estructura de datos de Stack, los elementos se almacenan según el principio LIFO. Es decir, el último elemento almacenado en un Stack se eliminará primero.

Funciona como una pila de platos donde se retirará el último plato que quede en la pila.

Para obtener más información, visite Estructura de datos de Stack.


En un Stack, las operaciones se pueden realizar solo desde un extremo.
En un Stack, las operaciones se pueden realizar solo desde un extremo

  • Estructura de datos de Queue

A diferencia del Stack, la estructura de datos de la Queue funciona según el principio FIFO, donde el primer elemento almacenado en la Queue se eliminará primero.

Funciona como una cola de personas en el mostrador de boletos, donde la primera persona en la cola obtendrá el boleto primero.

Para obtener más información, visite Estructura de datos de Queue.


En la Queue, agregar y eliminar datos se realizan desde extremos separados.
En la Queue, agregar y eliminar datos se realizan desde extremos separados

  • Estructura de datos de Linked List

En la estructura de datos de Linked List, los elementos de datos están conectados a través de una serie de nodos. Y cada nodo contiene los elementos de datos y la dirección del siguiente nodo.

Para obtener más información, visite Estructura de datos de Linked List.


Una lista enlazada
Una lista enlazada


Estructuras de datos no lineales

A diferencia de las estructuras de datos lineales, los elementos de las estructuras de datos no lineales no están en ninguna secuencia. En cambio, están organizados de manera jerárquica donde un elemento estará conectado a uno o más elementos.

Las estructuras de datos no lineales se dividen a su vez en estructuras de datos basadas en grafos y árboles.


  • Estructura de datos de Grafo

En la estructura de datos de Grafo, cada nodo se llama vértice y cada vértice está conectado a otros vértices a través de aristas.

Para obtener más información, visite Estructura de datos de Grafo.


Ejemplo de estructura de datos de grafo
Ejemplo de estructura de datos de grafo

Estructuras de datos populares basadas en grafos:


  • Estructura de datos de árboles

Similar a un grafo, un árbol también es una colección de vértices y aristas. Sin embargo, en una estructura de datos de árbol, solo puede haber una arista entre dos vértices.

Para obtener más información, visite Estructura de datos de árbol.


Ejemplo de estructura de datos de árbol
Ejemplo de estructura de datos de árbol

Estructuras de datos populares basadas en árbol:


Estructuras de datos lineales VS no lineales

Ahora que conocemos las estructuras de datos lineales y no lineales, veamos las principales diferencias entre ellas.


Estructuras de datos lineales VS no lineales
Estructuras de datos lineales versus no lineales

Por qué estructura de datos?

El conocimiento sobre las estructuras de datos le ayudará a comprender el funcionamiento de cada estructura de datos. Y, en base a eso, puede seleccionar las estructuras de datos adecuadas para su proyecto.

Esto le ayuda a escribir código eficiente en memoria y tiempo.


---
Contenido original en Ingles puede ser consultado en Programizhttps://www.programiz.com/dsa/data-structure-types


Siguiente Entrada: ¿Por qué aprender estructuras de datos y algoritmos?


sábado, 2 de noviembre de 2013

Borrón Y Cuenta Nueva

¿Pero que es "Borrón Y Cuenta Nueva"?

Algunas definiciones de la expresión las pude encontrar en WordReference y en RAE.

También he escuchado recientemente una expresión similar y que me parece un poco cómica, "Apague Y Vámonos" la cual tiene algún tipo de relación con el titulo de esta entrada en el blog.

¿Bueno y por que "Borrón Y Cuenta Nueva"?

Esa es la razón de esta entrada, dar a conocer que después de varios años usando mi cuenta Google (desde los inicios en que Gmail era Beta) me encontré con la necesidad de crear otra cuenta y migrar mis datos a una nueva cuenta de Google, un proceso que parece ser algo tedioso y complicado, pero, que en mi opinión lo complicado al proceso se lo da uno mismo.

Cuando me decidí a realizar el proceso de crear una nueva cuenta en Google para usar como mi cuenta de usuario principal, pensé en las implicaciones que esto tenia para toda la información y datos que tenía asociada a mi antigua cuenta, es mas, muchas veces pospuse este proceso.

Pero finalmente me he decidido y el proceso hasta ahora no ha tenido mayores implicaciones, primero que todo lo mas importante de una cuenta en Google son las listas de contactos que uno ha compilado con mucho "esfuerzo". Si hacemos una analogía con el mundo material, perder estos contactos es como si estuviéramos solos en el universo, en este sentido Google nos permite crear una copia de todos nuestros contactos y poderlos exportar hacia otra cuenta.

Lo otro que me preocupaba era la asociación de mi cuenta con otros servicios, cosa que no fue tan complicada como parece ya que otras cuentas asociadas a mi correo Gmail se pueden actualizar para que se asocien con mi nueva cuenta en Google, es tan simple como actualizar la nueva dirección de gmail a la que está asociada la cuenta como en el caso de Twitter.

En el camino me encontré con Google Drive, en este servicio las cosas no son tan fáciles por que hasta el momento no existe la forma de automatizar el proceso de exportar todos nuestros documentos a otra cuenta de Google, por lo que hay que hacer un proceso manual sobre cada documento para cambiar de propietario, afortunadamente en mi caso no tengo muchos documentos y los que tengo no los requiero editar constantemente lo cual con el transcurso del tiempo cuando necesite un doc puedo ir migrando de propietario dicho documento.

Otra de las cosas fue mi perfil en G+ lo que estoy haciendo es eliminar y modificar algunas opciones de privacidad gradualmente hasta encontrar un punto en el cual pueda eliminar por completo mi cuenta de G+, una de las cosas que se puede hacer en el transcurso del proceso es informar a nuestros Círculos nuestra nueva cuenta.

Actualmente Google ofrece una buena documentación sobre el tema de como migrar datos de una cuenta a otra, incluidos algunos servicios de Google, es la que estoy usando para realizar este proceso y la pueden consultar en el siguiente link: Migrar Datos De Google

En este momento sigo trabajando en el proceso, lo poco que he hecho hasta ahora me ha cambiado mi opinión que tenia inicialmente sobre lo complicado y tedioso que puede ser el proceso, como mencioné al principio, lo complicado y tedioso al proceso se lo da uno mismo.

Lo importante y lo que uno debe tener claro es que no es algo se se haga de la noche a la mañana, es un proceso que lleva tiempo, pero en mi caso el 80% del uso que uno tiene con su cuenta en Google es para usar Gmail y mantenerse en contacto son la fuente de información y relaciones académicas, personales y laborales es decir nuestra lista de Contactos, el resto de servicios se pueden ir modificando en la marcha lo mas importante es mantener a nuestros Contactos informados de nuestra nueva cuenta en Google.

Actualmente me pueden contactar en mi perfil de G+ Juan Sebastian Rios Sabogal