Texto e documentos
Números e cálculo
Dados e formatos
Segurança
Desenvolvimento e DevOps
Inteligência Artificial
Finanças
Saúde & Bem-estar
Produtividade
Jogos & Entretenimento
Multimédia e design
Empresa
Guia de utilização
O teu código, contado

Escreve uma função sort(a) que ordene o array a no próprio sítio, ou parte de um modelo. Executa-se no teu navegador, à parte da página e com um limite de 8 segundos, com arrays de 8 a 1024 elementos já ordenados, ao contrário e aleatórios. Não é preciso alterar o teu código para contar: cada vez que comparas dois elementos com <, > ou subtraindo-os, conta uma comparação; cada a[i] é uma leitura e cada a[i] = …, uma escrita.

Como cresce

Com os tamanhos grandes, a ferramenta testa que curva se ajusta melhor às tuas contagens: n, n log n ou n², e com que constante («≈ 0,5·n²»). É uma medição, não uma demonstração: um algoritmo pode parecer n log n nestes tamanhos e não o ser.

Estabilidade

Uma ordenação é estável se dois elementos com a mesma chave ficam pela ordem em que vinham. A tool verifica-o com um array cheio de chaves repetidas que se lembram da sua posição original.

O que não conta

As comparações com === (não chamam valueOf) e o que fizeres em arrays auxiliares, exceto quando escreves de volta em a. Comparar um elemento com um número avulso conta meia comparação.

AlgoritmosO teu código contado, a tabela que se preenche e a poda à vista
AlgoritmosO teu código contado, a tabela que se preenche e a poda à vista

Escreve a tua ordenação (ou parte de um modelo) e vê quanto trabalha realmente: comparações, leituras e escritas, com arrays de 8 a 1024 elementos.

O teu código