Algorithms. Jordi Planes. Escola Politècnica Superior Universitat de Lleida

Size: px
Start display at page:

Download "Algorithms. Jordi Planes. Escola Politècnica Superior Universitat de Lleida"

Transcription

1 Algorithms Jordi Planes Escola Politècnica Superior Universitat de Lleida 2016

2 Vote in Sakai.

3 Syllabus What s been done Formal specification Cost Transformation recursion iteration

4 Syllabus What we ll do today Formal specification Cost Transformation recursion iteration

5 Recursion

6 RecursiveTree by Brentsmith101

7

8 Recursion Recursion (Wikipedia) Recursion is the process of repeating items in a self-similar way.

9 Recursion Recursion (Wikipedia) Recursion is the process of repeating items in a self-similar way. Example (Fibonacci) fibonacci(x) = x fibonacci(x 1)

10 Recursion (John D. Cook) Be sure of three things: 1. The problem gets smaller each time. 2. You include a solution for the base case. 3. Each case is handled correctly.

11 General scheme function r e c u r s i v e ( x ) i s base c a s e return t r i v i a l ( x ) r e c u r s i v e c a s e y = r e c u r s i v e ( r e d u c e ( x ) ) return compute ( x, y )

12 Example: factorial function f a c t o r i a l ( x ) i s x = 0 return 1 x > 0 y f a c t o r i a l ( x 1 ) return x y

13 Example: product Design the product by additions

14 Example: product function product ( x, y ) i s x = 0 return 0 x > 0 p product ( x 1, y ) return y + p

15 Exercises Digit counter for an integer Addition of all the elements in a list Check if a list is sorted Power by products Division by substrations Integer Division Maximum in a list Lineal search

16 Transformations

17 Transformations Any recursive computation has each equivalent iterative computation, and viceversa

18 Transformations Any recursive computation has each equivalent iterative computation, and viceversa The easiest transformation: tail recursion

19 Transformations Any recursive computation has each equivalent iterative computation, and viceversa The easiest transformation: tail recursion General Scheme: Recursive Tail recursive Iterative

20 Transformations Tail call A tail call is a subroutine call performed as the final action of a procedure. function c a l l e r ( x ) i s y = some o p e r a t i o n s return c a l l e e ( y )

21 Transformations Tail call A tail call is a subroutine call performed as the final action of a procedure. function c a l l e r ( x ) i s y = some o p e r a t i o n s return c a l l e e ( y ) Tail recursion A tail recursion is a tail call which calls the caller. function c a l l e r ( x ) i s y = some o p e r a t i o n s return c a l l e r ( y )

22 General scheme function r e c u r s i v e ( x ) i s base c a s e return t r i v i a l ( x ) r e c u r s i v e c a s e y = r e c u r s i v e ( r e d u c e ( x ) ) return compute ( x, y ) function r e c u r s i v e ( x, a ) i s base c a s e a r e c u r s i v e c a s e a = compute ( x, a ) return r e c u r s i v e ( r e d u c e ( x ), a )

23 General scheme function r e c u r s i v e ( x ) i s base c a s e return t r i v i a l ( x ) r e c u r s i v e c a s e y = r e c u r s i v e ( r e d u c e ( x ) ) return compute ( x, y ) function r e c u r s i v e ( x, a ) i s base c a s e a r e c u r s i v e c a s e a = compute ( x, a ) return r e c u r s i v e ( r e d u c e ( x ), a ) r e c u r s i v e ( x, t r i v i a l ( x ) )

24 Example: factorial function f a c t o r i a l ( x ) i s x = 0 return 1 x > 0 y f a c t o r i a l ( x 1 ) return x y

25 Example: factorial function f a c t o r i a l ( x ) i s x = 0 return 1 x > 0 y f a c t o r i a l ( x 1 ) return x y function f a c t o r i a l ( x, a ) i s x = 0 return a x > 0 a x a return f a c t o r i a l ( x 1, a ) f a c t o r i a l ( x, 1 )

26 Exercises Digit counter for an integer Addition of all the elements in a list Check if a list is sorted Power by products Division by substrations Integer Division Maximum in a list Lineal search

