AP Mini Project Report
AP Mini Project Report
A PROJECT REPORT
Submitted by
Eakansh (21BCS7459)
Shashi Ranjan Mehta (21BCS7093)
Aditya Jaiswal (21BCS7527)
Bachelor of Engineering
in
Computer Science
Chandigarh University
April 2024
BONAFIDE CERTIFICATE
Certified that this project report “Sorting Algorithm Visualizer” is the bonafide
work of “Eakansh (21BCS7459), Shashi Ranjan Mehta (21BCS7093),
Aditya Jaiswal (21BCS7527)” who carried out the project work under my/our
supervision.
SIGNATURE SIGNATURE
INTRODUCTION
Contemporary issue
Students and Educators: This project caters to students and educators in the field of
computer science. It provides a valuable educational resource that enhances understanding
of sorting algorithms.
Developers and Programmers: Developers often face the challenge of selecting the right
sorting algorithm for their applications.
The problem at hand is the identification of suitable keywords for research. Effective
keyword selection is crucial for search engine optimization and content discoverability.
This problem arises due to the need to improve search result rankings and reach a target
audience. The process of keyword selection involves a strategic balance between
specificity and relevance. Keywords should be specific enough to attract users with
genuine interest in the content while being broad enough to capture a diverse range of
related queries. Moreover, understanding the target audience's language and preferences
is paramount in selecting keywords that resonate with them.
1.3. Identification of Tasks
Tasks related to asking questions effectively involve formulating clear and relevant
queries, understanding the context, and ensuring they align with goals. These tasks require
active listening, critical thinking, and the ability to adapt questions as needed.
Tasks include structuring questions to gather specific information and fostering open
dialogue for collaboration and learning.
1.4. Timeline
Week Activity
2 Implementation, Testing
The proposed solution for the project "Efficiency in Order: A Comparative Visualization
of Sorting Algorithms for Enhanced Algorithmic Understanding" is the development of a
web application. This web app is designed to provide a platform for users to interact with
and visualize different sorting algorithms, enhancing their understanding of algorithmic
efficiency.
By creating a web app, the project aims to offer a practical and user-friendly way for
individuals to explore and compare various sorting algorithms, enabling them to observe
how each algorithm works and how their efficiency varies in different scenarios. This
interactive approach can be an effective educational tool for students and professionals
interested in algorithmic analysis.
The web app likely includes features such as the ability to input custom data sets, select
sorting algorithms to apply, and visualize the step-by-step execution of the chosen
algorithms. It may also provide performance metrics and comparisons to help users grasp
the differences in efficiency among algorithms.
2.4. Goals/Objectives
DESIGN FLOW/PROCESS
• The visualization should be able to display a variety of data types, including arrays, linked
lists, and trees.
• The visualization should be able to compare different sorting algorithms side-by-side.
• The visualization should be able to show how the sorting algorithms perform on different
input sizes.
• The visualization should be able to provide detailed information about each algorithm,
including its time and space complexity.
• The visualization should be able to be used on a variety of devices, including desktops,
laptops, tablets, and smartphones.
3.3. Analysis and Feature finalization subject to constraints
The following are the general steps involved in implementing the visualization:
1. Develop a data model to represent the sorting algorithms and the data that they will be
sorting.
2. Develop algorithms to visualize the sorting algorithms in real time.
3. Develop a user interface to allow users to interact with the visualization.
4. Test the visualization to ensure that it is accurate and easy to use. Detailed implementation
plan
Here is a more detailed implementation plan for each of the steps above:
Data model
Visualization algorithms
The visualization algorithms should be able to render the following:
• The different sorting algorithms in action
• The current state of the sorting process
• The performance of the sorting algorithms (e.g., time complexity, space complexity) The
visualization algorithms should be efficient and scalable so that they can handle large
datasets and complex sorting algorithms.
User interface
Testing
The visualization should be thoroughly tested to ensure that it is accurate and easy to use. The
following types of testing should be performed:
• Unit testing to test individual components of the visualization, such as the sorting
algorithms and the data model
• Integration testing to test how different components of the visualization work together
• User testing to test the overall usability of the visualization
Deployment
Once the visualization has been implemented and tested, it can be deployed to production. The
visualization can be deployed as a web application, a mobile app, or a desktop application.
CHAPTER 5
5.1. Conclusion
Here are some potential areas for future work on the Efficiency in Order: A Comparative
Visualization of Sorting Algorithms for Enhanced Algorithmic Understanding project:
• Add more sorting algorithms to the visualization.
• Add the ability to compare different sorting algorithms on different types of data structures,
such as linked lists and trees.
• Add the ability to generate custom sorting algorithms and compare them to existing
algorithms.
• Add the ability to save and load visualization sessions, so that users can continue where
they left off.
• Add support for multiple languages.
REFERENCES