jbvalle / search_and_sort

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


This project aims to implement sorting algorithms and demonstrate performance assessments


About The Project

Part 1: (SOLVED)

  • Create Randomized Array of size 8, 16, 64 generating numbers between -32.768 - 32767
  • Implement following sorting algorithms and sort array increasingly
  • Mergesort
  • Quicksort
  • Bubblesort
  • Insertionsort
  • Display random and sorted array

Part 2: (SOLVED)

  • Generate randomized array of following sizes: 8, 32, 128, 512, 2048, 8192, 32768
  • Apply all sorting algorithms and sort in an increasing and ascending fashion
  • Perform a performance analysis on all sorting algorithm

Part 3: (SOLVED)

  • Perform bubblesort for an array of size 2000 and repeat 20x
  • For each cycle start a runtime analysis and compare and parse the result
  • Evaluate the minimum, maximum and average runtime values

Part 4: (SOLVED)

  • Implement insertionsort for a linked list
  • Generate randomized array of size 2048 as well a linked list with 2048 elements holding the same random values
  • Perform insertionsort for both datastructures and evaluate their runtime performance as well as their initialization time

Getting Started

  • Start by generating Binary file: Follow Installation instruction

Installation

  • Generate Binary File by executing make in src/
    make

Usage

  • The user is able to choose by a different options by interacting with a menu interface
OPTIONS DESCRIPTION
'1' Basic Implementation 1.1 - Generates randomized Arrays and runs all applied sorting algorithms
'2' Performance Comparison 1.2 - Generates randomized Arrays and feeds all values to all sorting algorihm, subsequently evaluating their sorting performance by calculating individual clock cycles per operations
'3' Runtime Analysis (Bubblesort) 1.3 - Performs Bubblesort on a set number of random values and each time assessing runtime performance and calculating total max, min and average values
'4' Runtime Analysis (Insertionsort Array | List) 1.4 - Performs insertionsort on an array and linked list, while assessing individual runtime performance and initialization time
Options: '5' - '8' The User is able to run each sorting algorithm individually
'M' Show Options
'X' Exit


Documentation

  • The documentation for the source code is generated by doxygen
  • For more details pls check index.html in the /doc-Folder.

Contact

Authors:

  • Andreas Gelbmann (ic21b066)
  • Martin Kristo (ic21b067)
  • John Bryan Valle (ic21b005)

About


Languages

Language:C 96.4%Language:Makefile 3.6%