GithubHelp home page GithubHelp logo

estebanq3 / arbol-rojo-negro Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 975 KB

Creación de un árbol rojo-negro el cual es un subtipo de árbol binario de búsqueda en el que cada nodo tiene un atributo de color cuyo valor es rojo o negro. Garantiza un tiempo de ejecución de O(logn) , donde n es el número total de elementos en el árbol.

C++ 100.00%

arbol-rojo-negro's Introduction

La primer pregunta elaboro el arbol correspondiente al enunciado, a la hora de escanear 
la hoja se cortan un poco algunos numeros pero, esos numeros que se cortan es el 1.
Detallo todos los pasos para llegar al arbol final equilibrado con todos los elementos de la lista
añadidos.
Posteriormente en la segunda pregunta, se elabora la rotación doble derecha. Simplemente
lo añado en la parte correspondiente y agrego el recoloreo.
Esta pregunta se ejecuta con g++ -o prueba main.cpp
En la tercer pregunta ya la clase árbol se encuentra toda en un .h por lo tanto solo agrego el
template y cambio los int y demás indentificadores por la K de Key, llave, y la V de Value, valor
Luego para compilar se utiliza el mismo comando que el de la segunda pregunta
es decir: g++ -o prueba main.cpp
La cuarta pregunta utilizo la ayuda de CplusPlus para poder investigar el funcionamiento
de map, una plantilla de un árbol, y agrego un for con un iterador que recorre el contenedor
imprimiendo sus valores requeridos.
Se compila con g++ -o prueba main.cpp
La quinta pregunta elaboro dos clases letra y entero las cuales son hijas de Valor, el cual
se sustituirá por la plantilla de la pregunta anterior para optimizarlo
De esta forma se puede llegar a utilizar el main polimórfico, ya que tenemos un arbol polimorfico.
El tipo del valor es Polimórfico y acepta tanto instancias de Entero como de Letra.
El árbol admite mezclas de ambos tipos de valor en la misma instancia de árbol, cosa que no permiten las plantillas.
Se compila con g++ -o prueba mainPolimorfico.cpp letra.cpp entero.cpp

arbol-rojo-negro's People

Contributors

estebanq3 avatar

Watchers

 avatar

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.