Giter Club home page Giter Club logo

parallelquicksort's Introduction

Parallel Quicksort

For the full history of our project, see the Git repository here: https://github.com/jcgharvey/ParallelQuicksort

You can see our individual contributions here: https://github.com/jcgharvey/ParallelQuicksort/graphs

Most of the work was undertaken using peer programming, so the number of commits per person does not reflect their code contribution.

Comparing three parallel implementations

Implement a Quicksort algorithm (see Cormen et al., Introduction to Algorithms) that sorts a large array of numbers. Of this relatively simple recursive algorithm you have to implement three versions:

  • Using Parallel Task
  • Using OpenMP (Pyjama)
  • Using threads and standard Java classes.

Getting Started

  1. Clone the repo: git clone https://github.com/jcgharvey/ParallelQuicksort.git/

  2. Create the project and classpath files: cp .project.dist .project cp .classpath.dist .classpath

  3. Edit .classpath and replace %project-dir% with the fully qualified path to your project, eg /home/andrew/ParallelQuicksort

  4. In Eclipse, File -> Import -> General -> Existing projects into workspace. Navigate to the project and import it.

parallelquicksort's People

Contributors

bighuggies avatar jourdanharvey avatar j-halletthook avatar

Stargazers

Mehmet Taha Meral avatar

Watchers

Jourdan Harvey avatar  avatar

parallelquicksort's Issues

Para QS

At the end use the current thread too execute the next thread, and only create 1 new thread. Aka 1 call to add task.

Small inputs cause failure

Small input lists, around < 15 for inorder and < 20 for random cause test cases to fail at the size check

Meaning returned lists are in order but not all elements are returned.

Choose Sorting type

We could probably make this so that you choose which type of sort from the command line

e.g.

pqs sequential samplefile.txt
pqs threaded samplefile.txt
pqs paratask
pqs pyjama

yup.

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.