Skip to content

An application that generates and sorts an array of N integers using different sorting algorithms, comparing performance across both sequential and parallel sorters.

License

Notifications You must be signed in to change notification settings

mavosy/ParallelSort

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


ParallelSort

An application that generates and sorts an array of N integers, comparing different sorting algorithm performances.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

About The Project

ParallelSort is a C# and WPF application developed as a school project that implements amongst other things a parallelized merge sort algorithm. The project aims to demonstrate how to improve sorting efficiency by leveraging parallel computing. The algorithm is designed to divide the data into smaller chunks that can be sorted concurrently using multi-threading techniques. This project was developed collaboratively with a classmate to explore the challenges and advantages of parallel algorithms in comparison to traditional sorting techniques.

The project also includes additional sorting algorithms such as selection sort, standard sort, and variants of Top-N sorting algorithms for comparison, some of which are implemented by the teachers as comparing. The UI and the measuring code is not mine, just the merge sort.


Product Screenshot

(back to top)

Built With

  • C#
  • WPF
  • MVVM Pattern

(back to top)

Getting Started

Follow these steps to get a local copy up and running.

Prerequisites

  • .NET 6.0 SDK or later
  • Visual Studio 2022 or another IDE with WPF support

Installation

  1. Clone the repo.

  2. Open the solution in Visual Studio and build the project.

(back to top)

Usage

  1. Launch the application.
  2. Generate an unsorted array of numbers
  3. Compare results

(back to top)

Roadmap

  • Optimize the parallel merge sort by tuning thread allocation and load balancing.
  • Implement graphs or other statistical visualizations to compare performance across the different algorithms.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Top contributors:

contrib.rocks image

License

Distributed under the Unlicence License. See LICENSE.txt for more information.

(back to top)

Contact

mavosy - [email protected]

Project Link: https://github.com/mavosy/ParallelSort

(back to top)

About

An application that generates and sorts an array of N integers using different sorting algorithms, comparing performance across both sequential and parallel sorters.

Resources

License

Stars

Watchers

Forks

Languages