Skip to content

Visual representation of sorting algorithms, powered by a React frontend and a Node.js backend

Notifications You must be signed in to change notification settings

Max-OMeara/SortingAlgVisualitations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sorting Algorithm Visualizer

Project Overview

Sorting Algorithm Visualizer is a React application designed to help users, especially those learning or reviewing computer science concepts, visualize and understand various sorting algorithms. The project leverages JavaScript and React to create dynamic and interactive visualizations of how sorting algorithms work step-by-step. This tool is not only useful for memorizing algorithms but also for gaining a deeper understanding of how they function.

Features

  • Visualization of Sorting Algorithms: The application currently supports visualizing several sorting algorithms, with more planned for future updates.
  • React-Based Interface: The application is built using React, providing a modern and responsive user interface.
  • Educational Tool: Ideal for students and professionals who want to review or learn sorting algorithms through visual means.

Sorting Algorithms Implemented

  • [Algorithm Name]: A brief description of the algorithm (e.g., Merge Sort - a divide and conquer algorithm that splits the array into halves, recursively sorts them, and then merges the sorted halves).

Planned Features

  • Quicksort: A fast, in-place, divide and conquer algorithm that selects a pivot element and partitions the array into elements less than and greater than the pivot.
  • Insertion Sort: A simple, intuitive algorithm that builds the final sorted array one item at a time, placing each element in its correct position.
  • Binary Tree Visualization: A potential future feature that will help visualize binary tree structures and operations.

Technologies Used

  • React: A JavaScript library for building user interfaces.
  • JavaScript: The primary programming language used for algorithm logic and visualization.
  • CSS: Used for styling the application and creating visual effects.

File Structure

  • /src/Algorithms: Contains the JavaScript files implementing the sorting algorithms.
  • /src/Visualizer: Contains the components responsible for rendering the visualizations.
  • App.js: The main application component that integrates the visualizer and algorithms.
  • index.js: The entry point of the React application.

Installation

To run this project locally:

  1. Clone the repository:

    git clone https://github.com/yourusername/sorting-algorithm-visualizer.git
  2. Navigate to the project directory:

    cd sorting-algorithm-visualizer
  3. Install dependencies:

    npm install
  4. Start the application:

    npm start
  5. Open in browser:

    • Open your browser and navigate to http://localhost:3000 to view the application.

Contributing

Contributions to this project are welcome! If you have ideas for new features or improvements, feel free to fork the repository, make your changes, and submit a pull request.

Future Plans

  • Additional Sorting Algorithms: Implementation of more algorithms, including quicksort and insertion sort.
  • Enhanced Visualizations: Improving the existing visualizations with more detailed steps and options for users to control the speed and view of the sorting process.
  • Binary Tree Visualization: Adding a feature to visualize binary tree operations, including insertion, deletion, and traversal.

License

This project is open-source and available to use, modify, and distribute it as needed.

Acknowledgments

This project was created to help solidify my understanding of sorting algorithms and React. It has been a valuable learning experience, and I hope it can be useful to others as well.


Feel free to adapt the README according to any additional details or changes in your project.

About

Visual representation of sorting algorithms, powered by a React frontend and a Node.js backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published