Data Structure & Algorithms Assignment

Added on - 18 Sep 2019

Trusted by 2+ million users,
1000+ happy students everyday
Showing pages 1 to 4 of 15 pages
Data structure & algorithms assignmentNote: Please don’t forget to add harvard referencing at theendAny extra work I would be much appreciateTask 1This assignment requires you to produce fully working program/programs, which willcompare operation times of various sorting algorithms for given sets of data.You should carefully consider the criteria below and then develop a fully documentedprogram that will calculate the time taken to sort lists of 10, 100, 1000, and 10,000 integernumbers which will be supplied by the tutor in class.There should be a minimum of 3 sorting algorithms used in the program, including aninsertion sort, a bubble sort and another sorting algorithm of your choice.The program is to be written in C/C++ using the Microsoft C++ compiler in console mode.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 commentsA table of results showing the time required for each algorithm to execute once. Use thespeed 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 anddiscussions on sorting algorithms.Additional marks will be awarded for complexity and explanations of algorithms used includingdiscussions on how the test results were obtained.Task 2A bank has a call centre set up for customers and requires a piece of software to count andtrack 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 putinto a queue.
Call numberTime calledQueue ID numberThe program will initially have no calls in memory. A basic menu screen will allow the user toperform 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 beenwaiting.This information is then to be used to calculate an average number of calls waiting and also theaverage 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.1Discuss the use and implementation of various methods to store data and also discuss themethod you will use to create a working program which is best suited for this problem.Task 2.2You must produce a specification for the data structure used. Fully explain how you willimplement the data structure.Task 2.3Produce a working program in c++ which creates and uses your chosen algorithm for thisscenario. Each call is to be created as a new memory object using object orientatedtechniquesDocument and test the program and provide screenshots and a full code listing of yourprogram.Include any additional information necessary.Task 2.4
Evaluate your program and suggest areas for improvement.Marking Criteria:Marks will be awarded on the basis of:RequirementsMarksavailableMarksawardedFeedbackTask 1Inclusion of 3 sorting algorithms(5 marks per algorithm)Explanation of algorithms, test data and useof C++ languageEvaluation of sorting algorithms used fordifferent sizes of data sets(tables of results, graphs, evaluate data)Additional features(Additional algorithms, additional testing,predicting times for sorts using data obtained)Task 2Task 2.1Description of Algorithms for sortingsearching and queuingTask 2.2Explanation of data structure used.Task 2.3Program functionality, code and developmentpaperworkObject Orientated techniques used andexplainedTask 2.4Evaluation of program and possibleimprovementsAdditional features, GUI design, menu itemsand displayed data151510101051010105100
Both code tested by visual studio 2010Task 1:// Four sorting algorithm program //#include<iostream>#include<conio.h>#include<time.h>#include<windows.h>usingnamespacestd;intmenuChoice = 0;intmain(){/*int a[50],n,i,j,temp;cout<<"Enter the size of array: ";cin>>n;cout<<"Enter the array elements: ";*/DWORD starttime,endtime;//variables to store start and endtimesfloattotaltime;//a float variable for the total timesystem ("color b");cout <<"Sorting algorithm\n";cout <<" option one 10.\n";cout <<" option two 100.\n";cout <<" option three 1000.\n";cout <<" option four 10000.\n";cout <<" Enter your choice and press return: ";cin >> menuChoice;starttime = GetTickCount();//get the start timesrand(time(NULL));inta[10000];for(inti = 0; i < menuChoice; i++){a[i] = rand() % 10000 + 1;}inttemp;for(inti=1;i<menuChoice;++i)
Desklib Logo
You are reading a preview
Upload your documents to download or

Become a Desklib member to get access