360 likes | 374 Views
Learn about algorithms, sorting techniques, running time calculation, divide and conquer approach, and solving recurrences in this introductory lecture.
E N D
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
Sequential and Parallel • 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.
Algorithms for Sorting e.g., Insertion Sort, Merge Sort
Efficiency • Running time from receiving the input to producing the output. Running time Insert Sort Merge Sort
key In the key outside of array.
How to calculate running time? • 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.
Remark on Running Time • Running time is a function of input size. • In Turing machine model, the input size of sorting is
Divide and Conquer • Divide the problem into subproblems. • Conquer the subproblems by solving them recursively. • Combine the solutions to subproblems into the solution for original problem.
5,2,7,4,6,8,1,3 5,2,7,4 6,8,1,3 1,3 5,2 7,4 6,8 6 4 8 1 5 2 3 7 2,5 4,7 1,3 6,8 1,3,6,8 2,4,5,7 1,2,3,4,5,6,7,8
How to Solve Recurrences • Recursion-tree method. (give reasonable estimate) • Substitution method. (mathematical induction and find correct constant) • Master method. (already proved results)
Substitution Method • Guess the form of the solution (e.g., use recursive tree). • Use math induction to find the constants and also show the solution works.
What we learnt in this lecture? • 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.