Determining the best route between two given stations

Assignment Help Data Structure & Algorithms
Reference no: EM132148240

Algorithms Assignment -

TASK -

1. Design and implement an efficient algorithm for determining the best route between two given stations in a given rail network.

2. The rail network should be passed to your program as an input. We will use a simplified version of the Sydney CityRail network given to you in RailNetwork.xml

3. Your program should NOT take into account the time of the day, but rather use an average time to travel from a station to a station on a particular line, and a flat time of 15min needed to change from one line to another. This information will be given as a part of the input rail network data.

4. Your task is to optimise the route based on the time traveled.

Your program should contain a header with information about what it does and what the input and output are. You must use a version of Dijkstra's algorithm that uses adjacency lists and indirect heaps.

Your program should also contain inline comments and be easy to follow.

The programs should be written in Java or C++.

INPUT -

Your program must be able to be used from the command line and must accept all input as command line arguments.

1. Your program must take as an input the name (including path if necessary) of an XML file containing an undirected graph of the rail network:

  • The graph is provided as a list of neighbours for each vertex in the graph.
  • Each vertex corresponds to a station in the network, and each vertex name consists of 2 strings: The name of the station, and the name of the rail line. A single station might thus be represented by multiple vertices if it is on multiple lines.
  • Each entry in the list of neighbours of vertex v contains the name of the neighbouring vertex, say u, followed by the weight of the edge vu. If the vertices v and u are on the same line, the weight of the edge vu is the time in minutes needed to travel from vertex v to vertex u (or vice-versa - it is assumed that the time is the same for both directions). If the vertices v and u are not on the same line, the weight of the edge vu is 15 (we are assuming that it takes 15 minutes to change lines at a station).

A sample input file RailNetwork.xml will be provided in Blackboard. You don't need to create other input files - you can use this one for the purpose of developing and testing your assignment.

It is advised that you investigate the many pre-existing libraries (for Java or C++) available for working with XML and incorporate those into your program. Then, reading the data from the xml file and navigating the data should amount to (reasonably) simple calls to the classes and methods of the library in question.

2. Your program must accept as input the names of two stations, say X and Y.

The order of command line arguments must be: xml file, station 1, station 2, optimisation criterion (if appropriate) see SUBMISSION section, below for more information.

OUTPUT

1. Individual assignment:

You program must output the quickest route in the following format: From X, take line a to station Z; then change to line b, and continue to W; then change to line c, and continue to Y. The total trip will take approximately n minutes.

Attachment:- Assignment Files.rar

Reference no: EM132148240

Questions Cloud

Describe the od process to changing people and culture : Describe the OD process to changing people and culture. How does Force Field Analysis relate to the OD change process?
Explain the benefits of implementing your recommendations : Read the Zero-Based Budgeting PowerPoint presentation. The Board of Directors of Windsor Memorial Hospital has hired you to be their zero-based budget.
Aggregate or production plan and master production schedule : Explain the relationship between the aggregate or production plan, the master production schedule (MPS), and the material requirements planning (MRP).
List the three primary reasons that people : List the three primary reasons that people become entrepreneurs and start their own firm.
Determining the best route between two given stations : Design and implement an efficient algorithm for determining the best route between two given stations in a given rail network
What are the trends of the next decade : 1) What are the trends of the Next Decade - List 4 of the 8 trends?
Describe results of your assessment of the work processes : Describe the results of your assessment of the work processes and key employees to be addressed in your final paper. Discuss how the organization will change.
Discuss the employment hiring process : Using the e-Activity (Use the Internet or the Strayer Library to research employment tests (i.e., drug tests, medical examinations, polygraphs or honest tests.
Review the background of affirmative action : Using the e-Activity civil rights - affirm action, review the background of affirmative action. Then, argue whether or not the intended fairness afforded.

Reviews

len2148240

10/23/2018 9:41:43 PM

ASSESSMENT CRITERIA - Individual Assignment: 20 marks for correctly reading the input graph; 30 marks for the correct Dijkstra’s algorithm; 30 marks for an efficient implementation of Dijakstra’s algorithm using adjacency lists and indirect min-heap; 10 marks for a clean and well-commented implementation; 10 marks for the correct output format and result. Note that modification of a submission will be considered only in order to make the program compile or run so that it may be tested. Modifications will only be performed if they are extremely easy and quick to do so.

len2148240

10/23/2018 9:41:38 PM

SUBMISSION - Your submission should consist of the code, and a readme file containing any special instructions for your program. Your main function must be named assign1 (or assign1.java). The first argument must accept a path to the file (so that files in other folders can be used). The station names must only be the name of the station (e.g. "Kings Cross"), with no line information. The criterion argument is only needed for the pair assignment. Output must be to standard out, so that it can be redirected as in the above examples.

len2148240

10/23/2018 9:41:26 PM

ASSESSMENT CRITERIA - Individual Assignment: 20 marks for correctly reading the input graph; 30 marks for the correct Dijkstra’s algorithm; 30 marks for an efficient implementation of Dijakstra’s algorithm using adjacency lists and indirect min-heap; 10 marks for a clean and well-commented implementation; 10 marks for the correct output format and result. Note that modification of a submission will be considered only in order to make the program compile or run so that it may be tested. Modifications will only be performed if they are extremely easy and quick to do so.

Write a Review

Data Structure & Algorithms Questions & Answers

  List four skus that were purchased most frequently together

List the three SKUs that were purchased most frequently together. List the four SKUs that were purchased most frequently together.

  Identify the advantages of using terminal services

Compare and contrast the Terminal Services model to the mainframe / terminals and client / server models. Consider security, licensing, bandwidth, and network traffic. Decide which model you believe is the best and describe why.

  Creating a database design in visio

Designing Databases with Visio Professional: A Tutorial," to help you complete Section 1: Visio Database Design. (Note: This tutorial focuses on the use of Microsoft Visio.

  Design an application that gets customer account data

The No Interest Credit Company provides zero-interest loans to customers. Design an application that gets customer account data, including an account number, customer name, and balance due

  Build a dynamic and functional model

Write 2 to 3 page paper that explains the difference in steps used to build a dynamic and functional model as each relates to object-oriented modeling

  Design a no recursive version of function qui case

Generally, we can transform a recursive subprogram into a no recursive one by maintaining such a stack within the subprogram itself.

  Implement sequential search and binary search algorithms

Implement sequential search and binary search algorithms on your computer. Run timings for each algorithm on arrays of size n = 10i for i ranging.

  Create a scatter plot of computer price and hard drive size

Create a boxplot of the comparing the computer price and premium category. Create a scatter plot of computer price and hard drive size.

  What is meant by application service provider

What is meant by Application Service Provider? What factors drive their emergence? How does Jamcracker fit in ASP space? Describe the Jamcracker business model.

  Learning for numeric prediction

Write down the output (class) values and number of instances that appear in each of the leaf nodes A, B and C of the tree - Learning for Numeric Prediction

  Creating database for charity event

Your Project is to organize a charity event. You must use at least two events, one of which must be a Windows program such as Word, WordPad, or Paint.

  Input a list of employee names and salaries and determine

input a list of employee names and salaries and determine the meanaverage salary as well as the number of salaries

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd