GithubHelp home page GithubHelp logo

gabrieljp314 / tree-explorer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from felipponn/tree-explorer

0.0 0.0 0.0 78 KB

Trabalho elaborado para a disciplina de Estrutura de Dados, FGV-EMAp 2023.

License: Apache License 2.0

C++ 98.41% C 0.27% Makefile 1.31%

tree-explorer's Introduction

Tree Explorer 🌳

O Tree Explorer é um projeto em C++ que fornece um conjunto de funções para lidar com árvores binárias de busca. Ele oferece um menu interativo para o usuário, permitindo a execução de várias operações úteis para BSTs. Foi desenvolvido como projeto final da matéria de Estrutura de Dados da FGV, ministrada no primeiro semestre de 2023 pelo Prof. Dr. Rafael de Pinho.

Funcionalidades

  1. O programa oferece um menu ASCII para o usuário com as opções de uso.
  2. Todas as operações indicam o tempo de processamento utilizado após a finalização.
  3. Construção de uma árvore binária de busca a partir de um arquivo texto.
  4. Construção de uma árvore binária de busca a partir de dados digitados pelo usuário.
  5. Informação da altura da árvore.
  6. Informação do tamanho da árvore.
  7. Inserção de um elemento fornecido pelo usuário.
  8. Remoção de um elemento fornecido pelo usuário.
  9. Busca do endereço de memória de um elemento fornecido pelo usuário.
  10. Verificação se a árvore é completa.
  11. Verificação se a árvore é perfeita.
  12. Exibição da árvore utilizando BFS (Breadth-First Search) - utiliza uma implementação eficiente com fila.
  13. Conversão da árvore em uma lista e ordenação com Bubble Sort.
  14. Conversão da árvore em uma lista e ordenação com Selection Sort.
  15. Conversão da árvore em uma lista e ordenação com Insertion Sort.
  16. Conversão da árvore em uma lista e ordenação com Shell Sort.
  17. Impressão da árvore de acordo com várias ordens de travessia (pré-ordem, in-ordem ou pós-ordem).

Pré-requisitos

Certifique-se de ter os seguintes requisitos instalados em sua máquina:

  • Compilador C++
  • Biblioteca padrão do C++
  • Sistema operacional compatível (Windows, macOS, Linux)

Como usar

  1. Clone o repositório do Tree Explorer em sua máquina local: git clone https://github.com/seu-usuario/tree-explorer.git
  2. No diretório do projeto, compile e execute o código-fonte: make main, ou g++ -o main.exe main.cpp interface.cpp create_tree.cpp tree_infos.cpp BFS.cpp sort_list.cpp seguido de ./main.exe
  3. Siga as instruções exibidas no menu para interagir com as funcionalidades do Tree Explorer.

Importante notar que neste repositório também estão disponíveis drivers que testam as funções implementadas por nós. Para tanto, você pode executar comandos como make test_create_tree, make test_tree_infos ou make test_sort_list. Também pode ser executado na linha de comando g++ test_{NOME}.cpp {NOME}.cpp -o test_{NOME}.exe seguido de ./test_{NOME}.exe, substituindo {NOME} por create_tree, tree_infos ou sort_list.

tree-explorer's People

Contributors

felipponn avatar fabricioventurim avatar atronee avatar gabrieljp314 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.