Data Structure Algorithms Visualization Program created in Python with Flet Framework
This repository contains a data structure algorithms visualization program implemented in Python using the Flet framework. The main objective of this project is to provide an interactive and visually appealing way to understand and track the workings of the most common sorting algorithms, including BubbleSort, InsertionSort, SelectionSort, QuickSort, and MergeSort.
- Real-time Visualization: The program allows you to visualize the sorting process in real time as the data structures are modified during the execution of the algorithms. This provides a better understanding of the steps involved in each algorithm.
- Multiple Algorithms: The program includes implementations of BubbleSort, InsertionSort, SelectionSort, QuickSort, and MergeSort algorithms. Users can select the desired algorithm to visualize and compare their different behaviors.
- Interactive Controls: The program provides interactive controls such as play, pause, restart and execution speed buttons to allow users to control the execution pace and analyze each step in detail.
- Element Highlighting: During execution, the elements being processed are highlighted to emphasize the swaps and movements performed by the algorithms. This helps track real-time changes in the data structure.
- Python: The implementation of the program is based on the Python programming language, which offers flexibility and ease of use.
- Flet Framework: The program utilizes the Flet framework to create the interactive graphical interface. Flet is a lightweight and intuitive Python framework for building desktop applications.
- Clone the repository to your local environment.
- Run the
main.py
Python program to start the data structure algorithms visualizer.
Programa de Visualização de Algoritmos de Estrutura de Dados criado em Python com o Framework Flet
Este repositório contém um programa de visualização de algoritmos de estrutura de dados implementado em Python utilizando o framework Flet. O objetivo principal deste projeto é fornecer uma maneira interativa e visualmente atraente de entender e acompanhar o funcionamento dos algoritmos de ordenação mais comuns, incluindo BubbleSort, InsertionSort, SelectionSort, QuickSort e MergeSort.
- Visualização em Tempo Real: O programa permite visualizar o processo de ordenação em tempo real, à medida que as estruturas de dados são modificadas durante a execução dos algoritmos. Isso proporciona uma melhor compreensão das etapas envolvidas em cada algoritmo.
- Múltiplos Algoritmos: O programa inclui implementações dos algoritmos BubbleSort, InsertionSort, SelectionSort, QuickSort e MergeSort. Os usuários podem selecionar o algoritmo desejado para visualizar e comparar seus diferentes comportamentos.
- Controles Interativos: O programa oferece controles interativos, como botões de reprodução, pausa, reinício e velocidade de execução, para permitir que os usuários controlem o ritmo de execução e analisem cada etapa com detalhes.
- Destaque de Elementos: Durante a execução, os elementos em processamento são destacados para enfatizar as trocas e movimentos realizados pelos algoritmos. Isso ajuda a acompanhar as alterações na estrutura de dados em tempo real.
- Python: A implementação do programa é baseada na linguagem de programação Python, que oferece flexibilidade e facilidade de uso.
- Flet Framework: O programa utiliza o framework Flet para criar a interface gráfica interativa. O Flet é um framework Python leve e intuitivo para construir aplicativos de desktop.
- Clone o repositório em seu ambiente local.
- Execute o programa Python
main.py
para iniciar o visualizador de algoritmos de estrutura de dados.