MOD002641 Data Structures And Algorithms Assignment

Assignment Help Data Structure & Algorithms
Reference no: EM132964267

MOD002641 Data Structures And Algorithms - Anglia Ruskin University

Task A: Search Algorithm Analysis

In this task you will be comparing the performance of your selected array search algorithm (ternary, exponential or Fibonaccian) to the search algorithms provided as examples using both static analysis and empirical experimentation. Closely follow the structure or the test harness and search functions provided as examples (Jump Search example in Appendix A) to implement your chosen algorithm; note that you are only required to examine the scenario of successful searches. The examples are written in MATLAB, but you are free to use an alternative language if you wish (e.g., Python); however, you will then need to convert the examples I have provided to that language to enable you to plot graphs that compare their empirical performance to that of your chosen algorithm. If you use Python, you could use matplotlib to plot graphs; if you use a language like C# or Java you may need to store your results in a text file and plot them using Excel or similar. Obviously, the easiest approach is to use MATLAB and simply modify the examples provided.

Task B: Sort Algorithm Analysis

In this task you will empirically compare three different gap sequence functions that can be used with the Shell sort algorithm, and compare to Shell (1959). Appendix B contains an example function for generating Shell's original gap sequence, an implementation of Shell sort that uses Shell's original gap sequence function, and a table of alternative sequences, including algebraic processes that can generate them, the first few terms of each sequence, and the worst case time complexities that are thought to be produced when these gap sequences are used. As noted in class, big-O notation, and especially worst case analyses, do not necessarily capture how an algorithm will function in the real world, so this task requires that you create a simulation to test the following scenarios: i. reversed arrays (the putative worst case scenario); ii. random arrays of different lengths containing unique values. Note that, unlike Task A, your test harness cannot test all possibilities (i.e., arrays unsorted in all possible ways) because there are too many (n!). You will discuss the results of your experimentation and compare the relative performance of the gap sequences you selected. Do not shy away from choosing gap sequences that share worst case time complexities, as there could be differences in performance in practice that would be interesting to uncover. For sorting there are two unit of work that will test us how much work the algorithm has done: comparisons and element moves. You will need to add to the Shell sort function provided to ensure that this information is recorded. You may use any language you wish, but clearly MATLAB and Python with matplotlib provide in-built data science functions for graph plotting and statistics, so will be easier.

Precise Description of Shell Sort Algorithm and the Role of the Gap Sequence

Task C: Hash Function Analysis

In this task, you are to perform an empirical comparison of the efficacy of three different hash functions (selecting from midsquare, modulus, folding, truncation, and Fibonacci) to assess their usefulness for transforming integer keys to array indices in a hash table with the objective of minimising collisions and clustering. This task is a little more open-ended than the previous two, however you should build a simulation that involves the generation of keys (random and sequential) and measure the degree of clustering (i.e., how evenly spread the keys are in the table) under different load factors, how often collisions occur, and also evaluate the avalanche property and other desirable features of a hash function, such as having a surjective relationship with the target array and being fast to compute. For each, do some background reading to understand how they may be applied in practice (e.g., folding may, in practice, involve grouping digits before summing), and state any assumptions you make.

Attachment:- Data Structures And Algorithms.rar

Reference no: EM132964267

Questions Cloud

Indicate whether the events after the reporting period be : Indicate whether the events after the reporting period should be classified as 'adjusting' or non-adjusting' events and suggest appropriate accounting
Opportunities and drawbacks offered by covid-19 : What are opportunities and drawbacks offered by COVID-19 for multinational companies on international scale in the context of International Human Resource Manag
How much do dexter and molly need to deposit into account : How much do Dexter and Molly need to deposit into the account at the end of each of the next 35 years to accomplish their goals?
Describe the stages of the active listening cycle : a) List and describe the three (3) stages of the Active Listening cycle.
MOD002641 Data Structures And Algorithms Assignment : MOD002641 Data Structures And Algorithms Assignment Help and Solution, Anglia Ruskin University - Assessment Writing Service
What proportion should invest in the risky portfolio : Your client wants to invest a proportion, What proportion should she invest in the risky portfolio, P, and what proportion in the risk-free asset?
Efficiency and effectiveness of organization : How Kaizen Costing can be use to help SMEs to improve the efficiency and effectiveness of their organization in the perspective of digital transformation?
Why would or not hold gold in one portfolio : In light of the apparent inferiority of gold with respect to both mean return and volatil- ity, would anyone hold gold? If so, demonstrate graphically
Find how many shares of common stock are outstanding : How many shares of common stock are outstanding? Preferred Stock - $100 par, 100,000 shares authorized 580,000. Retained Earnings 240,000

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Calculate shortest path-djkstra-s shortest path algorithm

With indicated link costs, use Djkstra's shortest path algorithm to calculate shortest path from E to all network nodes. Illustrate how algorithm works by computing table.

  Design a recursive linear-time algorithm

Design a recursive linear-time algorithm that tests whether a binary tree satisfies the search tree order property at every node.

  Towers of hanoi problem

Solving the Towers of Hanoi Problem using State Space Search- There are 3 disks on peg A. The top disk has a diameter of 1, the middle disk has a diameter of 2, and the bottom disk has a diameter of 3

  Sort the objects use one sorting algorithm

Sort the objects use one sorting algorithm (e.g. bubble-sort) and write the sorting results back to a file 126export.txt.

  Redraw the following schematics with the impedance of each

redraw the following schematics with the impedance of each of the element shown in laplace domain. then determine the

  Write a script that checks the day of the week

Write a script that checks the day of the week, and takes one of two actions depending on the day. If the day is Monday through Friday, print the name of the day.

  What is the prim and kruskal algorithm

To build minimum spanning trees, is negative weight edge allowed in the graph(Prim's and Kruskal's algorithm)?

  Processor sharing to worse performance than fcfs

Create a second experiment answering the question "Is it possible for processor sharing to have worse performance than FCFS? "

  Write a program that implements the linked list

Write a program that implements the linked list Include the Node struct, the typedef NodePtr statement, and the head_insert() function Then write a main() that does these steps: creates a head for the list.

  Explain the fms

For each of the case situations described, state which of the three types of manufacturing systems would be most appropriate.

  Describe an efficient algorithm based on dynamic programming

At the end of its fifth successful season, some premier league is planning to give an award to the Most Improved Batsman over the five years. For this, an Improvement Index will be computed for each batsman. This is defined as the longest sequence..

  Create an algorithm that asks user for price of an item

Create an algorithm for a program that asks the user for the price of an item. The program then must display the given price, calculate and display the tax based on a 6% rate.

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