Giter Club home page Giter Club logo

algorithm_visualizer_pygame's Introduction

SortingWiz

Description:

Hi everyone! I am Arjun Vijay Prakash from India and I will be taking you through this project.

SortingWiz is a Python and Pygame-based interactive sorting algorithm visualizer. It allows you to see how different sorting algorithms work in real-time by providing a visual representation of the sorting process.

Let’s look at some features of SortingWiz. You can visualize sorting algorithms in real-time, control the execution step by step, adjust the speed dynamically, and even enjoy sound effects to enhance your experience.

SortingWiz supports multiple sorting algorithms such as Bubble Sort, Insertion Sort, Selection Sort, and Heap Sort. You can choose your preferred algorithm and see it in action.

For those who are interested in technical details, SortingWiz shows the time and space complexity of each sorting algorithm. It is a great way to learn about different algorithms’ efficiency.

I appreciate your company throughout this exploration of SortingWiz. I hope it was both educational and fun for you. Feel free to try it out with different sorting algorithms. In case of any questions or feedback, please don’t hesitate to contact me. Happy sorting!

Getting Started Requirements:

  • Python 3

  • Pygame library

Installation:

pip install pygame

Running the Program:

python sortingwiz.py

Features Visualization of the following sorting algorithms:

  • Bubble Sort
  • Insertion Sort
  • Selection Sort
  • Heap Sort
  • Real-time updates during sorting process.

There are the key user controls for the sorting program: a start/stop button, reset button, sorting order change(ascending/descending), and switch to another algorithm.

Controls

  • Q: Quit the program.

  • R: Reset the list.

  • Space: Start/stop sorting.

  • A: Sort in ascending order.

  • D: Sort in descending order.

  • I: Select Insertion Sort.

  • B: Select Bubble Sort.

  • S: Select Selection Sort.

  • H: Select Heap Sort.

User Interface Title: Displays the current sorting algorithm and order.

Controls: Shows key commands for user interaction.

Sorting Options: Lists available sorting algorithms.

Sorting Visualization: Displays a visual representation of the sorting process.

Additional Information: Displays project details and author information.

Contributing If you'd like to contribute to SortingWiz, please follow these steps:

  • Fork the repository.
  • Create a new branch for your feature or bug fix.
  • Make your changes.
  • Submit a pull request.

Author Arjun Vijay Prakash (@ArjunCodess)

Acknowledgments This project was developed as a part of the CS50 Fall 2023 Final Project - SortingWiz.

algorithm_visualizer_pygame's People

Contributors

arjuncodess avatar

Stargazers

Serenity Liu avatar Aayush Sharma avatar Nelson Guiamba avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.