Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Data Structures And Algorithms Assignment - Efficient Sorting

Learning Outcomes

  • Synthesise and implement stacks, linked lists, sorting and queues.
  • Compile and use abstract data types within programs.
  • Evaluate algorithms in terms of efficiency and justify the selection of the most appropriate data structure or algorithm for a given problem.

Task 1 -

This task requires you to produce fully working program/programs, which will compare operation times of various sorting algorithms for given sets of data.

You should carefully consider the criteria below and then develop a fully documented program that will calculate the time taken to sort lists of 10, 100, 1000, and 10,000 integer numbers which will be supplied by the tutor in class.

There should be a minimum of 3 sorting algorithms used in the program, including an insertion sort, a bubble sort and another sorting algorithm of your choice.

The program is to be written in a programming language of your choice.

You must write a report that includes the following: -

  • A description of each algorithm used, including pseudo code and/or flowcharts.
  • A full code listing with comments
  • A table of results showing the time required for each algorithm to execute once. Use the speed of the insertion sort as a guide to compensate for different processor speeds.
  • An explanation of how the timing of each algorithm is achieved.
  • Justification of the best sorting algorithm to be used for the various data sets supplied.
  • Any additional paperwork you consider necessary including additional research and discussions on sorting algorithms.

Additional marks will be awarded for complexity and explanations of algorithms used including discussions on how the test results were obtained.

Task 2 -

A bank has a call centre set up for customers and requires a piece of software to count and track waiting calls.

The telephone system can only keep 20 calls on hold at any time.

Once a call is made to the bank the following information is logged on a computer and put into a queue.

  • Call number
  • Time called
  • Queue ID number

The program will initially have no calls in memory. A basic menu screen will allow the user to perform the following operations: -

1. Add data to the queue.

2. Put call through to operator.

3. Remove call from the queue (customer disconnect).

4. Update queue.

  • When a call comes in the data is added to the queue.
  • If a call is at the top of the queue then it will be the next one to get a free operator.
  • Some calls will be disconnected by the customer before they reach the top of the queue, your program should allow for this.

On the menu screen you should also display the calls waiting and the time each call has been waiting.

This information is then to be used to calculate an average number of calls waiting and also the average wait time for a call to be sent to an operator. This should also be shown on the screen.

You may add additional functionality to the program if you consider it necessary.

Task 2.1 - Discuss the use and implementation of various methods to store data and also discuss the method you will use to create a working program which is best suited for this problem.

Task 2.2 - You must produce a specification for the data structure used. Fully explain how you will implement the data structure.

Task 2.3 - Produce a working program which creates and uses your chosen algorithm for this scenario.

Document and test the program and provide screenshots and a full code listing of your program.

Include any additional information necessary.

Task 2.4 - Evaluate your program and suggest areas for improvement.

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92788524

Have any Question?


Related Questions in Computer Engineering

How do you calculate the annual interest rate of 12

How do you calculate the annual interest rate of 12% compounded monthly. I know how to do for annually but not monthly. You are offered the opportunity to put some money away for retirement. You will receive 10 annual pa ...

Who stole the ice cream during an investigation into the

Who Stole the Ice Cream? ?During an investigation into the mysterious disappearance of ice-cream from a Mr. Softee truck, the following statements were made by the prime suspects. ? Alan: I wouldn't steal ice-cream unles ...

Find minimal dfas for the following languages in each case

Find minimal dfa's for the following languages. In each case prove that the result is minimal. (1) L = {a n bm> :n≥2,m≥1}. (2)L = {a n :n ≥ 0,n ≠ 3} (3) L = {a n :n mod 3 = 0}∪{a n : n mod 5 = 1}

During a year of operation a firm collects 650000 in

During a year of operation, a firm collects $650000 in revenue and spends $250000 on labor expense, raw materials, rent, and utilities. The firm's owner has provided $350000 of her own money instead of investing the mone ...

What are the differences between the federal deficit and

What are the differences between the Federal deficit and Federal Debt? How does a government budget deficit affect the economy, specifically the unemployment rate and job creation? Identify two periods in recent history ...

Koh aq cuno32 aq precipitatekbr aq srno32 aq no

KOH (aq)+ Cu(NO3)2 (aq) = precipitate KBr (aq) + Sr(NO3)2 (aq) = no precipitate a) What are the possible products when solutions of KOH and Cu(NO3)2 are mixed? b) What are the possible products when solutions of KBr and ...

A software engineering question regarding black-box testing

A Software Engineering question, regarding Black-Box Testing Techniques: Q:- A program computes its output variable T according to the following formula: [ x as in multiply] 1)T = X x 0.2 + Y x 0.4 + Z x 0.4 where X>= 50 ...

Serializationdesign a verilog module to convert a 64-bit

Serialization Design a Verilog module to convert a 64-bit data signal with periodic timing (eight-cycle period) into a series of eight-bit signals with periodic timing (one-cycle period). You must store the input data, a ...

Sorting algorithms are one kind of algorithm whose

Sorting algorithms are one kind of algorithm whose performance may depend upon the data. Choose one of the sorting algorithms or any other algorithm and explain whether the there are any differences in the best, average ...

A string in c is simply an array of characters with the

A string in C++ is simply an array of characters with the null character(\0) used to mark the end of the string. C++ provides a set of string handling function in as well as I/O functions in . With the addition of the ST ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As