Download presentation
Presentation is loading. Please wait.
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 1st and 2nd numbers in a list and swap them if the 2nd number is smaller than the 1st. Compare the 2nd and 3rd numbers and swap them if the 3rd is smaller. Continue in this way to the end of the list. This procedure is called a pass So called because the smaller numbers gradually rest to the top of the list like bubbles in a glass
6
Bubble sort Example : Use a bubble sort to place the numbers in the list in order. 5, 1, 2, 6, 9, 4, 3. 9 3 4 6 5 2 1 New list Original list The smaller numbers 1, 2, 3 and 4 have all moved up one place. This represents one pass and required 6 comparisons and 4 swaps
7
Bubble sort The complete algorithm is written as:
Step If there is only one number in the list then stop. Step Make one pass down the list comparing numbers in pairs and swapping if necessary. Step If no swaps have occurred then stop. Otherwise ignore the last element in the list and return to step 1.
8
Example (The numbers in purple are the ones which are ignored.)
The table shows the complete bubble sort carried out on the list given on the previous slide. Original list 1st pass 2nd pass 3rd pass 4th pass 5th pass 5 1 2 4 3 6 9 (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 1st and 2nd numbers in the list and swap if necessary. 2nd pass Compare the 2nd and 3rd numbers in the list and swap if necessary. If a swap has occurred, compare the 1st and 2nd numbers and swap if necessary. 3rd pass Compare the 3rd and 4th numbers in the list and swap if necessary. If a swap has occurred, compare the 2nd and 3rd 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 1st pass 2nd pass 3rd pass 4th pass 5th pass 6th pass 5 1 2 4 3 6 9 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
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. 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 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 Algorithm Size Efficiency Order A n 5n n or linear B n2 + 7n n2 or quadratic C 2n3 – 3n n3 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: 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 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. 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 A flow diagram is pictorial representation of an algorithm. The shape of the box indicates the type of instruction. Oval boxes are used for starting and stopping, inputting and outputting data Stop Rectangles are used for calculations or instructions. Replace m by n Is x > 5? Yes No 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 What is the output if N = 57?
An algorithm has a flow diagram below. Start Read N Is N even? R: = 0 R: = 1 N: = N-1 N: = ½ N Is N = 0 Stop Write R to the left of any numbers written so far No Yes What is the output if N = 57? What has the algorithm been designed to do?
20
Solution After 6 successive passes around the flow diagram, the values of N and R are as follows. Pass N R Written down 1 28 2 14 01 3 7 001 4 1001 5 11001 6 111001 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.