Git Product home page Git Product logo

datalib's Introduction

Banner (claro) Banner (oscuro)

Pequeña librería en C para el manejo de diversas estructuras de datos


Insignia de 42 Tiempo

datalib

Una estructura de datos​ es una forma particular de organizar información para que pueda ser utilizada de manera eficiente. Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos de ellos son altamente especializados para tareas específicas.1

Esta librería contiene diversas estructuras de datos y funciones para su manejo.

Note

Compatible con los proyectos de 42 The Network.
El código cumple la Norma (v3.x) y las directrices de la escuela.

Estructuras de datos

Se muestran a continuación las estructuras de datos incluidas en la librería.

Important

La librería mejorará con el tiempo, añadiendo nuevas estructuras de datos y funciones.

Listas

Doblemente Enlazadas


Doblemente Enlazada (oscuro) Doblemente Enlazada (claro)

Consiste en una lista enlazada en la que cada nodo apunta al anterior y al siguiente.

Características

  • Recorrer la lista en ambos sentidos.
  • Obtener los extremos desde cualquier nodo.
  • Modificar un nodo en cualquier posición de la lista.

Estructura

  • El primer nodo apunta a NULL como nodo anterior.
  • El último nodo apunta a NULL como nodo siguiente.

Doblemente Enlazadas Circulares


Doblemente Enlazada (oscuro) Doblemente Enlazada (claro)

Consiste en una lista doblemente enlazada en la que el último nodo apunta al primero y viceversa.

Características

  • Recorrer la lista en ambos sentidos.
  • Obtener los extremos desde cualquier nodo.
  • Modificar un nodo en cualquier posición de la lista.
  • No hay un nodo final, tras el último nodo se encuentra el primero.
  • Si la lista tiene 1 solo nodo, el nodo apunta a sí mismo.

Estructura

  • El primer nodo apunta al último nodo.
  • El último nodo apunta al primer nodo.
  • Ningún nodo apunta a NULL.

Colas


Cola (oscuro) Cola (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde los únicos nodos relevantes son el primero y el último

Important

Esta es una estructura de datos FIFO (First In, First Out).

Características

  • Solo se pueden añadir nodos al inicio.
  • Solo se pueden eliminar nodos por el final.
  • Los nodos intermedios no son accesibles.
  • No se pueden modificar nodos.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Pilas


Pila (oscuro) Pila (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde el único nodo relevante es el tope de la pila (primero).

Important

Esta es una estructura de datos LIFO (Last In, First Out).

Características

  • Solo se pueden añadir nodos sobre el tope.
  • Solo se puede eliminar el tope de la pila.
  • Los nodos intermedios y final no son accesibles.
  • No se pueden modificar nodos.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Conjuntos


Conjunto (oscuro) Conjunto (claro)

Consiste en una lista enlazada en la que cada nodo apunta al siguiente, y donde no se admiten nodos repetidos.

Características

  • No se pueden añadir nodos repetidos.
  • Se pueden aplicar operaciones de teoría de conjuntos2.

Estructura

  • El último nodo apunta a NULL como nodo siguiente.

Footnotes

  1. Wikipedia: estructuras de datos

  2. Wikipedia: conjuntos

datalib's People

Contributors

15galan avatar ernestomgz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

datalib's Issues

Refactorizar el historial para aplicar GlitFlow

Mover los punteros de las ramas y en definitiva, aplicar cambios al proyecto, de tal forma que se obtenga una rama principal master adecuada y un flujo de trabajo realizado en una rama develop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.