Visualizador de classificação
Um visualizador de classificação leve feito com C ++ e SFML.
|
|---|
| Informações sobre classificação de bolhas |
Eu quero contribuir para o projeto!
Incrível! Aqui você pode encontrar algumas informações úteis sobre o visualizador, também aceitamos os primeiros colaboradores!
Além disso, certifique -se de puxar as últimas alterações do Dev Branch!
Tipos de classificação
- Tipo de bolha
- O tipo de bolha funciona trocando continuamente elementos próximos um do outro que estão no lugar errado. A partir do início do conjunto de dados, cada elemento 'flutua' até o seu local correto. Mais sobre o tipo de bolha pode ser encontrado aqui.
- Classificação de seleção
- O tipo de seleção funciona com duas seções, as seções classificadas e não classificadas, e pesquise continuamente através da seção não classificada e coloque o menor elemento na seção classificada. Esse algoritmo de classificação pode ser implementado onde o maior elemento é selecionado. Mais sobre o tipo de seleção pode ser encontrado aqui.
- Classificação de inserção
- O tipo de inserção é semelhante à classificação de seleção, pois ambos têm uma seção classificada e não classificada. Em vez de selecionar continuamente o menor/maior elemento, ele inserirá um elemento selecionado da porção não classificada e o 'insira' no local correto na seção classificada. Mais sobre o tipo de inserção pode ser encontrado aqui.
- Classificação rápida
- O Rick Sort é um algoritmo de "dividir e conquista". Divida e conquistar os algoritmos funcionam dividindo o problema em porções menores, resolvendo os problemas menores e, em seguida, vasculhando as soluções em uma solução final. A classificação rápida funciona escolhendo um elemento como um 'pivô', movendo os outros elementos em torno de onde os elementos menos que o pivô estão de um lado e os elementos maiores que o pivô estão do outro e, em seguida, fazendo esse processo continuamente com cada lado. Depois que cada elemento foi particionado, a solução é combinada na matriz classificada. Mais sobre classificação rápida pode ser encontrada aqui e mais nos algoritmos de divisão e conquista podem ser encontrados aqui.
- Crega de coquetel
- O Cocktail Shaker é uma variante do tipo de bolha. Em vez de ter apenas elementos 'flutuam' de baixo para seu ponto correto no conjunto de dados, os elementos também 'afundam' da parte superior do conjunto de dados para sua posição correta. Mais sobre coquetel que o tipo de coquetel pode ser encontrado aqui.
- BOGO Classificação
- O BOGO Sort é um algoritmo de classificação ineficiente, onde gera aleatoriamente versões diferentes do conjunto de dados original e verifica se for classificado ou não. Mais sobre o tipo BOGO pode ser encontrado aqui.
- Tipo bitônico
- O Bitonic Sort é um algoritmo de classificação baseado em comparação que pode ser executado com implementação paralela. Dentro de subarrays diferentes, o algoritmo verifica se o primeiro elemento é menor que o segundo e vice -versa. Ele faz isso continuamente em subarraias maiores até que todo o conjunto de dados seja classificado. Mais sobre o tipo Bitonic pode ser encontrado aqui.
- Ímpar-e até classificação
- O ímpar-mesmo é o algoritmo de classificação vasado por comparação desenvolvido para uso em processadores pararell, baseado no tipo de bolha, mas é dividido em duas fases ímpares e uniformes. No algoritmo de fase ímpar, executa classificação de bolhas em elementos indexados ímpares, durante a fase uniforme em elementos indexados. Mais sobre o tipo ímpar pode ser encontrado aqui.
? Iquudem o uso
- Espaço : Comece a classificar
- Backspace : pare de classificar
- H : Exiba ajuda
- F1 : Altere o número de elementos
- F2 : Altere o tempo entre comparações
- Seta para cima / seta para baixo : altere o tipo de classificação
? Iquudir download
Requisitos:
? Linux
- Clone the Project:
git clone https://github.com/alesbe/sorting-visualizer && cd sorting-visualizer - Execute
./install.sh
Windows / MacOS
Download de lançamentos
Se você deseja compilar o projeto sozinho, você precisa seguir as próximas etapas:
- Baixe o SFML do site oficial
- Baixe o cmake
- Clone o repositório
- Abra
CMakeLists.txt e localize a variável SFML_DIR . Defina o caminho para a rota em que os arquivos SFML CMake estão localizados. Por exemplo, C:/Program Files (x86)/SFML/lib/cmake/SFML . - Do diretório raiz do repositório, execute:
mkdir build cd build
cmake ..
cmake -G 'Visual Studio 17 2022' ..
- No diretório
/build deve ser uma solução do Visual Studio. Agora você pode abrir a solução e compilar o arquivo com o botão Play como de costume!
Nota: Se você não quiser usar o Visual Studio 2022, faça o download do SFML para o seu compilador de destino e altere o gerador CMake na etapa 6. Você pode verificar a lista de geradores com cmake -g