Examine abstract data types, concrete data structures

Assignment Help Data Structure & Algorithms
Reference no: EM133376918

Unit 19 Data Structures and Algorithms - BTEC Higher National Diploma (HND) in Computing

You are strongly advised to read "Preparation guidelines of the Coursework Document" before answering your assignment.

Learning Outcome 1: Examine abstract data types, concrete data structures, and algorithms
Learning Outcome 2: Specify abstract data types and algorithms in a formal notation
Learning Outcome 3: Implement complex data structures and algorithms
Learning Outcome 4: Assess the effectiveness of data structures and algorithms

ASSIGNMENT

Aim & Objective

This coursework is designed to demonstrate the broad understanding and knowledge of the module, assessing, and evaluating the student's strength and level of analysis; divided into 4 Section. The coursework should be submitted as one document in a report format in final submission.

Assignment Scenario
Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory. Primitive data structures like int, float, char, etc. are simple ways for programming languages to represent basic values but to store multiple values in a single variable, there is a need for nonprimitive data structures which include arrays, lists, stacks, trees, and so forth. The use of these data structures can also be employed using object-oriented programming languages like C# or Java, a class is a data structure that organizes attributes and functions in such a way that they can be easily replicated. In each case, the way the data is "structured" makes it easy to retrieve or manipulate.

You have been asked to write a report covering the points stated below in relation to ADTs and their management. You must also present your programming skills related to abstract data types using C#.

LO1

The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The different form of data structure and its operations gives rise to the different application like Arrays, Stack, Queue, Linked Lists, graph data structure, Tree, Hash tables, etc. Understanding the above nature of data structure, you are required to produce a design specification for any three data structures explaining the valid operations that can be carried out on the structures. To implement and make use of Stack, you need to define its common operations and how it is used to implement function calls in a computer. To further test the use of Queue, you need to illustrate with an example of a concrete data structure for "First in First out" (FIFO) Queue and its common operations.

Sorting is a common operation in many applications, but efficient algorithms are selected and made used to develop the programs, therefore you are required to compare the performance of any two types of Sorting.

Visualizations are a powerful way to simplify and interpret the underlying patterns in data. The use of graphs is one such visualization technique. It is incredibly useful and helps businesses make better data-driven decisions. To present your understanding of the concepts of graphs, you need to present your findings on "Graph theory", by analysing any two networks' shortest path algorithms from Bellman Ford's Algorithm, Dijkstra's Algorithm & Floyd-Warshall's Algorithm.

LO2

In many modern days applications, Stacks are used for the undo buttons. The recent most changes are pushed into the stack. Even the back button on the browser works with the help of the stack where all the recently visited web pages are pushed into the stack. Making a note of the above concepts on the stack, you need to Identify an abstract data type for a First in Last out (FILO) - stack and its different associated functions and support with some programming examples. Based on the application of OOPS in data structures, you need to examine the advantages of encapsulation and information hiding when using an ADT. Present your views along with justification on why imperative ADTs is considered a basis for object orientation.

LO3

A college has asked you to produce a console-based application to store Student's information and the course in which they are working. The application should have the following functionalities:
a) Add new student (student id, first name, last name, and mobile number, email, course name, and course start date.)
b) Add 3 departments (e.g., Business, Health Care and Computing, etc). You should have options to add other departments.
c) Remove student's record based on ID or Phone number

d) Search student record based on phone number, ID, or course name.

e) Display all student's ID, first name, last name based on the course enrolled in.

f) Update any student's details.

Create your own data structure for the above problem and using Array, List, or Linked list as a base data storage, create and develop the application in C#. Your built application could implement encapsulation, Inheritance, and polymorphism.

In your built application, you should implement error-handling measures in your programming code and demonstrate its use in your assignment. To further support your findings, you should demonstrate your implementation of the data structure and the methods for solving the above problem by providing screenshots and test cases of each output. Once you have implemented the above program, you need to critically evaluate the complexity of your implemented ADT/algorithm.

