Presentation is loading. Please wait.

Presentation is loading. Please wait.

Discrete Mathematics Algorithms. Introduction Discrete maths has developed relatively recently. Its importance and application have arisen along with.

Similar presentations


Presentation on theme: "Discrete Mathematics Algorithms. Introduction Discrete maths has developed relatively recently. Its importance and application have arisen along with."— Presentation transcript:

1 Discrete Mathematics Algorithms

2 Introduction Discrete maths has developed relatively recently. Its importance and application have arisen along with the development of computing. Discrete maths deals with discrete rather than continuous data and does not employ the continuous methods of calculus. Computers deal with procedures or algorithms to solve problems and algorithms form a substantial part of discrete maths.

3 Algorithms An algorithm is a procedure or set of instructions used to solve a problem. A computer programmes are algorithms written in a language which computers can interpret. The algorithm enables a person (or computer) to solve the problem without understanding the whole process

4 Sorting algorithms A frequently needed operation on a computer is a “sort” Such as sorting data into numerical order e.g. Sort the following list into numerical order starting with the smallest. (time how long it takes you) 3, 9, 10, 24, 2, 7, 1, 56, 43, 29, 36, 17, 4, 12, 77, 21, 100. A computer will do this in much less than a second. How do you know you have not made a mistake? How would you cope with a list of 100 numbers or more?

5 Sorting algorithms Bubble sort. This algorithm depends on successive comparisons of pairs of numbers. Compare the 1 st and 2 nd numbers in a list and swap them if the 2 nd number is smaller than the 1 st. Compare the 2 nd and 3 rd numbers and swap them if the 3 rd is smaller. Continue in this way to the end of the list. pass This procedure is called a pass

6 Bubble sort Example : Use a bubble sort to place the numbers in the list in order. 5, 1, 2, 6, 9, 4, 3. This represents one pass and required 6 comparisons and 4 swaps 9333333 3944444 4499999 6666666 5555522 2222251 1111115 New listOriginal list

7 Bubble sort The complete algorithm is written as: Step 1 If there is only one number in the list then stop. Step 2 Make one pass down the list comparing numbers in pairs and swapping if necessary. Step 3 If no swaps have occurred then stop. Otherwise ignore the last element in the list and return to step 1.

8 Example The table shows the complete bubble sort carried out on the list given on the previous slide. Original list 1 st pass2 nd pass3 rd pass4 th pass5 th pass 511111 122222 255433 664344 943555 436666 399999 (The numbers in purple are the ones which are ignored.)

9 Shuttle Sort One disadvantage of the bubble sort is that you have to do a final pass after the list is sorted to ensure the sort is complete. The shuttle sort partially overcomes this problem. Ist pass Compare the 1 st and 2 nd numbers in the list and swap if necessary. 2 nd pass Compare the 2 nd and 3 rd numbers in the list and swap if necessary. If a swap has occurred, compare the 1 st and 2 nd numbers and swap if necessary. 3 rd pass Compare the 3 rd and 4 th numbers in the list and swap if necessary. If a swap has occurred, compare the 2 nd and 3 rd numbers, and so on up the list.

10 Shuttle sort Using the same list of numbers the table below shows a shuttle sort Original list 1 st pass2 nd pass3 rd pass4 th pass5 th pass6 th pass 5111111 1522222 2255543 6666654 9999965 4444496 3333339 The shuttle sort has involved the same number of swaps as the bubble sort but 14 comparisons instead of 20.

11 Practice Questions Exercise 1A page 5

12 The order of an algorithm efficiency The efficiency of an algorithm is a measure of the “run- time” for the algorithm. This will often be proportional to the number of operations which have to be carried out. size The size of the problem is a measure of its complexity. E.g. in a sorting algorithm it is likely to be related to the number of numbers in the list order The order of an algorithm is a measure of the efficiency of the algorithm as a function of the size of the problem. Examples of different orders of algorithms AlgorithmSizeEfficiencyOrder An5nn or linear Bnn 2 + 7nn 2 or quadratic Cn2n 3 – 3nn 3 or cubic

13 Packing algorithms In business and industry, efficient packing to make best use of space is important and, for example, computerised systems are used to organise storage. First-Fit Algorithm Place each object in turn in the first available space in which it will fit. This is the simplest algorithm but rarely lead to the most efficient solution

14 Examples Question A small ferry has 3 lanes, each 25 metres long. The lengths of the vehicles in the queue, in the order in which they are waiting are: 3 5 4 3 14 5 9 3 4 4 4 3 11 Using the first-fit algorithm: The final 11 m vehicle does not fit. 16 m of space is unused. The solution could be improved by putting the 9 m vehicle (no.7) in lane 3 and then the 11m vehicle (no13) will fit in lane 2. 5 m of space is unused.

15 Increasing efficiency First-Fit Decreasing Algorithm Order all objects in decreasing size and then apply the first-fit algorithm Using the First-Fit Decreasing Algorithm: First place the vehicles in order of decreasing size. 14 11 9 5 5 4 4 4 4 3 3 3 3 Then apply the First-Fit Algorithm

16 Example This is more efficient than the first-fit algorithm and accommodates all vehicles and leaving 3 m space.

17 Flow diagrams flow diagram A flow diagram is pictorial representation of an algorithm. The shape of the box indicates the type of instruction. Stop Oval boxes Oval boxes are used for starting and stopping, inputting and outputting data Replace m by n Rectangles Rectangles are used for calculations or instructions. Is x > 5? Yes No Diamond shapes Diamond shapes are used for questions and decisions

18 Notation means “take the number in pigeon hole n and put it in pigeon hole m.” The notation for this is m: = n Similarly m: = 2 means “put the number 2 in pigeon hole m.” m: = m – 1 means “ take the number already in pigeon hole m, subtract 1 and put the result back into pigeon hole m.” Pigeon holes are usually called “stores”. Replace m by n

19 Example An algorithm has a flow diagram below. Start Read N Is N even? R: = 0 R: = 1 N: = N-1 N: = ½ N Is N = 0Stop Write R to the left of any numbers written so far No Yes (a)What is the output if N = 57? (b)What has the algorithm been designed to do?

20 Solution (a)After 6 successive passes around the flow diagram, the values of N and R are as follows. PassNRWritten down 12811 214001 370001 4311001 51111001 601111001 The algorithm converts N into a binary number.

21 Practice questions Cambridge Advanced Level Maths Discrete Mathematics 1 Chapter 1 Exercise 1 A Exercise 1 B Miscellaneous Exercise 1


Download ppt "Discrete Mathematics Algorithms. Introduction Discrete maths has developed relatively recently. Its importance and application have arisen along with."

Similar presentations


Ads by Google