Presentation is loading. Please wait.

Presentation is loading. Please wait.

 The Dinky Database Dantai has received an unreasonable number of complaints about the speed of their Zip Code sorting procedure  DDD has hired you.

Similar presentations


Presentation on theme: " The Dinky Database Dantai has received an unreasonable number of complaints about the speed of their Zip Code sorting procedure  DDD has hired you."— Presentation transcript:

1

2  The Dinky Database Dantai has received an unreasonable number of complaints about the speed of their Zip Code sorting procedure  DDD has hired you as a contractor.  In particular, they want you to analyze their system and determine what is slowing down the procedure.  Once you have determined the problem, they would like you to recommend a solution to fix the problem.

3  Upon examining the sorting algorithm, you have determined that DDD is using Bubble Sort to sort its data.  As a knowledgeable individual on the subject of sorting algorithms, you are aware of a number of more efficient alternatives.

4  Note: DDD’s records include:  5 digit US Zip Codes ▪ 95064  9 digit numeric US Zip Codes ▪ 95064-0028  6 digit alpha-numeric Canadian Zip codes ▪ V8V 1X1

5  Solid choices: Merge sort or Quicksort  For students with a limited programming background, Quicksort is slightly easier to understand and explain.  Other choices:  Radix sort  Bucket sort  Heap sort

6  You have two basic writing tasks:  An Executive Summary for the Manager in charge of deciding whether to authorize the change.  An Implementation section for the programmers who will be writing the new algorithm.

7  This manager may or may not have any technical expertise.  His or her last experience with mathematics beyond Algebra may have been in High School.  “Quicksort’s best-case performance works in O(n log n), as opposed to Bubble Sort’s O(n 2 )” ▪ This is technically correct. ▪ It is likely meaningless to your target audience.  Focus more on why your replacement algorithm is efficient than why Bubble Sort is inefficient.

8  Present your arguments in terms the Executive is interested in. ▪ Faster. ▪ Less expensive. ▪ Easy to implement.  The Executive Summary should be brief.  Typically 1-2 pages.

9  You are writing to Novice programmers.  This should be longer, and more detailed. About 4-6 pages.  You don’t know what system they’re writing for, or what programming language they’re using.  Your job is to explain how the algorithm works, not to program it for them.

10  Define your terms:  Recursion ▪ If you are recommending a recursive algorithm, you will need to define recursion. (Most sorting algorithms use recursion)  Divide and Conquer ▪ Again, not all sorting algorithms use this technique, but for those that do, explain the term.

11  A simple graph can describe rather eloquently how efficient your algorithm can be.  Make certain your graph will be clear to its intended audience.  Examples of your sorting algorithm can help the reader understand.  Give a short list of zip codes (or numbers) and demonstrate how your sorting algorithm would sort them, step by step.  You are free to make your own examples, or borrow (properly cited) examples from the internet or elsewhere.

12  It is acceptable to use short bits of Pseudo-code to demonstrate your methods.  Do not use long sections of Pseudo-code.  Your job is to explain how the process works, not to write the program for them.  In short, you can use Pseudo-code to illustrate something you’ve explained in English.  But you may not simply write out the Pseudo-code for the process and then explain it line by line.

13  Any questions?


Download ppt " The Dinky Database Dantai has received an unreasonable number of complaints about the speed of their Zip Code sorting procedure  DDD has hired you."

Similar presentations


Ads by Google