1 / 33

# Unit 1. Sorting and Divide and Conquer - PowerPoint PPT Presentation

Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting. What is an Algorithm ?. An algorithm is a computational procedure that takes some value, or a set of values, as input and produces some values, or a set of values, as output .

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Unit 1. Sorting and Divide and Conquer' - carter-ayala

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Lecture 1 Introduction to Algorithm and Sorting

What is anAlgorithm?

• An algorithm is a computational procedure that takes some value, or a set of values, as input and produces some values, or a set of values, as output.

• So, it is a sequence of computational steps that transform the input into the output.

• Correction: sequence -> combination

• In sequential computation, an algorithm is a sequence of computational steps.

• However, it is not true in parallel computation.

• In this course, we study only algorithms in sequential computation.

e.g.,

Insertion Sort, Merge Sort

• Running time from receiving the input to producing the output.

Running time

Insert Sort

Merge Sort

In the key outside of array.

• Each “line” of pseudocode requires a constant time. (In RAM model)

and each time runs at most

4+3(j-1) lines.

This loop runs at most

j-1 times and each time

runs at most 3 lines.

• Running time is a function of input size.

• In Turing machine model, the input size of sorting is

• Divide the problem into subproblems.

• Conquer the subproblems by solving them recursively.

• Combine the solutions to subproblems into the solution for original problem.

• Substitution method.

• Recursion-tree method.

• Master method.

• Guess the form of the solution.

• Use math induction to find the constants and also show the solution works.

• How to calculate running time.

• How to solve recurrences.

• Insertion sort and Merge sort.

• Divide and conquer

• Lecture Notes give you key points in each lecture.

• You must read textbook after lectures in order to study well.