0% found this document useful (0 votes)
11 views

Task_Scheduler__A_Practical_Application_of_Combined_Sorting_and_Searching_Algorithm (1)

Uploaded by

2311959
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Task_Scheduler__A_Practical_Application_of_Combined_Sorting_and_Searching_Algorithm (1)

Uploaded by

2311959
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Task Scheduler: A Practical Application of

Combined Sorting and Searching Algorithm


1 2
Group 3 2312105 2311094 2312091 3 2321051 4 2311959 5

Department of Computer Science and Engineering


Independent University, Bangladesh
Dhaka, Bangladesh.
{[email protected],[email protected],[email protected],[email protected],[email protected]

Abstract
The project explores the integration of sorting and searching algorithms in real-world engineering problems, using the Heap Sort algorithm for efficient data organization, priority queues and the Binary Search
algorithm for fast data retrieval. Utilizing Trello for project scheduling, students research and apply these algorithms to solve practical problems, enhancing algorithmic efficiency.

Introduction Substitute Use of the Algorithm


Heapsort Binary Search: A Dynamic Duo Heapsort and binary heaps are often used together in various scenarios where efficient data
manipulation, searching, and sorting are required.When combined, heapsort and binary heaps
Heapsort: A Mighty Sorting Machine provide a powerful tool for solving complex real-time data management problems, including task
Splits the data into sorted and unsorted parts. Extracts the largest element and places it in the sorted scheduling, data streaming, priority queues, and graph algorithms.Since Binary heaps provide fast
part.Repeats until everything is sorted. Time complexity : O(n log n) access to the most important or urgent elements. Heapsort ensures the data is sorted when
Real-World Hero: precise order is needed.
Database Systems: Organizing records efficiently.
Operating Systems: Scheduling tasks wisely. Applications where this algorithm idea might be used :
Network Routers: Directing traffic smoothly. Priority Queue Implementation
Data Mining: Uncovering hidden treasures. K-th Largest Element in Data Streams
Graph Algorithms
Binary Search: The Sleuth of the Sorted Real-Time Data Processing
Repeatedly halves the search space. Checks the middle element and adjusts the search accordingly. Merging Data from Multiple Sources
Continues until the target is found or ruled out. Time complexity : O(log n)
Real-World Sleuth: A level-by-level, max/min tree structure, implemented as a heap in a distributed scenario, offers
Dictionaries and Phonebooks: Finding words and numbers quickly. significant advantages for data organization. Even this approach could potentially be a valuable
Web Search Engines: Locating information in a flash. solution for balancing power distribution within a military hierarchy.
Numerical Root-Finding: Solving equations precisely.
Game AI: Making smart decisions.
Alternative Solution

Rationale for the Algorithm’s Selection The algorithm in the provided task scheduler can be potentially replaced with other similar algorithms
to achieve better overall performance, depending on specific requirements and use cases. Maybe any
other special Heap can be used. But it’s almost constant that we have to go for anything like a
In a real-world engineering context, the integration of Heap Sort and Binary Search into Any Task
heap because ideas or theories like heap are invented to solve these types of problems. And the
Scheduler Application allows us to:
following heap solution dataset is already sorted so for searching binary search is most time efficient
Manage and sort data efficiently, even as datasets grow over time. and relevant .
Retrieve user-specific or task-specific information quickly.
Maintain high performance and reliability in data-intensive operations. We investigate the potential of replacing the current heap-based implementation with more sophis-
These algorithms complement each other, with Heap Sort ensuring that the data is optimally organized ticated structures like :
for Binary Search on other word Performing heapsort to reorder the tasks., creating a robust Fibonacci heaps,
solution for Trello’s scheduling and project management needs. Pairing heaps,
Or Leftist heaps.
Methodology These alternatives offer potential improvements in terms of supporting operations like priority
updates and merging heaps more efficiently. Additionally, we explore the impact of different
scheduling policies, such as Earliest Deadline First (EDF) and Rate Monotonic
Since we are considering a task scheduling scenario, the core of this problem is adding tasks and
Scheduling (RMS), on overall system performance.
handling them in a productive manner. Therefore, implementing a priority queue is a very logical
concept in this context, as it can be achieved through heapification. And for searching in a sorted
dataset, binary search is the best to apply. So overall, we can say that by heapifying, several Conclusion
objectives are achieved, and it can be used effectively in subsequent processes. When combined
time complexity is O(n log n) Through our research on the Trello application, a widely used task scheduler, we observed that it
effectively utilizes Binary Search for faster task access, using its sorted list structure. In scenarios like
Heapsort: these, the combination of Binary Search and Heap Sort remains one of the most efficient solutions
1 Build Heap: Transform the array into a heap data structure. currently available. However, despite the theoretical strength of this approach, we identified that
2 Extract Max: Remove the largest element and place it at the end. incorporating additional factors into the overall system design could potentially give better outcomes.
3 Heapify: Rearrange the heap to maintain the heap property. While further in-depth studies are necessary to validate these ideas, this insight opens up opportunities
4 Repeat: Repeat steps 2 and 3 until the array is sorted. for refining task scheduling processes even further.

Binary Search:
1 Initialize: Set start and end indices.

2 Find Midpoint: Calculate mid=(start+end)/2.

3 Compare: Compare target with array[mid].

4 Adjust Search Space:


If target=array[mid], return mid.
If target¡array[mid], set end=mid1.
If target¿array[mid], set start=mid+1.
5 Repeat: Repeat steps 2-4 until start greater than end.

Figure 1. Dissecting the Process: A Light Dive into the Task Scheduling Algorithm
Autumn, 2024 Algorithm Project CSE211: Algorithms Lab

You might also like