27 General scheme function r e c u r s i v e ( x, a ) i s base c a s e a r e c u r s i v e c a s e return r e c u r s i v e ( r e d u c e ( x ), compute ( x, a r e c u r s i v e ( x, t r i v i a l ( x ) ) i s

28 General scheme function r e c u r s i v e ( x, a ) i s base c a s e a r e c u r s i v e c a s e return r e c u r s i v e ( r e d u c e ( x ), compute ( x, a r e c u r s i v e ( x, t r i v i a l ( x ) ) i s function r e c u r s i v e ( x ) i s a t r i v i a l ( x ) while not base c a s e ( x ) do a compute ( x, a ) x r e d u c e ( x ) return a

29 Example: factorial function f a c t o r i a l ( x, a ) i s x = 0 return a x > 0 a x a return f a c t o r i a l ( x 1, a ) f a c t o r i a l ( x, 1 )

30 Example: factorial function f a c t o r i a l ( x, a ) i s x = 0 return a x > 0 a x a return f a c t o r i a l ( x 1, a ) f a c t o r i a l ( x, 1 ) function f a c t o r i a l ( x ) i s a 1 while not x = 0 do a a x x x 1 return a

31 Exercises Digit counter for an integer Addition of all the elements in a list Check if a list is sorted Power by products Division by substrations Integer Division Maximum in a list Lineal search

32 Compute the costs Compute the costs for the previous exercises.

Algorithms. Jordi Planes. Escola Politècnica Superior Universitat de Lleida

Algorithms. Jordi Planes. Escola Politècnica Superior Universitat de Lleida Algorithms Jordi Planes Escola Politècnica Superior Universitat de Lleida 2016 Syllabus What s been done Formal specification Computational Cost Transformation recursion iteration Divide and conquer Sorting

More information

CS383, Algorithms Spring 2009 HW1 Solutions

CS383, Algorithms Spring 2009 HW1 Solutions Prof. Sergio A. Alvarez http://www.cs.bc.edu/ alvarez/ 21 Campanella Way, room 569 alvarez@cs.bc.edu Computer Science Department voice: (617) 552-4333 Boston College fax: (617) 552-6790 Chestnut Hill,

More information

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018

Induction. Induction. Induction. Induction. Induction. Induction 2/22/2018 The principle of mathematical induction is a useful tool for proving that a certain predicate is true for all natural numbers. It cannot be used to discover theorems, but only to prove them. If we have

More information

Recurrences COMP 215

Recurrences COMP 215 Recurrences COMP 215 Analysis of Iterative Algorithms //return the location of the item matching x, or 0 if //no such item is found. index SequentialSearch(keytype[] S, in, keytype x) { index location

More information

Section 4.1: Sequences and Series

Section 4.1: Sequences and Series Section 4.1: Sequences and Series In this section, we shall introduce the idea of sequences and series as a necessary tool to develop the proof technique called mathematical induction. Most of the material

More information

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture. Turing Machines Hello Hello Condensed Slide Slide Readers! Readers! This This lecture lecture is is almost almost entirely entirely animations that that show show how how each each Turing Turing machine

More information

Algorithm Analysis Recurrence Relation. Chung-Ang University, Jaesung Lee

Algorithm Analysis Recurrence Relation. Chung-Ang University, Jaesung Lee Algorithm Analysis Recurrence Relation Chung-Ang University, Jaesung Lee Recursion 2 Recursion 3 Recursion in Real-world Fibonacci sequence = + Initial conditions: = 0 and = 1. = + = + = + 0, 1, 1, 2,

More information

1 Sequences and Summation

1 Sequences and Summation 1 Sequences and Summation A sequence is a function whose domain is either all the integers between two given integers or all the integers greater than or equal to a given integer. For example, a m, a m+1,...,

More information

INDUCTION AND RECURSION. Lecture 7 - Ch. 4

INDUCTION AND RECURSION. Lecture 7 - Ch. 4 INDUCTION AND RECURSION Lecture 7 - Ch. 4 4. Introduction Any mathematical statements assert that a property is true for all positive integers Examples: for every positive integer n: n!

More information

The Theorem of Pappus and Commutativity of Multiplication

The Theorem of Pappus and Commutativity of Multiplication The Theorem of Pappus and Commutativity of Multiplication Leroy J Dickey 2012-05-18 Abstract The purpose of this note is to present a proof of the Theorem of Pappus that reveals the role of commutativity

More information

Fall 2017 Test II review problems

Fall 2017 Test II review problems Fall 2017 Test II review problems Dr. Holmes October 18, 2017 This is a quite miscellaneous grab bag of relevant problems from old tests. Some are certainly repeated. 1. Give the complete addition and

More information

Induction and Recursion

Induction and Recursion . All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education. Induction and Recursion

More information

Induction and recursion. Chapter 5

Induction and recursion. Chapter 5 Induction and recursion Chapter 5 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms Mathematical Induction Section 5.1

More information

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms

Chapter Summary. Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 1 Chapter Summary Mathematical Induction Strong Induction Well-Ordering Recursive Definitions Structural Induction Recursive Algorithms 2 Section 5.1 3 Section Summary Mathematical Induction Examples of

More information

1. Introduction to commutative rings and fields

1. Introduction to commutative rings and fields 1. Introduction to commutative rings and fields Very informally speaking, a commutative ring is a set in which we can add, subtract and multiply elements so that the usual laws hold. A field is a commutative

More information

3.5 Solving Equations Involving Integers II

3.5 Solving Equations Involving Integers II 208 CHAPTER 3. THE FUNDAMENTALS OF ALGEBRA 3.5 Solving Equations Involving Integers II We return to solving equations involving integers, only this time the equations will be a bit more advanced, requiring

More information

= 1 when k = 0 or k = n. Otherwise, Fact 4.5 (page 98) says. n(n 1)(n 2) (n k + 3)(n k + 2)(n k + 1) (n k + 1)(n k + 2)(n k + 3) (n 2)(n 1) n

= 1 when k = 0 or k = n. Otherwise, Fact 4.5 (page 98) says. n(n 1)(n 2) (n k + 3)(n k + 2)(n k + 1) (n k + 1)(n k + 2)(n k + 3) (n 2)(n 1) n Solutions for Chapter 6 189 6.7 Solutions for Chapter 6 Sections 6.1, 6.2 and 6.3 1. Write an algorithm whose input is an integer n and whose output is the first n Fibonacci numbers. Algorithm: to compute

More information

Recurrence Relations

Recurrence Relations Recurrence Relations Recurrence Relations Reading (Epp s textbook) 5.6 5.8 1 Recurrence Relations A recurrence relation for a sequence aa 0, aa 1, aa 2, ({a n }) is a formula that relates each term a k

More information

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?

Admin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem? Admin Two more assignments No office hours on tomorrow NP-COMPLETE PROBLEMS Run-time analysis Tractable vs. intractable problems We ve spent a lot of time in this class putting algorithms into specific

More information

Testing Series with Mixed Terms

Testing Series with Mixed Terms Testing Series with Mixed Terms Philippe B. Laval KSU Today Philippe B. Laval (KSU) Series with Mixed Terms Today 1 / 17 Outline 1 Introduction 2 Absolute v.s. Conditional Convergence 3 Alternating Series

More information

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 1

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 1 CS 70 Discrete Mathematics and Probability Theory Fall 013 Vazirani Note 1 Induction Induction is a basic, powerful and widely used proof technique. It is one of the most common techniques for analyzing

More information

CIS 121. Analysis of Algorithms & Computational Complexity. Slides based on materials provided by Mary Wootters (Stanford University)

CIS 121. Analysis of Algorithms & Computational Complexity. Slides based on materials provided by Mary Wootters (Stanford University) CIS 121 Analysis of Algorithms & Computational Complexity Slides based on materials provided by Mary Wootters (Stanford University) Today Sorting: InsertionSort vs MergeSort Analyzing the correctness of

More information

Another Proof By Contradiction: 2 is Irrational

Another Proof By Contradiction: 2 is Irrational Another Proof By Contradiction: 2 is Irrational Theorem: 2 is irrational. Proof: By contradiction. Suppose 2 is rational. Then 2 = a/b for some a, b N +. We can assume that a/b is in lowest terms. Therefore,

More information

Day 2: Let The Good Roll

Day 2: Let The Good Roll Opener 1. We re going to start with doing the same thing, over and over. The Monica sequence is one of the least famous sequences of all For example, M(2) = time. It starts with 2, then 2 again, then each

More information

MAT 243 Test 2 SOLUTIONS, FORM A

MAT 243 Test 2 SOLUTIONS, FORM A MAT Test SOLUTIONS, FORM A 1. [10 points] Give a recursive definition for the set of all ordered pairs of integers (x, y) such that x < y. Solution: Let S be the set described above. Note that if (x, y)

More information

Mathematical Background. Unsigned binary numbers. Powers of 2. Logs and exponents. Mathematical Background. Today, we will review:

Mathematical Background. Unsigned binary numbers. Powers of 2. Logs and exponents. Mathematical Background. Today, we will review: Mathematical Background Mathematical Background CSE 373 Data Structures Today, we will review: Logs and eponents Series Recursion Motivation for Algorithm Analysis 5 January 007 CSE 373 - Math Background

More information

2301 Assignment 1 Due Friday 19th March, 2 pm

2301 Assignment 1 Due Friday 19th March, 2 pm Show all your work. Justify your solutions. Answers without justification will not receive full marks. Only hand in the problems on page 2. Practice Problems Question 1. Prove that if a b and a 3c then

More information

Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018

Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018 CS17 Integrated Introduction to Computer Science Klein Contents Lecture 17: Trees and Merge Sort 10:00 AM, Oct 15, 2018 1 Tree definitions 1 2 Analysis of mergesort using a binary tree 1 3 Analysis of

More information

CISC 1100: Structures of Computer Science

CISC 1100: Structures of Computer Science CISC 1100: Structures of Computer Science Chapter 2 Sets and Sequences Fordham University Department of Computer and Information Sciences Fall, 2010 CISC 1100/Fall, 2010/Chapter 2 1 / 49 Outline Sets Basic

More information

Functional Programming Laboratory 3

Functional Programming Laboratory 3 Functional Programming Laboratory 3 Define new functions, Recursion Isabela Drămnesc March 12, 2014 1 Concepts Bound and free variables Recursive functions Simple and double recursion 2 Questions from

More information

1. Introduction to commutative rings and fields

1. Introduction to commutative rings and fields 1. Introduction to commutative rings and fields Very informally speaking, a commutative ring is a set in which we can add, subtract and multiply elements so that the usual laws hold. A field is a commutative

More information

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005

V. Adamchik 1. Recurrences. Victor Adamchik Fall of 2005 V. Adamchi Recurrences Victor Adamchi Fall of 00 Plan Multiple roots. More on multiple roots. Inhomogeneous equations 3. Divide-and-conquer recurrences In the previous lecture we have showed that if the

More information

ICS141: Discrete Mathematics for Computer Science I

ICS141: Discrete Mathematics for Computer Science I ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by

More information

Lecture 2. Fundamentals of the Analysis of Algorithm Efficiency

Lecture 2. Fundamentals of the Analysis of Algorithm Efficiency Lecture 2 Fundamentals of the Analysis of Algorithm Efficiency 1 Lecture Contents 1. Analysis Framework 2. Asymptotic Notations and Basic Efficiency Classes 3. Mathematical Analysis of Nonrecursive Algorithms

More information

Order Notation and the Mathematics for Analysis of Algorithms

Order Notation and the Mathematics for Analysis of Algorithms Elementary Data Structures and Algorithms Order Notation and the Mathematics for Analysis of Algorithms Name: Email: Code: 19704 Always choose the best or most general answer, unless otherwise instructed.

More information

Problem Set 5 Solutions

Problem Set 5 Solutions Problem Set 5 Solutions Section 4.. Use mathematical induction to prove each of the following: a) For each natural number n with n, n > + n. Let P n) be the statement n > + n. The base case, P ), is true

More information

Recursion. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry. Fall 2007

Recursion. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry. Fall 2007 Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Fall 2007 1 / 47 Computer Science & Engineering 235 to Discrete Mathematics Sections 7.1-7.2 of Rosen Recursive Algorithms 2 / 47 A recursive

More information

STEP Support Programme. Hints and Partial Solutions for Assignment 17

STEP Support Programme. Hints and Partial Solutions for Assignment 17 STEP Support Programme Hints and Partial Solutions for Assignment 7 Warm-up You need to be quite careful with these proofs to ensure that you are not assuming something that should not be assumed. For

More information

The Immerman-Szelepcesnyi Theorem and a hard problem for EXPSPACE

The Immerman-Szelepcesnyi Theorem and a hard problem for EXPSPACE The Immerman-Szelepcesnyi Theorem and a hard problem for EXPSPACE Outline for today A new complexity class: co-nl Immerman-Szelepcesnyi: NoPATH is complete for NL Introduction to Vector Addition System

More information

Sail into Summer with Math!

Sail into Summer with Math! Sail into Summer with Math! For Students Entering Algebra 1 This summer math booklet was developed to provide students in kindergarten through the eighth grade an opportunity to review grade level math

More information

Lecture 3.2: Induction, and Strong Induction

Lecture 3.2: Induction, and Strong Induction Lecture 3.2: Induction, and Strong Induction CS 250, Discrete Structures, Fall 2015 Nitesh Saxena Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag Course Admin Mid-Term 1 Graded; to be returned

More information

Lecture 2: Divide and conquer and Dynamic programming

Lecture 2: Divide and conquer and Dynamic programming Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in

More information

Mergesort and Recurrences (CLRS 2.3, 4.4)

Mergesort and Recurrences (CLRS 2.3, 4.4) Mergesort and Recurrences (CLRS 2.3, 4.4) We saw a couple of O(n 2 ) algorithms for sorting. Today we ll see a different approach that runs in O(n lg n) and uses one of the most powerful techniques for

More information

Math 016 Lessons Wimayra LUY

Math 016 Lessons Wimayra LUY Math 016 Lessons Wimayra LUY wluy@ccp.edu MATH 016 Lessons LESSON 1 Natural Numbers The set of natural numbers is given by N = {0, 1, 2, 3, 4...}. Natural numbers are used for two main reasons: 1. counting,

More information

MEETING 9 - INDUCTION AND RECURSION

MEETING 9 - INDUCTION AND RECURSION MEETING 9 - INDUCTION AND RECURSION We do some initial Peer Instruction... Predicates Before we get into mathematical induction we will repeat the concept of a predicate. A predicate is a mathematical

More information

Math Lecture 18 Notes

Math Lecture 18 Notes Math 1010 - Lecture 18 Notes Dylan Zwick Fall 2009 In our last lecture we talked about how we can add, subtract, and multiply polynomials, and we figured out that, basically, if you can add, subtract,

More information

Notes on induction proofs and recursive definitions

Notes on induction proofs and recursive definitions Notes on induction proofs and recursive definitions James Aspnes December 13, 2010 1 Simple induction Most of the proof techniques we ve talked about so far are only really useful for proving a property

More information

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number Topic Contents Factoring Methods Unit 3 The smallest divisor of an integer The GCD of two numbers Generating prime numbers Computing prime factors of an integer Generating pseudo random numbers Raising

More information

CS Non-recursive and Recursive Algorithm Analysis

CS Non-recursive and Recursive Algorithm Analysis CS483-04 Non-recursive and Recursive Algorithm Analysis Instructor: Fei Li Room 443 ST II Office hours: Tue. & Thur. 4:30pm - 5:30pm or by appointments lifei@cs.gmu.edu with subject: CS483 http://www.cs.gmu.edu/

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication Given two vectors a = [a 1,..., a k ] and b = [b 1,..., b k ], their inner product (or dot product) is a b = k i=1 a ib i [1, 2, 3] [ 2, 4, 6] = (1 2) + (2 4) + (3 6) = 24. We can

More information

8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES

8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES 8. Sequences, Series, and Probability 8.1. SEQUENCES AND SERIES What You Should Learn Use sequence notation to write the terms of sequences. Use factorial notation. Use summation notation to write sums.

More information

Divide and Conquer. CSE21 Winter 2017, Day 9 (B00), Day 6 (A00) January 30,

Divide and Conquer. CSE21 Winter 2017, Day 9 (B00), Day 6 (A00) January 30, Divide and Conquer CSE21 Winter 2017, Day 9 (B00), Day 6 (A00) January 30, 2017 http://vlsicad.ucsd.edu/courses/cse21-w17 Merging sorted lists: WHAT Given two sorted lists a 1 a 2 a 3 a k b 1 b 2 b 3 b

More information

1 Divide and Conquer (September 3)

1 Divide and Conquer (September 3) The control of a large force is the same principle as the control of a few men: it is merely a question of dividing up their numbers. Sun Zi, The Art of War (c. 400 C.E.), translated by Lionel Giles (1910)

More information

CISC 1400 Discrete Structures

CISC 1400 Discrete Structures CISC 1400 Discrete Structures Chapter 2 Sequences What is Sequence? A sequence is an ordered list of objects or elements. For example, 1, 2, 3, 4, 5, 6, 7, 8 Each object/element is called a term. 1 st

More information

Analysis of Algorithm Efficiency. Dr. Yingwu Zhu

Analysis of Algorithm Efficiency. Dr. Yingwu Zhu Analysis of Algorithm Efficiency Dr. Yingwu Zhu Measure Algorithm Efficiency Time efficiency How fast the algorithm runs; amount of time required to accomplish the task Our focus! Space efficiency Amount

More information

Administrative notes. Computational Thinking ct.cs.ubc.ca

Administrative notes. Computational Thinking ct.cs.ubc.ca Administrative notes Labs this week: project time. Remember, you need to pass the project in order to pass the course! (See course syllabus.) Clicker grades should be on-line now Administrative notes March

More information

Learning Objectives:

Learning Objectives: Learning Objectives: t the end of this topic you will be able to; draw a block diagram showing how -type flip-flops can be connected to form a synchronous counter to meet a given specification; explain

More information

1 Reductions from Maximum Matchings to Perfect Matchings

1 Reductions from Maximum Matchings to Perfect Matchings 15-451/651: Design & Analysis of Algorithms November 21, 2013 Lecture #26 last changed: December 3, 2013 When we first studied network flows, we saw how to find maximum cardinality matchings in bipartite

More information

Absolute Value Inequalities

Absolute Value Inequalities LESSON 16 Absolute Value Inequalities LEARNING OBJECTIVES Today I am: reviewing solving and graphing inequalities. So that I can: determine the steps to solve absolute value inequalities. I ll know I have

More information

9.1 SEQUENCES AND SERIES

9.1 SEQUENCES AND SERIES 640 Chapter 9 Sequences, Series, and Probability 9. SEQUENCES AND SERIES What you should learn Use sequence notation to write the terms of sequences. Use factorial notation. Use summation notation to write

More information

Math Project 1 Determination of Magnetic Codes

Math Project 1 Determination of Magnetic Codes Math 4583 - Project 1 Determination of Magnetic Codes 1. Gist of the Problem This project concerns the storage of data on magnetic tape. The first thing to understand is the basic mechanism by which a

More information

Topic 17. Analysis of Algorithms

Topic 17. Analysis of Algorithms Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm

More information

Grade 7/8 Math Circles. Continued Fractions

Grade 7/8 Math Circles. Continued Fractions Faculty of Mathematics Waterloo, Ontario N2L 3G Centre for Education in Mathematics and Computing A Fraction of our History Grade 7/8 Math Circles October th /2 th Continued Fractions Love it or hate it,

More information

Discrete Mathematics. Spring 2017

Discrete Mathematics. Spring 2017 Discrete Mathematics Spring 2017 Previous Lecture Principle of Mathematical Induction Mathematical Induction: Rule of Inference Mathematical Induction: Conjecturing and Proving Mathematical Induction:

More information

MAT 243 Test 2 SOLUTIONS, FORM A

MAT 243 Test 2 SOLUTIONS, FORM A MAT 24 Test 2 SOLUTIONS, FORM A 1. [1 points] Prove the following using Mathematical Induction. L 2 i = L n L n+1 + 2 where L is the Lucas sequence: L 0 = 2 L 1 = 1 L n = L n 1 + L n 2, n 2 Solution: Let

More information

Sequences and the Binomial Theorem

Sequences and the Binomial Theorem Chapter 9 Sequences and the Binomial Theorem 9. Sequences When we first introduced a function as a special type of relation in Section.3, we did not put any restrictions on the domain of the function.

More information

Today I am: reviewing solving and graphing inequalities. So that I can: determine the steps to solve absolute value inequalities.

Today I am: reviewing solving and graphing inequalities. So that I can: determine the steps to solve absolute value inequalities. 2tI o LESSON 16 Absolute Value Inequalities LEARNING OBJECTIVES Today I am: reviewing solving and graphing inequalities. So that I can: determine the steps to solve absolute value inequalities. I ll know

More information

Lecture 3: Big-O and Big-Θ

Lecture 3: Big-O and Big-Θ Lecture 3: Big-O and Big-Θ COSC4: Algorithms and Data Structures Brendan McCane Department of Computer Science, University of Otago Landmark functions We saw that the amount of work done by Insertion Sort,

More information

CSE 20 DISCRETE MATH WINTER

CSE 20 DISCRETE MATH WINTER CSE 20 DISCRETE MATH WINTER 2016 http://cseweb.ucsd.edu/classes/wi16/cse20-ab/ Today's learning goals Explain the steps in a proof by (strong) mathematical induction Use (strong) mathematical induction

More information

Lesson 12: Absolute Value Inequalities

Lesson 12: Absolute Value Inequalities Warm-Up Exercise 1. Use the number lines below to graph each inequality. A. x < 4 B. x > 1 C. 2 + x < 5 Exploratory Exercise Next, we ll combine two ideas inequalities and absolute value. 2. For each inequality

More information

1 Closest Pair of Points on the Plane

1 Closest Pair of Points on the Plane CS 31: Algorithms (Spring 2019): Lecture 5 Date: 4th April, 2019 Topic: Divide and Conquer 3: Closest Pair of Points on a Plane Disclaimer: These notes have not gone through scrutiny and in all probability

More information

MA008/MIIZ01 Design and Analysis of Algorithms Lecture Notes 3

MA008/MIIZ01 Design and Analysis of Algorithms Lecture Notes 3 MA008 p.1/37 MA008/MIIZ01 Design and Analysis of Algorithms Lecture Notes 3 Dr. Markus Hagenbuchner markus@uow.edu.au. MA008 p.2/37 Exercise 1 (from LN 2) Asymptotic Notation When constants appear in exponents

More information

CHAPTER 4 SOME METHODS OF PROOF

CHAPTER 4 SOME METHODS OF PROOF CHAPTER 4 SOME METHODS OF PROOF In all sciences, general theories usually arise from a number of observations. In the experimental sciences, the validity of the theories can only be tested by carefully

More information

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 CS 70 Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 Modular Arithmetic In several settings, such as error-correcting codes and cryptography, we sometimes wish to work over a

More information

Adam Blank Spring 2017 CSE 311. Foundations of Computing I. * All slides are a combined effort between previous instructors of the course

Adam Blank Spring 2017 CSE 311. Foundations of Computing I. * All slides are a combined effort between previous instructors of the course Adam Blank Spring 2017 CSE 311 Foundations of Computing I * All slides are a combined effort between previous instructors of the course HW 3 De-Brief HW 3 De-Brief PROOFS! HW 3 De-Brief Proofs This is

More information

Every positive two digit number is greater than the product of it s digits. Asks class is it true? can you find a counter-example etc.

Every positive two digit number is greater than the product of it s digits. Asks class is it true? can you find a counter-example etc. Aim Activity Reasoning and Proof Introducing Proof Proof by Deduction Understand and use the structure of mathematical proof, proceeding from given assumptions through a series of logical steps to a conclusion;

More information

16. . Proceeding similarly, we get a 2 = 52 1 = , a 3 = 53 1 = and a 4 = 54 1 = 125

16. . Proceeding similarly, we get a 2 = 52 1 = , a 3 = 53 1 = and a 4 = 54 1 = 125 . Sequences When we first introduced a function as a special type of relation in Section.3, we did not put any restrictions on the domain of the function. All we said was that the set of x-coordinates

More information

Modular Arithmetic Instructor: Marizza Bailey Name:

Modular Arithmetic Instructor: Marizza Bailey Name: Modular Arithmetic Instructor: Marizza Bailey Name: 1. Introduction to Modular Arithmetic If someone asks you what day it is 145 days from now, what would you answer? Would you count 145 days, or find

More information

Unit 6 Study Guide: Equations. Section 6-1: One-Step Equations with Adding & Subtracting

Unit 6 Study Guide: Equations. Section 6-1: One-Step Equations with Adding & Subtracting Unit 6 Study Guide: Equations DUE DATE: A Day: Dec 18 th B Day: Dec 19 th Name Period Score / Section 6-1: One-Step Equations with Adding & Subtracting Textbook Reference: Page 437 Vocabulary: Equation

More information

VECTORS. Given two vectors! and! we can express the law of vector addition geometrically. + = Fig. 1 Geometrical definition of vector addition

VECTORS. Given two vectors! and! we can express the law of vector addition geometrically. + = Fig. 1 Geometrical definition of vector addition VECTORS Vectors in 2- D and 3- D in Euclidean space or flatland are easy compared to vectors in non- Euclidean space. In Cartesian coordinates we write a component of a vector as where the index i stands

More information

CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy

CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy August 25, 2017 A group of residents each needs a residency in some hospital. A group of hospitals each need some number (one

More information

Homework 1 Submission

Homework 1 Submission Homework Submission Sample Solution; Due Date: Thursday, May 4, :59 pm Directions: Your solutions should be typed and submitted as a single pdf on Gradescope by the due date. L A TEX is preferred but not

More information

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4 Do the following exercises from the text: Chapter (Section 3):, 1, 17(a)-(b), 3 Prove that 1 3 + 3 + + n 3 n (n + 1) for all n N Proof The proof is by induction on n For n N, let S(n) be the statement

More information

5 + 9(10) + 3(100) + 0(1000) + 2(10000) =

5 + 9(10) + 3(100) + 0(1000) + 2(10000) = Chapter 5 Analyzing Algorithms So far we have been proving statements about databases, mathematics and arithmetic, or sequences of numbers. Though these types of statements are common in computer science,

More information

Shift-Reduce parser E + (E + (E) E [a-z] In each stage, we shift a symbol from the input to the stack, or reduce according to one of the rules.

Shift-Reduce parser E + (E + (E) E [a-z] In each stage, we shift a symbol from the input to the stack, or reduce according to one of the rules. Bottom-up Parsing Bottom-up Parsing Until now we started with the starting nonterminal S and tried to derive the input from it. In a way, this isn t the natural thing to do. It s much more logical to start

More information

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 3

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 3 EECS 70 Discrete Mathematics and Probability Theory Spring 014 Anant Sahai Note 3 Induction Induction is an extremely powerful tool in mathematics. It is a way of proving propositions that hold for all

More information

The Fibonacci Quilt Sequence

The Fibonacci Quilt Sequence The Sequence Minerva Catral, Pari Ford*, Pamela Harris, Steven J. Miller, Dawn Nelson AMS Section Meeting Georgetown University March 7, 2015 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 Fibonacci sequence Theorem (

More information

Discrete Structures Lecture Sequences and Summations

Discrete Structures Lecture Sequences and Summations Introduction Good morning. In this section we study sequences. A sequence is an ordered list of elements. Sequences are important to computing because of the iterative nature of computer programs. The

More information

Lecture 3. Big-O notation, more recurrences!!

Lecture 3. Big-O notation, more recurrences!! Lecture 3 Big-O notation, more recurrences!! Announcements! HW1 is posted! (Due Friday) See Piazza for a list of HW clarifications First recitation section was this morning, there s another tomorrow (same

More information

Unit Combinatorics State pigeonhole principle. If k pigeons are assigned to n pigeonholes and n < k then there is at least one pigeonhole containing more than one pigeons. Find the recurrence relation

More information

Lecture 4: Best, Worst, and Average Case Complexity. Wednesday, 30 Sept 2009

Lecture 4: Best, Worst, and Average Case Complexity. Wednesday, 30 Sept 2009 @? @? @? @? @? @? @? @? @? @ 8 7 8 7 8 7 8 7 8 7 8 7 8 7 8 7 8 7 8 7 0 0 0 0 0 0 0 0 0 0 ' ' ' ' ' ' ' ' ' ' Lecture 4: Best, Worst, and Average Case Complexity CS204/209 : Algorithms (and Scientific Computing)

More information

Notes on floating point number, numerical computations and pitfalls

Notes on floating point number, numerical computations and pitfalls Notes on floating point number, numerical computations and pitfalls November 6, 212 1 Floating point numbers An n-digit floating point number in base β has the form x = ±(.d 1 d 2 d n ) β β e where.d 1

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

CSCI2244-Randomness and Computation First Exam with Solutions

CSCI2244-Randomness and Computation First Exam with Solutions CSCI2244-Randomness and Computation First Exam with Solutions March 1, 2018 Each part of each problem is worth 5 points. There are actually two parts to Problem 2, since you are asked to compute two probabilities.

More information

Discrete Structures for Computer Science

Discrete Structures for Computer Science Discrete Structures for Computer Science William Garrison bill@cs.pitt.edu 6311 Sennott Square Lecture #10: Sequences and Summations Based on materials developed by Dr. Adam Lee Today s Topics Sequences

More information

Generating Uniform Random Numbers

Generating Uniform Random Numbers 1 / 41 Generating Uniform Random Numbers Christos Alexopoulos and Dave Goldsman Georgia Institute of Technology, Atlanta, GA, USA 10/13/16 2 / 41 Outline 1 Introduction 2 Some Lousy Generators We Won t

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2018 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2018 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

CS173 Running Time and Big-O. Tandy Warnow

CS173 Running Time and Big-O. Tandy Warnow CS173 Running Time and Big-O Tandy Warnow CS 173 Running Times and Big-O analysis Tandy Warnow Today s material We will cover: Running time analysis Review of running time analysis of Bubblesort Review

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2019 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

MATH Dr. Halimah Alshehri Dr. Halimah Alshehri

MATH Dr. Halimah Alshehri Dr. Halimah Alshehri MATH 1101 haalshehri@ksu.edu.sa 1 Introduction To Number Systems First Section: Binary System Second Section: Octal Number System Third Section: Hexadecimal System 2 Binary System 3 Binary System The binary

More information