Sorting Simple Sorting Algorithm (Recap) A[0] A[i] A[i+1] A[N-1] - - PowerPoint PPT Presentation

sorting simple sorting algorithm recap
SMART_READER_LITE
LIVE PREVIEW

Sorting Simple Sorting Algorithm (Recap) A[0] A[i] A[i+1] A[N-1] - - PowerPoint PPT Presentation

Sorting Simple Sorting Algorithm (Recap) A[0] A[i] A[i+1] A[N-1] for in range(len(A)) : k = position of min. element between A [i] and A [N-1] Swap A [i] and A [k] Selection Sort Courtesy Prof P R Panda CSE, IIT Dellhi 2 Simple Sorting


slide-1
SLIDE 1

Sorting

slide-2
SLIDE 2

2

Simple Sorting Algorithm (Recap)

for in range(len(A)) : k = position of min. element between A [i] and A [N-1] Swap A [i] and A [k]

A[0] A[i] A[i+1]

A[N-1]

Courtesy Prof P R Panda CSE, IIT Dellhi

Selection Sort

slide-3
SLIDE 3

3

Simple Sorting Algorithm (Recap)

for j in range(i+1, len(A)): if A[min_index] > A[j]: min_index = j t = A [ i ] A [ i ] = A [ k ] A [ k ] = t A[0] A[i] A[i+1]

A[N-1]

Courtesy Prof P R Panda CSE, IIT Dellhi

for in range(len(A)) : k = position of min. element between A [i] and A [N-1] Swap A [i] and A [k]

Selection Sort

slide-4
SLIDE 4

4

Simple Sorting Algorithm (Recap)

A[0] A[i] A[i+1]

A[N-1]

Courtesy Prof P R Panda CSE, IIT Dellhi

Find Min for first time n elements: n-1 coparisons Next time : n-2 . . up to 1 Total time = (n-1)+(n-2)+….+1=(n*(n-1))/2 O(n2)

Selection Sort

slide-5
SLIDE 5

5

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-6
SLIDE 6

6

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-7
SLIDE 7

7

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-8
SLIDE 8

8

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-9
SLIDE 9

9

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-10
SLIDE 10

10

Merge Sort

Divide and conquer

slide-11
SLIDE 11

11

Merge Sort

Divide and conquer

Source:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer- science-and-programming-in-python-fall-2016/lecture-slides-code/

slide-12
SLIDE 12

12

Merge Sort

Running Time (Time Complexity as O) Recurrence Relation: T(1)=1 if n=1 T(n) = 2T(n/2) + cn Solution O(nlog2n)

slide-13
SLIDE 13

13

Quick Sort

Based on partitioing in two parts such that first part is less than equal to x and right part is greater than x. If x is an element of the array then it gets located at the right place if the seuqence is sorted.

A[0]

A[N-1]

x <=x >x pivot

slide-14
SLIDE 14

14

Quick Sort

slide-15
SLIDE 15

15

Quick Sort

slide-16
SLIDE 16

16

Quick Sort

Choice of pivot decides the performance of the

  • algorithm. If the partitioning happens in two almost

equal parts, it is an ideal case. Time Complexity Best Case: T(1)=1 T(n)=2T(n/2)+cn where cn is the partining time Complexity O(nlog2n)

slide-17
SLIDE 17

17

Quick Sort

Time Complexity Worst Case: T(1)=1 T(n)=T(n-1)+T(1)+ cn where cn is the partining time Complexity O(n2) Average Case: O(nlog2n)

slide-18
SLIDE 18

18

Insertion Sort

Basic idea is to insert the current element at the right place. This may require shifting the elements

slide-19
SLIDE 19

19

Insertion Sort

https://www.geeksforgeeks.org/insertion-sort/

slide-20
SLIDE 20

20

Insertion Sort

Time Complexity Worst Case: O(n2) when elements are sorted in the reverse order Best Case: O(n) when elements are already sorted

slide-21
SLIDE 21

21

Bubble Sort

https://codingcompiler.com/bubble-sort-program-in-c-using-function/

slide-22
SLIDE 22

22

Bubble Sort

Time Complexity: O(n2)