Project Details
Project Details
Project Description:
Project Description:
A parser is a software component that takes input data (frequently text) and builds a data
structure – often some kind of parse tree, abstract syntax tree or other hierarchical structure –
giving a structural representation of the input, checking for correct syntax in the process. In this
project, you have to build a small parser that will parse branching statement (if and if-else-else if)
and algebraic expression of a source program and check for correct syntax in the program.
Here we have found three errors. They are: if [d>b) in line no 5, c = (a+b/b in line no 8 and d is
an undefined variable in line no 5. So, in this project you have to build a parser that will check
syntactical error of a source code. To construct the syntax parser you may consider the
following data structure,
If error found then provide an error message with line number of the source program
CSE207 – Data Structures
Project: Rat in a Maze
Project Description:
Rat in a maze is a popular puzzle game where a mouse start from a start point to final point by
visiting different internal spots. To get to his final destination the mouse need to visit one point
two or three times or need to backtrack.
A Maze is given as N*N binary matrix of blocks where source block is the upper left most block
i.e., maze [0][0] of the above figure and destination block is lower rightmost block i.e., maze[N-
1][N-1]. A rat starts from source and has to reach destination. The rat can move in four
directions: right, left, top and down. In the maze matrix, 0 means the block is dead end and 1
means the block can be used in the path from source to destination. To develop the game you
may use the following data structure:
a. Matrix for the representation of the Maze
b. Stack or graph to figure out the movement of the rat where a rate cannot move
towards the dead block.
In this project you have to do the following:
1. Simulate a mouse movement through the maze
2. Show the path through the maze moved by the mouse
CSE207 – Data Structures
Project: Postfix and Prefix Calculator
Project Description:
You have been using one of very classic calculator, the HP-35, for a long time. It was the first
handheld calculator manufactured by Hewlett Packard in 1972. However, after a disastrous
accident (dropped it in a sink), it is no longer functional. You miss this calculator so much You
finally decided to implement its special form of postfix calculation yourself. For constructing the
postfix calculator you have to do the following:
a. Use stack for converting infix expression to postfix and prefix expression
b. Use stack for calculating value of postfix expression
c. Use queue to calculate value of prefix expression
Project Description:
One of the tools used to manage large projects is known as the critical path method (CPM). In
CPM the manager builds a network of all phases of a project and then evaluates the network to
determine critical aspects of the project. In a CPM network, each vertex is an event, such as the
start or completion of a task. The arcs connecting the vertices represent the duration of the
activity. Unlike the examples in the text, they also store the name of the activity. To better
understand the concept, let’s look at a possible CPM plan to build a house. The network for this
project is shown in below figure:
In the plan we see that it will take 10 days to prepare the building plan (A) and 5 days to get it
approved (B). Furthermore, we can’t start building until we have selected the contractor (C).
Our plan is to construct the shortest path from the start to the end for our plan. For constructing
the shortest path you have to do the following:
Project Description:
An airline company uses the formula shown below to determine the priority of passengers on the
waiting list for overbooked flights. Priority number = A / 1000 + B – C where,
Project Description:
Dictionary means a reference book listing alphabetically terms or names important to a particular
subject or activity along with discussion of their meanings and applications. Dictionary should
have different functionalities such as add new word, search word, delete word and find similar
meaning word. For constructing dictionary you have to do the following:
In the above example, keys present at the left sub-tree of the root node are lesser than the
key of the root node. And also, the keys present at the right sub-tree are greater than the
key of the root node.
Project Description:
A call center is a centralized office used for receiving or transmitting a large volume of requests
by telephone. This project will contain multiple servers that will solve different problem over
phone and one queue that will hold call of customer. Each of the servers can attend call of
customer for 10 min. After finishing the call, another call is given to the free server.For
constructing virtual call center you have to do the following: