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

## Presentation on theme: "Chapter 2 The Fundamentals: Algorithms, the Integers, and Matrices"— Presentation transcript:

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.1 Algorithms Definition 1. An algorithm is a finite sequence of precise instructions for performing a computation or for solving a problem. Example Describe an algorithm for finding the maximum (largest) value in a finite sequence of integers. 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. Instead of using a particular computer language, we use a form of pseudocode.

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

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

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.

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

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

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

Running time for a problem with size Time necessary operations
Orders of Growth Running time for a problem with size Running Time necessary operations Operation Per second instant 1 second 11.5 days Never end days Instant Using silicon computer, no matter how fast CPU will be you can never solve the problem whose running time is exponential !!!

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

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

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

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)

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. Example 2. Is 7 a prime? 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.

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

Definition 3. Let a and b be integers
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). Example 5 What is gcd(24,36) and gcd(17,22)? 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).

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

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

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.

Representation of integers

Algorithm for integer operations
Addition of a and b Example 5

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

2.6 Matrices j column i row i row j column

Algorithms for matrix multiplication

Transposes and powers of matrices

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

. .