0% found this document useful (0 votes)
24 views9 pages

DSA Final Report

Uploaded by

shaheerkz12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views9 pages

DSA Final Report

Uploaded by

shaheerkz12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

EC-200 Data Structures

Project Report
Course Instructor: Lecturer Anum Abdul Salam

Lab Engineer: Lab Engineer Kashaf Raheem

Student Name: ____Shaheer Mukhtiar, Yashfa Sikander, Rustam Ali______________

Degree/ Syndicate: ____________44-B________________________________

Trait Obtained Maximum


Marks Marks
R1 Problem Understanding 15% 15

R2 Application Functionality 20
20%
R3 Specification and Data 30
Structures Implementation
30%
R4 Input Validation 10
10%
R5 Efficiency 10
10%
R6 Reusability 05
5%
R7 Report (Documentation) 10
10%
R8 Plagiarism below 20% 1

Total 100

Total Marks = O𝒃𝒕𝒂𝒊𝒏𝒆𝒅 𝑴𝒂𝒓𝒌𝒔 (∑7𝟏 𝑹𝒊 ∗ 𝑹8)

Web browser & Search Engine


1. Introduction

This report presents the semester project for the Data Structures course, where students
were tasked with developing a web browser and a search engine utilizing the data
structures and algorithms studied throughout the term. The project was implemented
using C++ and .NET, integrating various data structures along with object-oriented
programming principles to achieve the desired functionality. The search engine is
designed to process user queries and display the results on a Windows Form.

2. Methodology
IMPLEMENTATION:

The project consists of three major components: the Web page, the Browser, and the Form.

Web Page:

1. The web page component handles the addresses of local text files.
2. Data from these text files is stored in a string vector.
3. This string vector is then mapped to a hash table of word frequency, where each word is stored
according to its hash code and frequency.

Browser:

1. The browser component manages a collection of web pages stored in a vector.


2. An address vector of type string stores the addresses of all files in a local directory.
3. When the program runs, the browser loads all the web pages into their respective hash tables and
stores their addresses in the address vector.

Form (GUI):

1. The form component provides the graphical user interface.


2. The form communicates with the browser object to display content.
3. The search function in the browser enables querying and displaying content.
4. The history function operates within the form.

Various classes and header files were utilized to develop this project. The implementation was done using
Windows Forms for the UI and C++ Standard 17 as the development environment.
3. Efficiency and Results

1. Time Complexity Analysis of overall code:

 Loading Web Pages:


o Time complexity: O(n), where n is the number of text files found.

 Searching for Query:


o Time complexity: O(m * k), where m is the number of words in the query
and k is the total number of words in all web pages.

 Displaying Web Page Contents:


o Time complexity: O(s), where s is the size of the selected web page
content.

 Displaying History:
o Time complexity: O(h), where h is the size of the history vector

Total Time Complexity = O(n) + O(m * k) + O(s) + O(h)

Results:
Query: Food
Suggestions are prioritized based on frequency of “food” word.

Data loaded from Cooking.txt to Webpage and displayed


Food Searched

Food and Pakistan searched togather, the files with both of them will appear at top and

Least will appear at end.


Famous People File selected

History is Maintained and its shortcut to revisit the Webpages.


4. Limitations and Conclusion
While the search engine and browser function adequately, there are several areas for improvement.
Implementing forward and backward stacks would enable seamless navigation between webpages,
and adding hyperlink functionality would create a more interactive user experience. The front-end
could be optimized for better usability and visual appeal, and data organization could be enhanced for
improved performance. Utilizing faster, more relevant data structures instead of vectors and refining
search algorithms would also contribute to greater efficiency. Despite these limitations, this project
provided invaluable experience and a deeper understanding of data structures, algorithms, and object-
oriented programming principles, laying a strong foundation for future development.

5. References
a. Stack overflow.
b. Geeks-for-Geeks
c. Youtube
d. Gemini AI
e. ChatGpt AI
f. Canva
g. Visual Studio and CLR

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy