Sorting Algorithms: Understanding the Basics and Importance, Slides of Data Structures and Algorithms

An introduction to sorting algorithms, explaining what sorting is, why it is important, and the primary types of sorting algorithms. It also covers the concept of time and space complexity and provides examples of common big-oh notations. The document concludes with a discussion on stable and unstable sorting algorithms and their implications.

Typology: Slides

2012/2013

Uploaded on 04/30/2013

dinpal
dinpal 🇮🇳

3.6

(12)

73 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction to Sorting
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download Sorting Algorithms: Understanding the Basics and Importance and more Slides Data Structures and Algorithms in PDF only on Docsity!

Introduction to Sorting

Docsity.com

What is Sorting?

Sorting: an operation that segregates

items into groups according to specified

criterion.

A = { 3 1 6 2 1 3 4 5 9 0 }

A = { 0 1 1 2 3 3 4 5 6 9 }

Docsity.com

Types of Sorting Algorithms

There are many, many different types of sorting

algorithms, but the primary ones are:

● Bubble Sort ● Selection Sort ● Insertion Sort ● Merge Sort ● Shell Sort ● Heap Sort

● Quick Sort ● Radix Sort ● Swap Sort

Docsity.com

Review of Complexity

Most of the primary sorting algorithms run on different space and time complexity.

Time Complexity is defined to be the time the

computer takes to run a program (or algorithm in

our case).

Space complexity is defined to be the amount of memory the computer needs to run a program.

Docsity.com

●An algorithm or function T(n) is O(f(n)) whenever

T(n)'s rate of growth is less than or equal to f(n)'s

rate.

●An algorithm or function T(n) is Ω(f(n)) whenever

T(n)'s rate of growth is greater than or equal to

f(n)'s rate.

●An algorithm or function T(n) is Θ(f(n)) if and

only if the rate of growth of T(n) is equal to f(n).

O(n), Ω(n), & Θ(n)

Docsity.com

Common Big-Oh’s

Time complexity Example O(1) constant Adding to the front of a linked list O(log N ) log^ Finding an entry in a sorted array O( N^ ) linear^ Finding an entry in an unsorted array O( N log N ) n-log-n Sorting n items by ‘divide-and-conquer’ O( N 2 ) quadratic Shortest path between two nodes in a graph O( N 3 ) cubic Simultaneous linear equations

(Binary) Finding 8:

9

50

22

21

8

5

1

(Linear) Finding 8:

9

50

22

21

8

5

Front 1 Initial: Final: 63

http://www.cs.sjsu.edu/faculty/lee/cs146/23FL3Complexity.ppt Docsity.com

Time Efficiency

  • How do we improve the time efficiency of a program?
  • The 90/10 Rule

90% of the execution time of a program is spent in executing 10% of the code

  • So, how do we locate the critical 10%?
    • software metrics tools
    • global counters to locate bottlenecks (loop executions, function calls)

Docsity.com

Time Efficiency

Improvements

Possibilities (some better than others!)

  • Move code out of loops that does not belong there

(just good programming!)

  • Remove any unnecessary I/O operations (I/O operations

are expensive time-wise)

  • Code so that the compiled code is more efficient

Moral - Choose the most appropriate algorithm(s) BEFORE

program implementation

Docsity.com

Unstable sort algorithms

  • An unstable sort
may or may not
keep equal
elements in the
same order
  • Stability is usually
not important,
but sometimes it
is important

Bob

Ann

Joe

Zöe

Dan

Pat

Sam

original array

Bob

Ann

Joe

Zöe

Dan

Pat

Sam

unstably sorted

www.cis.upenn.edu/~matuszek/cit594-2002/ Slides/searching.ppt Docsity.com

Selection Sorting

Step:

    1. select the smallest element
  • among data[i]~ data[data.length-1];
  • 2. swap it with data[i] ;
    1. if not finishing, repeat 1&

rio.ecs.umass.edu/ece242/slides/lect-sorting.ppt^5 7 8 10 20 Docsity.com

Insert Action: i=

temp

i = 1, first iteration

rio.ecs.umass.edu/ece242/slides/lect-sorting.ppt Docsity.com

Insert Action: i=

temp

5

i = 2, second iteration

rio.ecs.umass.edu/ece242/slides/lect-sorting.ppt Docsity.com

Insert Action: i=

temp

i = 4, forth iteration

rio.ecs.umass.edu/ece242/slides/lect-sorting.ppt Docsity.com