- 83 Views
- Uploaded on
- Presentation posted in: General

Unit 1. Sorting and Divide and Conquer

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Unit 1.Sorting and Divide and Conquer

Lecture 1 Introduction to Algorithm and Sorting

- 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

Insertion Sort

key

In the key outside of array.

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

This loop runs n-1 times

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.

Example

Symmetry

- 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.

Relationship

- 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.