0% found this document useful (0 votes)
729 views

Sorting Algorithm in C-Bubble Sort and Selection Sort

This document discusses two sorting algorithms: bubble sort and selection sort. Bubble sort works by repeatedly "bubbling up" the largest value to the end of the array through pairwise comparisons and swaps over multiple passes. Selection sort finds the minimum element and swaps it into the first position on each pass. While simple to implement, both algorithms have quadratic time complexity and perform poorly on large data sets. The best algorithm depends on characteristics of the data needing sorting.

Uploaded by

Shrishail Kamble
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
729 views

Sorting Algorithm in C-Bubble Sort and Selection Sort

This document discusses two sorting algorithms: bubble sort and selection sort. Bubble sort works by repeatedly "bubbling up" the largest value to the end of the array through pairwise comparisons and swaps over multiple passes. Selection sort finds the minimum element and swaps it into the first position on each pass. While simple to implement, both algorithms have quadratic time complexity and perform poorly on large data sets. The best algorithm depends on characteristics of the data needing sorting.

Uploaded by

Shrishail Kamble
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

SORTING ALGORITHM IN

C-
BUBBLE SORT AND
SELECTION SORT
Contents

 Introduction to Sorting

 Bubble Sort

 Selection Sort

 Advantages

 Disadvantages

 Summary
Introduction To Sorting
 Sorting is a process in which records are arranged in
ascending or descending order.

 Example: Telephone directory.


Sorting
• Sorting takes an unordered collection and makes it an
ordered one.

1 2 3 4 5 6

77 42 35 12 101 5

1 2 3 4 5 6
5 12 35 42 77 101
BUBBLE SORT
 Oldest, most easiest, straightforward and simplistic
method of sorting data.

 Procedure: In this technique, the two successive


elements A[i] and A[i+1] are exchanged whenever
A[i] >= A[i+1].
Bubble Sort Algorithm
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(a[j]>=a[j+1])
{
exchange (a[j],a[j+1])
}
}
}
BUBBLE SORT
“Bubbling Up" the Largest Element

• Traverse a collection of elements


– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

77 42 35 12 101 5
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6
42Swap77 12 101
77 42 35 5
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

42 35Swap35
77 77 12 101 5
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

42 35 12Swap12
77 77 101 5
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

42 35 12 77 101 5

No need to swap
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

42 35 12 77 5 Swap101
101 5
"Bubbling Up" the Largest
Element
• Traverse a collection of elements
– Move from the front to the end
– “Bubble” the largest value to the end using pair-
wise comparisons and swapping

1 2 3 4 5 6

42 35 12 77 5 101

Largest value correctly placed


Items of Interest
• Notice that only the largest value is correctly
placed
• All other values are still out of order
• So we need to repeat this process

1 2 3 4 5 6

42 35 12 77 5 101

Largest value correctly placed


Repeat “Bubble Up” How Many
Times?
• If we have N elements…

• And if each time we bubble an element, we


place it in its correct location…

• Then we repeat the “bubble up” process N – 1


times.
“Bubbling” All the Elements
1 2 3 4 5 6
42 35 12 77 5 101
1 2 3 4 5 6
35 12 42 5 77 101
1 2 3 4 5 6
N-1

12 35 5 42 77 101
1 2 3 4 5 6
12 5 35 42 77 101
1 2 3 4 5 6
5 12 35 42 77 101
Advantages & Disadvantages of Bubble Sort

Advantages:
 very simple
 easy to program
 can be implemented in a short amount of time
 preferable when short lists are used.

Disadvantages:
 runs slowly and hence it is not efficient.
 Even if the elements are sorted, n-1 passes are
required to sort.
Selection Sort
 Selection sort determines the minimum (or maximum) of
the list and swaps it with the element at the index where
it is supposed to be.

 Procedure : In this technique after obtaining the smallest


element, it should be exchanged with the element in the
ith position.
temp = A[pos];
A[pos] = A[i];
A[i] = temp;
Selection Sort Algorithm
for(i=0;i<n-1;i++)
{
pos=i
for(j=i+1;j<n;j++)
{
if(a[j]<a[pos])
pos=j
}
temp=a[pos]
a[pos]=a[i]
a[i]=temp
}
Selection Sort
• Traverse a collection of elements
• It works by first finding the smallest element using a
linear scan and swapping it into the first position in
the list.

1 2 3 4 5 6

77 42 35 12 101 5
Selection Sort
• Traverse a collection of elements
• Finding the first smallest element by scanning the
remaining elements

1 2 3 4 5 6

77 42 35 12 101 5
Selection Sort
• Traverse a collection of elements
• Finding the second smallest element by scanning the
remaining elements, and so on....

1 2 3 4 5 6

5 42 35 12 101 77
Selection Sort
• Traverse a collection of elements

1 2 3 4 5 6

5 12 35 42 101 77
Selection Sort
• Traverse a collection of elements

1 2 3 4 5 6

5 12 35 42 101 77
Selection Sort
• Traverse a collection of elements

1 2 3 4 5 6

5 12 35 42 101 77
Selection Sort
• Traverse a collection of elements

1 2 3 4 5 6

5 12 35 42 77 101
Advantages & Disadvantages of Selection Sort

Advantages:
 Better to use when sorting through arrays.
 Performance is quicker than Bubble sort.
 Notable for its programming
 The simplest of sorting techniques and works very well for
small files

Disadvantages:
 Quite inefficient for sorting large data volumes.
 Spends most of its time trying to find the minimum
element in the "unsorted" part of the array.
Summary
 The choice of a sort algorithm normally bases on
some properties of the data you have to sort.
 Bubble sort is not a practical sorting algorithm
when n is large.
 Selection sort algorithm is an easy-to-program,
but very inefficient sorting algorithm.
References
 [1] Ashok N. Kamthane, Introduction to Data
Structures in C, Pearson Education, India, 2007
 [2] A. M. Padma Reddy, Systematic Approach to Data
Structures Using C, 7th Edition, 2007
 [3] Ellis Horowitz, Fundamentals of Computer
Algorithms, Universities Press, 2nd Edition, 2009
THANK YOU

You might also like