SORTING ALGORITHMS

bubble sort algorithm

steps

  • compare the first two items in the queue 
  • put the smaller value in extra bin
  • move the largest value among the two to the right and replace the value in the bin to the left

why algorithms

  • gives us an idea of running time
  • helps us decide on the hardware requirements
  • helps us decide on what is feasible vs what's not

compare the two

time complexity

time complexity explained

  • algorithm working on smaller no of elements = less time taken 
  • e.g 1 millisecond to work on 5data items 2 (thereabout) milliseconds on 11 data items
  • what is the order of growth of an algorithm

how to measure time

  • 100 - 10ms
ITEMS ALGORITHM1(ms) ALGORITHM2(ms)
200 20 40
1000 100 1000
10000 1000 100000

prev slide explained

items algorithm1(ms) algorithm2(ms)
200 20 40
1000 100 1000
10000 1000 100000
linear growth quadratic growth

types of time complexity

  • Best case
  • Average case
  • Worst case

ram model of computation

Assumptions made are:

  • we have infinite memory
  • each operation takes one unit of time
  • for each mem access unit time is consumed

Time complexity of bubble sort algorithm (wc)

12 8 7 5 2
8 7 5 2 12
comparison  swap
1 3
1 3
1 3
1 3

total ops: 16

first pass

7 5 2 8 12
comparison  swap
1 3
1 3
1 3

total ops: 12

second pass

5 2 7 8 12
comparison  swap
1 3
1 3

total ops: 8

third pass

2 5 7 8 12
comparison  swap
1 3

total ops: 4

third pass

16+12+8+4

= 4(4+3+2+1)

= 4 (n-1+ n-2 + ... 3 + 2 + 1)

= 2 * n * (n - 1)

= pn^2 + qn + r 

sorting algorithms

By ian munene

sorting algorithms

  • 366