Upload
vishal-patil
View
43
Download
2
Embed Size (px)
Citation preview
COMPUTER PROGRAMMING
Lecture 05
Prepared By Mr. V. S. Patil Dept (CSE)/AEC
Unit 1 Problem SolvingSyllabus
Prepared By Mr. V. S. Patil Dept (CSE)/AEC
2
1Understand insertion sort algorithms
Bubble sort algorithms
Objectives
Sorting
•Sorting is defined as arranging the record in some logical manner.
•Sorted = ordered based on a particular way.
•Generally, collections of data are presented in a sorted manner.
•Examples of Sorting:
–Words in a dictionary are sorted (and case distinctions are ignored).
–Files in a directory are often listed in sorted order.
–The index of a book is sorted (and case distinctions are ignored).
•Insertion Sort
•Bubble sort
Insertion sort
•Suppose an array A with n element A[1], A[2], A[1],…A[n] is
in the memory.
The insertion sort algorithm scans A from A[1] to A[n]
inserting each element A[k] into its proper position in the
previously Sorted sub array A[1], A[2],…. A[k-1].
Cont…….
•That is:-
Pass 1: A[1] by itself is trivially sorted.
Pass 2: A[2] is inserted either before or after A[1] so
that : A[1], A[2] is sorted.
Pass 3: A[3] is inserted into its proper place in A[1],
A[2], that is before A[1], between A[1] and A[2], or after
A[2] so that A[1] ,A[2], A[3] is sorted.
Continue..
Pass 4: A[4] is inserted into its proper place in
A[1] ,A[2] ,A[3] so that A[1] A[2] A[3] A[4] is sorted.... Pass [n]: A[n] is inserted into its proper place in A[1], A[2], A[3]…….. A[n-1] so that A[1], A[2]…….. A[n] is sorted.
2
1
3
4
6
5
Set A[0]= - ~ [Initialize sentinel element]
Repeat step 3 to 5 for k=2,3,…n
Set TEMP:=A[k] and PTR:=k-1
Repeat while TEMP< A[PTR]
a)Set A[PTR+1]:=A[PTR] [MOVES ELEMENT
FORWARD]
b)Set PTR:= PTR-1 [End of loop]
Set A[PTR+1]:=TEMP [Insert element in to its proper place]
Return\Stop
Algorithm Development(Insertion sort) INSERTION (A,N)
This algorithm sort the array A with N element.
Example: sorting numberes
23 17 45 18 12 22
Consider the list of unsorted numbersConsider the list of unsorted numbers
Example: sorting numbered cards
23 17 45 18 12 22
1 2 6543
Unsorted List
Example: sorting numbered cards
23 17 45 18 12 22
1 2 6543
1 2 6543
Unsorted List
Sorted List
Example: sorting numbered cards
23
17 45 18 12 22
1 2 6543
1 2 6543
Unsorted List
Sorted List
Example: sorting numbered cards
2317
45 18 12 22
1 2 6543
1 2 6543
Unsorted List
Sorted List
Example: sorting numbered cards
2317 45
18 12 22
1 2 6543
1 2 6543
Unsorted List
Sorted List
Example: sorting numbered cards
2317 4518
12 22
1 2 6543
1 2 6543
Unsorted List
Sorted List
Example: sorting numbered cards
1812 2217 23 45
1 2 6543
1 2 6543
Sorted List
Bubble Sort: Idea
• Idea: bubble in water.
Bubble in water moves upward. Why?
• How?
–When a bubble moves upward, the water from above will
move downward to fill in the space left by the bubble.
Bubble sort
Compare each element (except the last two) with its
neighbor to the right
If they are out of order, swap them
This puts the second largest element next to last
The last two elements are now in their correct and final
places
Compare each element (except the last one) with its neighbor
to the right
If they are out of order, swap them
This puts the largest element at the very end
The last element is now in the correct and final place
Compare each element (except the last three) with its
neighbor to the right
Continue as above until you have no unsorted elements on
the left
Continue..
Example of bubble sort
7 2 8 5 4
2 7 8 5 4
2 7 8 5 4
2 7 5 8 4
2 7 5 4 8
2 7 5 4 8
2 7 5 4 8
2 5 7 4 8
2 5 4 7 8
2 5 4 7 8
2 5 4 7 8
2 4 5 7 8
2 4 5 7 8
2 4 5 7 8
(done)
•Let A be the list of N number. Sorting A refers to the
operation of re-arranging the element of A so that they
are in increasing order,
So that :- A[1] <A[2]< A[3] <……….A[N].
•For example suppose A originally the list.
8, 4, 19, 2, 7, 13, 5, 16.
After sorting A the list is
2, 4, 5, 7, 8, 13, 16, 19.
Bubble sort:-
11.Repeat step 2and 3for k=1 to
N-1
2Set PTER=1 [Initialize
pass pointer PTER].
3Repeat while
PTR<=N-K [Executes
pass]..
4a)If DATA
[PTR]>DATA[PTR+1]
Interchange
DATA[PTER]
and DATA[PTR+1]
[End of if structure]
5b)Set
PTR:=PTR+1
[End of inner
loop]
[End of step 1
outer loop]
6Exit\
Return\ Stop
(Bubble sort) BUBBLE(Data, N)
Here DATA is an array with N element. This algorithm sort the
elements in DATA.
Question Bank
1. What is mean by sorting?
2. Draw the flowchart for insertion sort.
3. Write process to sort following list using Bubble sort.
12 45 34 67 98 42 23 7 87