KEMBAR78
Sorting Technique | PPTX
SORTING ALGORITHMS
Engr. Shaheer Ahmed
ALGO - INSERTION SORT (N, A)
A : Array
N : Length of Array A[]
Start Algo
For i:=1 to N-1 do
value := A[i]
j := i-1
while j >= 0 and A[j] > value do
A[j+1] := A[j]
j := j-1
endwhile
A[j+1] = value
Endfor
End Algo
Program – Insertion Sort
#include<iostream>
using namespace std;
main()
{
int A[6] = {6,5,4,3,2,1};
int N=6;
int i,j,val;
for(i=1;i<N;i++)
{
val=A[i];
j=i-1;
while(j>=0 && A[j]>val)
{
A[j+1]=A[j];
j=j-1;
}
A[j+1]=val;
}
cout<<endl;
for(int i = 0 ; i<N ; i++)
cout<<A[i]<<" ";
system("pause");
}
Insertion Sort
Worst case analysis of Insertion Sort
Apply Insertion Sort on the following Data:
7,6,5,4,3,2,1
Selection Sort
Program – Selection Sort
#include<iostream>
using namespace std;
main()
{
int A[6] = {5,2,6,4,3,1};
int N=6;
int i,sel=0,min,index,swap=0, temp;
//Find smallest number and swap with selected index with each iteration of outer loop
while(sel<N)
{
min = A[sel];
for(i = sel; i< N; i++)
{
if(A[i]<min) //if smaller number is found
{
min=A[i];
index=i; // save index of smaller number
swap=1; // swapping required..
}
}
//swapping
if(swap==1)
{
A[sel] = A[sel] + A[index]; // a = a+b
A[index] = A[sel] - A[index]; // b = a - b
A[sel] = A[sel] - A[index]; // a = a-b
}
sel++;
swap=0;
}
for(int i = 0 ; i<N ; i++)
cout<<A[i]<<" ";
system("pause");
}
Apply Selection Sort on the following Data:
7,6,5,4,3,2,1
Worst case analysis of Selection Sort
Quick Sort
15 20 35 10 25 55 50 45 40 30
3015 20 10 25 35 55 50 45 40
3015 20 2510 4535 40 50 55
15 2010 25 35 4540 50 55
10 15 20 25 30 35 40 45 50 55
30
MERGE SORT
15 , 20 , 35 , 10 , 25 , 55 , 50 , 45
15 20 10 35 25 55 45 50
10 15 20 35 25 45 50 55
10 15 20 25 35 45 50 55
GIVEN DATA

Sorting Technique

  • 1.
  • 2.
    ALGO - INSERTIONSORT (N, A) A : Array N : Length of Array A[] Start Algo For i:=1 to N-1 do value := A[i] j := i-1 while j >= 0 and A[j] > value do A[j+1] := A[j] j := j-1 endwhile A[j+1] = value Endfor End Algo
  • 3.
    Program – InsertionSort #include<iostream> using namespace std; main() { int A[6] = {6,5,4,3,2,1}; int N=6; int i,j,val; for(i=1;i<N;i++) { val=A[i]; j=i-1; while(j>=0 && A[j]>val) { A[j+1]=A[j]; j=j-1; } A[j+1]=val; } cout<<endl; for(int i = 0 ; i<N ; i++) cout<<A[i]<<" "; system("pause"); }
  • 4.
  • 5.
    Worst case analysisof Insertion Sort Apply Insertion Sort on the following Data: 7,6,5,4,3,2,1
  • 6.
  • 7.
    Program – SelectionSort #include<iostream> using namespace std; main() { int A[6] = {5,2,6,4,3,1}; int N=6; int i,sel=0,min,index,swap=0, temp; //Find smallest number and swap with selected index with each iteration of outer loop while(sel<N) { min = A[sel]; for(i = sel; i< N; i++) { if(A[i]<min) //if smaller number is found { min=A[i]; index=i; // save index of smaller number swap=1; // swapping required.. } } //swapping if(swap==1) { A[sel] = A[sel] + A[index]; // a = a+b A[index] = A[sel] - A[index]; // b = a - b A[sel] = A[sel] - A[index]; // a = a-b } sel++; swap=0; } for(int i = 0 ; i<N ; i++) cout<<A[i]<<" "; system("pause"); }
  • 8.
    Apply Selection Sorton the following Data: 7,6,5,4,3,2,1 Worst case analysis of Selection Sort
  • 9.
    Quick Sort 15 2035 10 25 55 50 45 40 30 3015 20 10 25 35 55 50 45 40 3015 20 2510 4535 40 50 55 15 2010 25 35 4540 50 55 10 15 20 25 30 35 40 45 50 55 30
  • 10.
    MERGE SORT 15 ,20 , 35 , 10 , 25 , 55 , 50 , 45 15 20 10 35 25 55 45 50 10 15 20 35 25 45 50 55 10 15 20 25 35 45 50 55 GIVEN DATA