LO4

To evaluate your built application, you need to first discuss how Asymptotic analysis can be used in understanding the complexity of algorithms with an example. To measure the efficiency of your developed application, determine two ways in which you can measure its efficiency, illustrating your answer with an example. While writing code on any problem, sometimes we need to sacrifice time over space or vice versa, you need to Interpret "what is trade-off" with one example to support your answer (you can take any part/ section of your programming code in your built application to justify your arguments). In addition, you could also evaluate three benefits of using and implementing independent data structures in your built applications to present your overall understanding of ADT.

Attachment:- Data structures and algorithms.rar

Reference no: EM133376918

Questions Cloud

Do unions engage in ethical behavior : Do unions engage in ethical behavior? Explain. Historically, what factors precipitated the formation of unions? Explain.
Why is not this a good solution for america in solving : why isn't this a good solution for America in solving the economic impact of the Covid-19 pandemic on lower and middle class families.
Explain with the support of one foreign exchange market : "According to the asset approach to the exchange rate, there will be an overshooting of domestic currency when there is a once-and-for-all increase in foreign
How much would output per worker increase : If physical capital perIworlter increased by 5%. by how much would output per worker increase? If output per worker increased by 4.3%. by how much did physical
Examine abstract data types, concrete data structures : Unit 19 Data Structures and Algorithms - BTEC Higher National Diploma (HND) in Computing - Examine abstract data types, concrete data structures, and algorithms
Explain theoretical basis of the classical quantity theory : Clearly explain the theoretical basis of the classical Quantity Theory of Money; please refer to Frank Hayes' short essay on the subject; which is attached
What is the meaning of supply and demand : What is the meaning of supply and demand? How are supply and demand curves graphed? What do supply and demand curves look like?
Identify the determinants of supply that are most relevant : Tensions in the Middle East raises the price of oil. A new immigration law increases the size of working population Long-term on-the-job training program
What resources are needed to run this innovation : What resources are needed to run this innovation? What people with which skill sets? What financial support will it need?

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Design randomized algorithm for solving decoding problem

The Viterbi algorithm is a deterministic algorithm for solving the Decoding problem. Design a randomized algorithm for solving the Decoding problem.

  Analyzing the use of databases

Create a paper analyzing the use of databases in your company. Include what database applications are used. Conclude through proposing improvements.

  Create a flowchart that is also a fully functional program

Using Visual Logic, design a flowchart that is also a fully functional program to add functionality to the online shopping cart.

  Describing the data types

Create a 10-12 slide presentation describing the data types. Include the following in your presentation: Introductory slide and Slide for each data type

  Determine the complexity of the test algorithm

using graphs (or spreadsheets). Remember the supplied data will NOT fit exactly any one curve, so your analysis of the data and your reasoning for which curve is most likely will determine your final grade on this lab.

  Creating a database with asp.net

Make a database with a table called "MyUsers" and "MyRole" The table should have the following columns.

  Create a shell script the count the number of files

Create a shell script that will calculate the number of files in your account hat were last modified five or more days ago and when you run the shell script,

  Find the strongly connected components of a directed graph

Describe an algorithm based on depth-first search to find the strongly connected components of a directed graph.

  Determine storage required for bfs and dfs

Determine the minimum number of nodes expanded and storage required for BFS and DFS? (Hint: this question asks about the best case performance of BFS and DFS).

  Describe a algorithm for solving the towers of hanoi puzzle

In the Towers of Hanoi puzzle, we are given a platform with three pegs. Describe a recursive algorithm for solving the Towers of Hanoi puzzle for arbitrary n.

  Develop the disaster management program

BACS2063 Data Structures and Algorithms Assignment. Application that uses the ADTs -Develop the disaster management program (console/GUI), which at least includes the following functionalities: Maintain food and supply, such as add new food/supply, u..

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