Skip to content

nehlinshanila/Activity-Selection-Problem

Repository files navigation

Activity Selection Problem Using MergeSort (Greedy Method) ♻️

This repository provides an efficient implementation of the Activity Selection Problem using the Merge Sort algorithm with a greedy approach. The Activity Selection Problem involves selecting a maximum number of non-overlapping activities from a given set, where each activity has a start time and an end time. The implementation utilizes the well-known Merge Sort algorithm, which divides the input array into smaller subarrays, sorts them, and then merges them back together. The greedy approach comes into play during the merging step, where the activities are sorted based on their end times. run: ./mergesortfinal/final.py

Incentive: The Activity Selection Problem is one of the algorithms out of three in our final group project of CSE373 course. The other two being QuickSort using Greedy method and HeapSort using Dynamic method done by other team mates in https://github.com/ZahinSam1/Advanced_Algorithms_Projects.git

Future Enhancements: There are several potential improvements that are planned to implement here in the future. Some suggestions includes a Visualizer to showcase the activity selection process step by step, aiding in better understanding and interactivity. Additional Scheduling algorithms to implement and compare other scheduling algorithms. Algorithm Optimization techniques to enhance the algorithm's time complexity or handle additional constraints, such as resource limitations or dependencies between activities. Also to create an extensive set of test cases to validate the correctness of the algorithm and performance benchmarks to evaluate its efficiency on different input sizes.

About

This is a group collaboration of our CSE373( Analysis of Algorithm )

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •