Complexidade espacial
Calcule Complexidade espacial online grátis com a fórmula exata e um exemplo resolvido. Sem cadastro.
Complexidade espacial
A notação Big-O mostra como a memória cresce; esta calculadora mostra quanto ela realmente ocupa — bytes, KB, MB e GB para n elementos de um tamanho dado.
Como funciona o cálculo
Complexidade espacial descreve como o uso de memória de um algoritmo aumenta com o tamanho da entrada. O(n) indica o ritmo de crescimento, não os megabytes. Aqui o volume útil é calculado diretamente: memória = n × b, em que n é o número de elementos e b o tamanho de cada um em bytes.
Valores comuns de b: 1 byte para char/uint8, 4 bytes para int32 e float, 8 bytes para int64, double e ponteiro em 64 bits. O resultado usa unidades binárias: 1 KB = 1024 bytes, 1 MB = 2²⁰ = 1.048.576 bytes e 1 GB = 2³⁰ bytes (a rigor, KiB, MiB e GiB pela IEC 80000-13).
Para outras estruturas, coloque em n a contagem real de elementos: n² para uma matriz n×n, vértices mais arestas para uma lista de adjacência. Overhead dos contêineres e preenchimento por alinhamento não entram no cálculo.
Exemplo resolvido
Um array de 1.000.000 de valores int32 (4 bytes): 1.000.000 × 4 = 4.000.000 bytes = 3.906,3 KB ≈ 3,81 MB ≈ 0,004 GB. Guardando os mesmos valores como int64 ou double (8 bytes), são 8.000.000 bytes ≈ 7,63 MB — exatamente o dobro.
Pontos de atenção
- Valores encapsulados custam bem mais: no CPython cada posição de uma lista é um ponteiro de 8 bytes mais um objeto int separado (cerca de 28 bytes para números pequenos).
- Arrays dinâmicos (std::vector, ArrayList, list) reservam capacidade extra e tabelas hash mantêm posições vazias de propósito — deixe folga.
- Algoritmos recursivos também usam a pilha: profundidade da recursão × tamanho do quadro conta na complexidade espacial.
- Diferencie espaço auxiliar (além da entrada) de espaço total: merge sort precisa de O(n) auxiliar; heapsort, de O(1).
Mais sobre: Complexidade espacial
O que calcula
A calculadora «Complexidade espacial» calcula Memória, MiB em MiB a partir de 2 parâmetros: número de elementos n, bytes por elemento (int32 = 4, int64/double = 8) (bytes).
Cálculos de TI padrão para desenvolvedores e administradores.
Exemplo de cálculo
Com os parâmetros Número de elementos n = 1.000.000, Bytes por elemento (int32 = 4, int64/double = 8) = 4 bytes o resultado é 3,81 MiB (Sem contar o overhead do contêiner e o alinhamento).
Como usar
- Digite número de elementos n e bytes por elemento (int32 = 4, int64/double = 8) — cada campo acima é ajustável com um controle deslizante.
- Memória, MiB (MiB) é calculado automaticamente conforme você digita.
- Confira o exemplo abaixo para ver a fórmula aplicada a números reais.
- Copie o resultado ou salve esta calculadora nos favoritos.
Calculadoras relacionadas
Perguntas frequentes
Por que 4.000.000 bytes dão 3,81 MB e não 4?
O que significa O(1) de memória?
Quanto ocupa uma matriz 10.000 × 10.000 de doubles?
Mais calculadoras desta categoria
Explore outras ferramentas gratuitas