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

  Implement an open hash table

In this programming assignment you will implement an open hash table and compare the performance of four hash functions using various prime table sizes.

  Use a search tree to find the solution

Explain how will use a search tree to find the solution.

  How to access virtualised applications through unicore

How to access virtualised applications through UNICORE

  Recursive tree algorithms

Write a recursive function to determine if a binary tree is a binary search tree.

  Determine the mean salary as well as the number of salaries

Determine the mean salary as well as the number of salaries.

  Currency conversion development

Currency Conversion Development

  Cloud computing assignment

WSDL service that receives a request for a stock market quote and returns the quote

  Design a gui and implement tic tac toe game in java

Design a GUI and implement Tic Tac Toe game in java

  Recursive implementation of euclids algorithm

Write a recursive implementation of Euclid's algorithm for finding the greatest common divisor (GCD) of two integers

  Data structures for a single algorithm

Data structures for a single algorithm

  Write the selection sort algorithm

Write the selection sort algorithm

  Design of sample and hold amplifiers for 100 msps by using n

The report is divided into four main parts. The introduction about sample, hold amplifier and design, bootstrap switch design followed by simulation results.

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