1 / 32

Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices

Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices. Algorithm : specifying a sequence of steps used to solve a problem. Computational complexity of an algorithm : what are the computer resources needed to use this algorithm to solve a problem of a specified size?

nhu
Télécharger la présentation

Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices • Algorithm: specifying a sequence of steps used to solve a problem. • Computational complexity of an algorithm: what are the computer resources needed to use this algorithm to solve a problem of a specified size? • Integers:properties of integers, division of integers, algorithms involving integers. • Matrices: basic material about matrices, matrix arithmetic.

  2. 2.1 Algorithms Example 1 Describe an algorithm for finding the maximum (largest) value in a finite sequence of integers. Instead of using a particular computer language, we use a form of pseudocode. Definition 1. An algorithm is a finite sequence of precise instructions for performing a computation or for solving a problem. • Solution • Set the temporary maximum equal to the first integer in the sequence. • Compare the next integer in the sequence to the temporary maximum, and set the larger one to be temporary maximum. • Repeat the previous step if there are more integers in the sequence. • Stop when there are no integers left in the sequence. The temporary maximum at this point is the maximum in the sequence.

  3. The properties of algorithms: • Input • Output • Definiteness • Correctness • Finiteness • Effectiveness • Generality

  4. Example 2 Describe an algorithm for finding an element x in a list of distinct elements

  5. 2.2 Complexity of Algorithms Assume that both algorithms A and B solve the problem P. Which one is better? • Time complexity: the time required to solve a problem of a specified size. • Space complexity: the computer memory required to solve a problem of a specified size. The time complexity is expressed in terms of the number of operations used by the algorithm. • Worst case analysis: the largest number of operations needed to solve the given problem using this algorithm. • Average case analysis: the average number of operations used to solve the problem over all inputs.

  6. Example 3 Analyze the time complexities of Algorithm 1 and 2 1 1 n 2(n-1) 3n-1 2(n+1) n 2 3n+5 Number of operations

  7. 1 1 1 1 2 2 Number of operations = 4 log n+4 2

  8. For finding x in a list of n elements, we have two algorithms Which use Which one is better? • A constant factor does not influence the running time so much. • Therefore, 3n+5 grows faster than when n becomes larger. Usually, we say that 3n+5 is O(n) and say that is O( ).

  9. Running time for a problem with size Orders of Growth Using silicon computer, no matter how fast CPU will be you can never solve the problem whose running time is exponential !!!

  10. Definition 2.1 A function f(n) is said to be O(g(n)) if there exist some constant N Asymptotic Notations: O-notation

  11. Example 5 List the following function in O-notation in increasing order: Example 3 Prove 2n+1=O(n)

  12. a is a factor of b b is a multiple of a Example 1 Determine whether 3|7 and whether 3|12. Solution: It follows that 3|7 and 3|12. 2.2 The Integers and Division • We discuss the properties of integers which belongs to • the branch of Mathematics called number theory.

  13. Basic properties of divisibility of integers • Theorem 1. Let a, b, and c be integers. Then • If a|b and a|c, then a|(b+c). • If a|b, then a|bc for all integers c. • If a|b and b|c, then a|c. Proof • There are s and t such that b=as and c=at. Therefore, b+c=a(s+t). • There is s such that b=as. Therefore, bc=a(sc) • There are s and t such that b=as and c=bt, therefore, c=a(st)

  14. Example 2. Is 7 a prime? Definition 2. A positive integer p greater than 1 is called prime if the only positive factors of p are 1 and p. A positive integer that is greater than 1 and is not prime is called composite. • The primes less than 100 are 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 and 97. Theorem 2. Every positive integer can be written uniquely as the uniquely as the product of primes in order of increasing size.

  15. remainder quotient dividend divisor Example 4 What are the quotient and remainder when 101 is divided by 11? Solution: We have remainder quotient

  16. Example 5 What is gcd(24,36) and gcd(17,22)? Definition 3. Let a and b be integers. The largest integer d such that d|a and d|b is called the greatest common divisor of a and b, denoted by gcd(a,b). Definition 4. The integers a and b are relatively prime if gcd(a,b)=1. Definition 5. The least common multiple of the positive integers a and b is the smallest positive integer that is divisible by both a and b, denoted by lcm(a,b).

  17. Example 7 17 mod 5 = 2, -133 mod 9=2, and 2001 mod 101 = 82. Definition 6. Let a be an integer and m be a positive integer. We denoted by a modm the remainder when a is divided by m.

  18. 2.4 Integers and Algorithms • The Euclidean Algorithm: Find the greatest common divisor of two positive integers Lemma 1 Let a=bq+r, where a,b,q, and r are integers. Then gcd(a,b)=gcd(b,r).

  19. Example 1 Find the greatest common divisor of 414 and 662 using the Euclidean Algorithm. Solution: Hence, gcd(414,662)=2, since 2 is the last nonzero remainder.

  20. Representation of integers

  21. Example 5 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 • Algorithm for integer operations Addition of a and b

  22. Multiplication of a and b a 1 1 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 b a shifts 0 place a shifts 1 place a shifts 3 places

  23. i row i row j column j column 2.6 Matrices

  24. Algorithms for matrix multiplication

  25. Transposes and powers of matrices

  26. Zero-One Matrices A matrix with entries that are either 0 or 1 is called a zero-one matrix.

  27. . .

More Related