Sign inSign up

williansilva51/dictionary

By williansilva51

Updated 10 months ago

Contagem da frequência de palavras em C++ com 4 estruturas de dados e comparação de desempenho

Image
Monitoring & observability
0

50K+

williansilva51/dictionary repository overview

Visão Geral

Esta imagem contém uma aplicação em C++ para contagem de frequência de palavras em textos. O projeto foi desenvolvido para a disciplina de Estruturas de Dados Avançadas e compara o desempenho de quatro diferentes estruturas de dados:

  • Árvore AVL
  • Árvore Rubro-Negra
  • Tabela Hash com Encadeamento
  • Tabela Hash com Endereçamento Aberto

A imagem Docker foi criada usando uma construção multi-stage para garantir um ambiente de execução leve e otimizado, contendo apenas o necessário para rodar a aplicação.

Como Executar a Imagem

A maneira mais simples de começar é puxando a imagem do Docker Hub e executando-a.

  1. Puxe a imagem:

    docker pull williansilva51/dictionary
    
  2. Execute o contêiner: Por padrão, o comando executará a análise no arquivo domcasmurro.txt com todas as estruturas de dados.

    docker run williansilva51/dictionary
    
Especificando Estruturas e Arquivos

Você pode passar argumentos para o contêiner para escolher a estrutura de dados e o arquivo de texto a ser analisado.

Sintaxe:

docker run williansilva51/dictionary <estrutura> <arquivo.txt>

Argumentos:

  • <estrutura>: O tipo de dicionário a ser usado. Opções:

    • avl: Árvore AVL
    • rbt: Árvore Rubro-Negra
    • chash: Tabela Hash com Encadeamento
    • ohash: Tabela Hash com Endereçamento Aberto
    • all: Executa e compara todas as quatro estruturas.
  • <arquivo.txt>: O nome do arquivo de texto. A imagem já inclui os seguintes arquivos: bible.txt, domcasmurro.txt, donquijote.txt, lupin.txt, metamorphosis.txt e mobydick.txt.

Exemplo:

# Executar com a Árvore Rubro-Negra no arquivo bible.txt
docker run williansilva51/dictionary rbt bible.txt

Usando Seus Próprios Arquivos de Texto

Para analisar seus próprios arquivos .txt, você pode usar volumes do Docker para mapear um diretório local para o contêiner.

  • Diretório de Entrada: Uma pasta no seu computador contendo os arquivos de texto.
  • Diretório de Saída: Uma pasta onde os resultados da análise serão salvos.

Comando:

docker run --rm \
  -v "$(pwd)/entrada:/app/files" \
  -v "$(pwd)/out:/app/out" \
  williansilva51/dictionary all seu_arquivo.txt

Nota: Neste exemplo, o diretório entrada na sua máquina local será mapeado para o diretório /app/files dentro do contêiner, e a saída será salva no diretório out.

Tag summary

Content type

Image

Digest

sha256:6aac33001

Size

29.9 MB

Last updated

10 months ago

docker pull williansilva51/dictionary