VisualSort is an iOS app built with SwiftUI, designed to provide real-time visualization of various sorting algorithms. The app allows users to interactively observe sorting operations and control parameters like algorithm type, animation speed, and data size. Developed as a final project for CS50x, VisualSort leverages knowledge gained from the course to create an engaging and educational tool for learning sorting algorithms.
- Real-time Visualization: See sorting algorithms in action with interactive visualizations.
- Multiple Sorting Algorithms: Choose from Bubble Sort, Insertion Sort, and Quick Sort for comparison and learning.
- Adjustable Parameters: Control animation speed and data size for a customizable experience.
- User-Friendly Interface: Simple and intuitive controls make it easy to use for learners and enthusiasts alike.
- Launch the app and select a sorting algorithm from the options provided.
- Adjust the animation speed and data size sliders as desired.
- Tap the "Step" button to execute a single step of the sorting algorithm.
- Use the "Shuffle" button to randomize the data set.
- Observe the sorting process in real-time and enjoy experimenting with different parameters.
VisualSort serves as an educational resource for learning about sorting algorithms. It's a valuable tool for students, developers, and educators to understand and visualize the intricacies of sorting methods.
- Expansion of Sorting Algorithms: Continuously add new sorting algorithms to the app to provide a comprehensive learning experience. Consider including algorithms like Merge Sort, Selection Sort, and Heap Sort.
- Algorithm Comparisons: Implement features for comparing different sorting algorithms side by side, allowing users to visualize and understand their differences in performance and behavior.
- Educational Content: Enhance the app with educational content such as explanations, tutorials, and quizzes to help users grasp the concepts behind each sorting algorithm.
Contributions are welcome! If you have suggestions for improvements or new features, please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
