Sort_Algorithms
V1.1
Um programa para mostrar o tempo de execução e os variados de classificação de algoritmos no idioma C Existem 48 algoritmos de classificação, distribuídos em 8 categorias diferentes.
Nas configurações do programa, existem modificações avaliáveis observadas na tabela abaixo:
| Configuração | Padrão |
|---|---|
| Caso de classificação | Aleatório |
| Intervalo aleatório | 32 |
| Comprimento da matriz | 10 |
| Salvar resultados em um arquivo de texto | NÃO |
| Matrizes de exibição | SIM |
| Exibir tempo de execução | SIM |
NOTA: Você precisa ter o compilador GCC instalado em sua máquina para executar as instruções abaixo para executar o programa.
Abra um terminal e vá para o diretório do projeto. Executar make in Terminal Deixe compilar o programa. Comandos disponíveis para executar com make ( make ${command} ):
| Comando | Descrição |
|---|---|
| limpar | Limpo todos os objetos gerados |
| cr | Compilar e correr |
| rmProper | Limpe todos os arquivos de objeto |
| correr | Execute o programa principal |
On Command Prompt ou PowerShell e vá para o diretório do projeto e execute execute.bat .





| Categoria | Organizar |
|---|---|
| Esotérico e divertido e diverso | Bad Centro BOGO BOGO CLOTE BOGO Classificação Bubble BOGO CLOTE Cocktail BOGO CLOTE Trocar o tipo BOGO Menos classificação de BOGO Tipo de panqueca Tipo bobo Sleep Cind Classificação lenta Classificação de espaguete Classificação de Stooge |
| Intercâmbio | Tipo de bolha Círculo de círculo Crega de coquetel Tipo de pente Criação rápida do pivô duplo GNOME CLIME Ímpar-e até classificação Classificação de bolhas otimizadas Caminhão de coquetel otimizado Classificação otimizada do Gnome Classificação rápida Classificação rápida de 3 vias Classificação rápida estável |
| Híbridos | Tim Sort |
| Inserção | AVL Tree Classificador Classificação de inserção binária Ciclo Classificação de inserção Classificar paciência Classificação da concha Tipo de árvore |
| Mesclar | Classificação de mesclagem de baixo para cima Classificação de mesclagem no local Mesclar classificar |
| Redes e concorrentes | Tipo bitônico Classificação de rede em pares |
| Não comparação e distribuição | Corrente do balde Contagem de classificação Gravidade (contas) Tipo de pombo Radix LSD Classificador |
| Seleção | Seleção dupla Max Heap Classin Min Heap Classion Classificação de seleção |
| Algoritmo | Pior caso | Melhor caso | Média | Complexidade espacial | No local | Estável | Notas |
|---|---|---|---|---|---|---|---|
| Bad Centro | O (n³) | O (n³) | O (n³) | O (1) | ✔️ | ||
| BOGO BOGO CLOTE | O (infinito) | O (n²) | O ((n+1)!) | O (1) | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória | |
| BOGO Classificação | O (infinito) | SOBRE) | O ((n+1)!) | O (1) | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória | |
| Bubble BOGO CLOTE | O (infinito) | SOBRE) | O ((n+1)!) | O (1) | ✔️ | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória |
| Cocktail BOGO CLOTE | O (infinito) | SOBRE) | O ((n+1)!) | O (1) | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória | |
| Trocar o tipo BOGO | O (infinito) | SOBRE) | O ((n+1)!) | O (1) | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória | |
| Menos classificação de BOGO | O (infinito) | O (n²) | O ((n+1)!) | O (1) | ✔️ | O pior caso pode ser ilimitado devido a manipulação aleatória | |
| Tipo de panqueca | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Tipo bobo | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Sleep Cind | O (int_max) | O (max (entrada) + n) | O (max (entrada) + n) | SOBRE) | ✔️ | Use o uso do agendador da CPU para classificar | |
| Classificação lenta | O (n*n!) | SOBRE) | O ((n+1)!) | O (1) | ✔️ | ||
| Classificação de espaguete | SOBRE) | SOBRE) | SOBRE) | SOBRE) | ✔️ | ||
| Classificação de Stooge | ![]() | ![]() | ![]() | SOBRE) | |||
| Tipo de bolha | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Círculo de círculo | O (n log n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Crega de coquetel | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ✔️ | |
| Tipo de pente | O (n²) | O (n log n) | ![]() | O (1) | ✔️ | P é o número de incrementos | |
| Criação rápida do pivô duplo | O (n²) | O (n log n) | O (n log n) | O (log n) | ✔️ | ||
| GNOME CLIME | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Ímpar-e até classificação | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Classificação de bolhas otimizadas | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Caminhão de coquetel otimizado | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Classificação otimizada do Gnome | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Classificação rápida | O (n²) | O (n log n) | O (n log n) | O (log n) | ✔️ | ||
| Classificação rápida de 3 vias | O (n²) | SOBRE) | O (n log n) | O (log n) ou o (n) | ✔️ | ||
| Classificação rápida estável | O (n²) | O (n log n) | O (n log n) | SOBRE) | ✔️ | ✔️ | |
| Tim Sort | O (n log n) | SOBRE) | O (n log n) | SOBRE) | ✔️ | ||
| AVL Tree Classificador | O (n log n) | SOBRE) | O (n log n) | SOBRE) | ✔️ | Na pior das hipóteses, O (n²) ao usar a árvore de pesquisa binária e O (n log n) ao usar árvore de pesquisa binária auto-equilibrada | |
| Classificação de inserção binária | O (n log n) | SOBRE) | O (n log n) | O (1) | ✔️ | ✔️ | |
| Ciclo | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | ||
| Classificação de inserção | O (n²) | SOBRE) | O (n²) | O (1) | ✔️ | ✔️ | |
| Classificar paciência | O (n log n) | SOBRE) | O (n log n) | SOBRE) | ✔️ | ||
| Classificação da concha | ou O (n log² n) | O (n log n) | O (n^1,25) a O (n²) | O (1) | ✔️ | ||
| Tipo de árvore | O (n²) | O (n log n) | O (n log n) | SOBRE) | ✔️ | Na pior das hipóteses, O (n²) ao usar a árvore de pesquisa binária e O (n log n) ao usar árvore de pesquisa binária auto-equilibrada | |
| Classificação de mesclagem de baixo para cima | O (n log n) | O (n log n) | O (n log n) | SOBRE) | ✔️ | ||
| Classificação de mesclagem no local | O (n²) | O (n²) | O (n²) | O (log n) | ✔️ | ✔️ | |
| Mesclar classificar | O (n log n) | O (n log n) | O (n log n) | SOBRE) | ✔️ | ||
| Tipo bitônico | O (log² n) | O (log² n) | O (log² n) | O (n log² n) | ✔️ | ||
| Classificação de rede em pares | ou O (n log n) | O (n log n) | O (n log n) | ![]() | ✔️ | O pior caso é usar tempo paralelo e complexidade espacial | |
| Corrente do balde | O (n²) | O (n+k) | O (n+k) | O (n+k) | ✔️ | k é o número de baldes | |
| Contagem de classificação | O (n+k) | O (n+k) | O (n+k) | O (n+k) | ✔️ | k é a gama de dados de entrada | |
| Gravidade (contas) | O (s) | O (1) ou ![]() | SOBRE) | O (n²) | ✔️ | S é a soma dos elementos da matriz, o (1) não pode ser implementado na prática | |
| Tipo de pombo | O (n+n) | O (n+n) | O (n+n) | O (n+n) | ✔️ | N é o número de elementos e n é o intervalo de dados de entrada | |
| Radix LSD Classificador | O (nw) | O (nw) | O (nw) | SOBRE) | ✔️ | W é a largura do elemento maxumum (bits) | |
| Seleção dupla | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | Comparações | |
| Max Heap Classin | O (n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Min Heap Classion | O (n log n) | O (n log n) | O (n log n) | O (1) | ✔️ | ||
| Classificação de seleção | O (n²) | O (n²) | O (n²) | O (1) | ✔️ | Comparações |