COMP1002 Data Structures and Algorithms Assignment Problem

Assignment Help Other Subject
Reference no: EM132390841

COMP1002 Data Structures and Algorithms Assignment

Department of Computing, Faculty of Engineering and Science - Curtin University, Australia

1. Introduction

In practicals you have implemented and learned about a number of algorithms and ADTs and will be implementing more of these in the remaining practicals. In this assignment, you will be making use of this knowledge to implement a system to explore and compare a variety of ADT implementations. Feel free to re-use the generic ADTs from your practicals. However, remember to self-cite; if you submit work that you have already submitted for a previous assessment (in this unit or any other) you have to specifically state this. Do not use the Java implementations of ADTs - if in doubt, ask.

2. The Problem

This assignment requires the extension of your graph code to apply it to social network analysis. You will be simulating the spread of information (or disease) through a social network. In the network, at each timestep, there will be a probability of "liking" a post, which will expose your followers to the information. Liking a post also gives a probability of "following" the original poster - making a direct connection to the original source. Sample input files are available.

Your program should be called SocialSim, and have three starting options:

  • No command line arguments : provides usage information
  • "-i" : interactive testing environment
  • "-s" : simulation mode (usage: SocialSim -s netfile eventfile prob_like prob_foll)

When the program starts in interactive mode, it should show the following main menu:

(1) Load network

(2) Set probabilities

(3) Node operations (find, insert, delete)

(4) Edge operations (like/follow - add, remove)

(5) New post

(6) Display network

(7) Display statistics

(8) Update (run a timestep)

(9) Save network

You can structure the menu/UI differently, just make sure at least those options are included.

When running in simulation mode, you will give the input files and probabilities on the command line, then output (append) the simulation state and statistics for each "timestep" to a file (unique filename per run).

In interactive mode you should be able to display the following statistics/information:

  • Posts in order of popularity
  • People in order of popularity
  • A person's record - #posts, #followers, #following etc.

Once you have a working program, you will investigate the behaviour of social networks, and the impact of their structure on their performance. This investigation will be written up as The Report.

Documentation and Report -

You need to submit documentation in docx or pdf format.

Your Documentation will be minimum 2-4 pages (excluding UML and Javadocs) and should include the following:

  • An overview of your code, explaining any questions that the marker may have. This is supplemented by the comments in your code. In general, if the marker is looking at your code and isn't sure why you have done something in that particular way, they will check your documentation to see if they can find an explanation.
  • A UML Class diagram of your code
  • A description of any classes you have, you need to let us know not only what the purpose of that class is but why you chose to create it. As part of this, also identify and justify any places where it was possibly useful to create a new class but you chose not to, especially when it comes to inheritance.
  • Justification of all major decisions made. In particular, when you choose an ADT, underlying data structure or an algorithm, you need to justify why you chose that one and not one of the alternatives. These decisions are going to be of extreme importance in this assignment.

The Report will follow the structure of a standard academic report or paper. It should be at least 4-6 pages long. Required sections are:

  • Abstract: Explain the purpose of the report and state what you are investigating, and the outcomes/recommendations.
  • Background: Discuss your approach to developing the simulation code, and the aspects of the simulation that you will be investigating.
  • Methodology: Describe how you have chosen to profile and compare multiple runs of the simulation, and why. You should give some prediction of the expected "performance" of the aspects of your code you are investigating - this includes time complexity and/or memory usage. Include the commands, input files, outputs - anything needed to reproduce your results.
  • Results: Present the results of your simulations, and what you discovered.
  • Conclusion and Future Work: Give your conclusions and what further investigations could follow. Do the actual results match your prediction?

PRACTICAL - GRAPHS

AIMS -

  • To create a general purpose Graph class.
  • To implement search algorithms in the Graph class.

ACTIVITY 0: UML CLASS DIAGRAM

We will be using an Adjacency List implementation of graphs in this practical. Before you start coding, draw up the class diagrams for the DSAGraph and DSAGraphNode classes. Make sure to include any other Classes they make use of. Update this diagram as you work through the practical.

ACTIVITY 1: GRAPH IMPLEMENTATION

Now let's create a DSAGraph class using linked list to store the list of nodes, and linked lists within each node to store the adjacency list.

  • Make sure you can display() the graph to the screen to help your testing
  • Test it with a small graph at first, then display(), add more nodes/edges and display again.

ACTIVITY 2: READ GRAPH FROM FILE

Two input files for graphs have been uploaded to the Prac area. Create a FileIO class to read in the graph information and create a DSAGraph object. Work out manually what they should look like and check it against your display() output.

ACTIVITY 3: MANUAL DEPTH FIRST SEARCH / BREADTH FIRST SEARCH

Consider the following graphs and carry out a breadth-first search and a depth-first search manually based on the algorithms in the lecture notes. (Assume they are sorted alphabetically - so you will choose vertices in alphabetical order).

ACTIVITY 4: IMPLEMENT DEPTH FIRST SEARCH / BREADTH FIRST SEARCH

Add methods for depthFirstSearch() and breadthFirstSearch() to your DSAGraph class. Test them against the graphs from Activity 2.

Attachment:- Data Structures and Algorithms Assignment Files.rar

Reference no: EM132390841

Questions Cloud

Average annual return for? stocks : what were the total and annual? returns? How did her annual return compare to the? 6.3% average annual return for? stocks?
What is the total return : Five years after paying ?$2600 for shares in a startup? company, you sell the shares for ?$1600 ?(at a? loss).
Expected rate of return on the investment : If the expected rate of return on the investment is 10%, and the hospital invests at the end of each year?
Explain the concept of discourse : Explain the concept of discourse and explain how it is relevant to health and biomedicine in Australia. Draw on examples to highlight you points
COMP1002 Data Structures and Algorithms Assignment Problem : COMP1002 Data Structures and Algorithms Assignment Help and Solution - Curtin University, Australia - Explore and compare a variety of ADT implementations
MITS5001 IT Project Management- Assignment Problem : MITS5001 IT Project Management Assignment Help and Solutions-Victorian Institute of Technology Australia- Prepare a report or critique on an industry project.
Conduct anova to test each of the four hypotheses : Conduct ANOVA to test each of the four hypotheses. Provide a table for each of the analysis that contains the Means of the groups and the ANOVA results.
Dollar price of one air france-klm share : At this exchange rate, what is the no-arbitrage U.S. dollar price of one Air France-KLM share?
How does the creation of a portfolio reduce risk : How does the creation of a portfolio reduce risk with regards to corporations

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

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