Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Para Ler E Contar Caracteres De Modo Rápido


CjimC

Pergunta

Olá Pessoa !!!

Estou iniciando em c++ e estou tendo o seguinte problema: Preciso criar um algoritmo que leia uma arquivo onde contem 4 letras A,B,C,D repetidas apenas 230.000.000 de vezes e depois separe a quantidade de vezes em que cada letra aparece. Já tentei pelo método de contar caracter, funciona, mas é demorado pois o aqruivo é txt e tem 220mb. Então será que alguém tem um algoritmo que eu pudesse dar uma estudada pra aprender a fazer isso de forma mais rápida?

Obrigado

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

rapaz,

de todo jeito você vai ter que ler o arquivo pelo menos uma vez... então o melhor metodo é a medida que ler já adiciona no contador de cada letra:

algoritmo:

inicio
     defina contA=0,contB=0,contC=0,ContD=0;
     enquanto não chegar no fim do arquivo
            ler UM caracter ch;
            switch ( ch )
                     caso 'A': contA++; pare;
                     caso 'B': contB++;pare;
                     caso 'B': contC++;pare;
                     caso 'B': contD++;pare;
                     nenhum desses: informar erro;
          fim do switch;
     fim enquanto
     imprimir contA,contB,contC,contD;
fim

bem, esse é o melhor algoritmo que tem pra isso, pois tem complexidade n, onde n é o tamanho do arquivo. Melhor que isso só se você encontrar um algoritmo de complexidade constante, se encontrar me fala...uauahuauahuahuha.

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

Simplesmente não da pra possuir complexidade menor que essa (se você não tiver informação adicional sobre o arquivo). você precisa ler todos os caracteres.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...