DIAL es una aplicación de consola escrita en C++ para gestionar una agenda de contactos. El proyecto destaca por su uso de algoritmos avanzados y estructuras de datos sofisticadas, incluyendo árboles binarios, ordenamiento con Quick Sort, tablas hash, etc. Para ofrecer una solución eficiente y optimizada. Este sistema de agenda permite a los usuarios almacenar, buscar, ordenar y eliminar contactos de manera rápida y eficaz.
- Búsqueda rápida y eficiente de contactos mediante tablas hash y recorridos de árboles.
- Ordenamiento de contactos usando el algoritmo de Quick Sort para búsquedas optimizadas.
- Estructura de árbol binario para almacenar contactos de manera estructurada y balanceada.
- Funciones CRUD (Crear, Leer, Actualizar, Eliminar) para la gestión de contactos.
- Interfaz en terminal intuitiva y sencilla, permitiendo el uso del programa en entornos basados en consola.
El proyecto DIAL implementa varias estructuras de datos y algoritmos avanzados en C++, los cuales incluyen:
- Implementación mediante punteros: Cada nodo del árbol contiene punteros hacia sus nodos hijos y los hijos a los nodos padres, permitiendo una organización eficiente y fácil navegación.
- Recorridos del árbol: Preorden, Inorden, y Postorden para diferentes tipos de consultas y visualización de datos.
- Inserción, consulta y eliminación eficiente: El coste de la inserción, eliminación, y consulta es bajo gracias a la implementación estratégica de los árboles y las tablas de hash, siempre respetando el orden establecido.
- Ordenamiento eficiente de contactos para mejorar la velocidad de búsqueda y visualización, logrando una complejidad promedio de O(n log n).
- Tablas de hash y mapas hash (HashMap): Implementación de tablas hash para almacenar contactos con eficiencia en el tiempo de búsqueda, logrando acceso promedio en O(1).
- Redispersion de la tabla de hash en caso de acumulación de elementos
- C++11 o superior: Asegúrese de tener un compilador compatible (como GCC o Clang).
- CMake (opcional): Para compilar el proyecto en sistemas que lo soporten.
- Clonar el repositorio:
git clone https://github.com/Markuus9/EasyDial.git cd EasyDial cp /incl /lib /home/$USER
#compile
make
#run
./driver_easydial.exe
#USA EL COMANDO "help" para obtener ayuda sobre el uso.