mathematical background 1
DESCRIPTION
Mathematical Background 1. CSE 373 Data Structures. Basic Discrete Math Concepts. Sets Cardinality Relations Cartesian Products Functions Properties of Functions. Sets. A set is a collection of distinct objects. (An object is some identifiable person, place, thing, or idea). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/1.jpg)
Mathematical Background 1
CSE 373Data Structures
![Page 2: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/2.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 2
Basic Discrete Math Concepts
SetsCardinalityRelationsCartesian ProductsFunctionsProperties of Functions
![Page 3: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/3.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 3
Sets
A set is a collection of distinct objects.(An object is some identifiable person, place, thing, or idea).
The objects are usually represented by symbols.
The set consisting of Jupiter and Saturn:{Jupiter, Saturn}
![Page 4: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/4.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 4
Sets (Continued)The set consisting of the first 5 primes:{ 2, 3, 5, 7, 11}
The set consisting of all strings made up of only a and b.{ “”, “a”, “b”, “aa”, “ab”, “ba”, “bb”, . . . }
(or, without the use of quotes...){ λ, a, b, aa, ab, ba, bb, . . . }
![Page 5: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/5.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 5
Sets (continued)
The objects that make up a set are called its elements or members.
If an object e is an elements of a set S, then we write e S
The empty set { } contains zero elements.
A set may contain other sets as members:
{ {a}, {b}, {a, b} } contains three (top-level) elements.
{ { } } contains one element.
![Page 6: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/6.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 6
Cardinality
A set may be finite or infinite.
The cardinality of a finite set is the number of (top-level) elements it contains.
Card( { a, b, c } ) = 3
We sometimes use vertical bars:
| { a, b, c } | = 3
![Page 7: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/7.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 7
Binary Relations
Suppose S is a set. Let a S and b S.Then (a, b) is an ordered pair of elements of S.The set of all ordered pairs over S is:{ (x, y) | x S, y S }= the set of all ordered pairs (x, y) such that x is in S and y is in S.
Any set of ordered pairs over S is called a binary relation on S.
![Page 8: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/8.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 8
Binary Relations (cont)Examples:
Let S = { a, b, c }
B1 = { (a, b), (c, b), (c, c) } is a binary relation on S.
B2 = { (a, a), (b, b), (c, c) } is a binary relation on S. It happens to be reflexive.
B3 = { } is a binary relation on S.
It happens to be empty.
![Page 9: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/9.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 9
Binary Relations (reflexivity)A binary relation on S is reflexive provided that for every element in S, the pair of that element with itself is a pair in S.
S = { a, b, c }
R4 = { (a, a), (a, b), (b, b), (b, c), (c, c) } is reflexive.
R5 = { (a, a), (a, b), (b, b) } is not reflexive, because c S but (c, c) R5.
![Page 10: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/10.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 10
Binary Relations (symmetry)A binary relation R on S is symmetric provided that any pair that occurs in R also occurs “reversed” in R.
S = { a, b, c }
R6 = { (a, b), (b, a), (c, c) } is symmetric.
{ } is symmetric.
R7 = { (a, b), (b, b), (c, c) } is not symmetric, because (a, b) R7 but (b, a) R7.
![Page 11: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/11.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 11
Binary Relations (transitivity)A binary relation B on S is transitive provided that whenever there is a two-element “chain” in B there is also the corresponding “shortcut” in B.
B is transitive iff
(x S, y S, z S)
(x, y) B and (y, z) B (x, z) B)
R8 = { (a, b), (a, c), (b, c), (c, c) } is transitive.
R9 = { (a, b), (b, a)} is not transitive, because (a, b) and (b, a) form a chain, but (a, a), the shortcut, is not present.
![Page 12: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/12.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 12
Equivalence RelationsA binary relation B on S is an equivalence relation provided that it is reflexive (on S), symmetric, and transitive.
R10 = { (a, a), (a, b), (b, a), (b, b), (c, c) } is an equivalence relation.
R9 = { (a, a), (a, b), (b, b), (b, c), (c, c)} is not an equivalence relation; although it is reflexive on {a, b, c}, it is not symmetric, and it is not transitive.
When we study the UNION-FIND abstract data type, we will use equivalence relations.
![Page 13: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/13.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 13
Binary Relations (antisymmetry)
A binary relation R on S is antisymmetric provided that any time we have, for some x and y, (x,y) R and (y,x) R, then x = y.
For example, the relation on the set of real numbers is antisymmetric, because any time we have x y and y x, it must be true that x = y.
R11 = { (a, b), (a, c), (c, c) } is antisymmetric, since the only way we could have x y and y x would be if x and y were both equal to c.
{ } is antisymmetric, since there are no violations of the antisymmetry condition.
![Page 14: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/14.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 14
Induced RelationsFacts can be used to construct or “induce” a relation on an appropriate set of objects.
Example: people have birthdays. This can be used to induce a relation R on the set of people P where (p1, p2) are in R iff p1 was born before p2. We can then talk about the properties of R.
A different relation on the same set would be S, where (p1, p2) are in S iff p1 and p2 were born on the same day.
![Page 15: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/15.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 15
Cartesian Products
Let S1 and S2 be sets.Then the Cartesian product S1 X S2 is the set of all ordered pairs in which the first element is a member of S1 and the second element is a member of S2.
Example:Let A = { a, b, c }, Let B = { 1, 2 } then
A X B = { (a, 1), (a, 2), (b, 1), (b, 2), (c, 1), (c, 2) }
![Page 16: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/16.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 16
Cartesian Products (n-way)
The n-way Cartesian product S1 X S2 X ... X Sn is the set of all ordered n-tuples in which the ith element is an element of Si.
S1 X S2 X ... X Sn = { (s1, s2, ..., sn ) | s1S1, s2S2, ..., s2S2 }
![Page 17: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/17.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 17
Cartesian Products: Non-associativity
The Cartesian product operation (binary or n-way) is not associative.
S1 X (S2 X S3 ) (S1 X S2) X S3
This is clear because the elements of the two sets have different structures:(a, (b, c)) ((a, b), c)
![Page 18: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/18.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 18
Functions
Let S1 and S2 be sets.
Let f be a subset of S1 X S2.
(f is a binary relation on S1 and S2)
If for each x in S1 there is precisely one y in S2 such that (x, y) f, then f is a function from S1 to S2. We also say f is a function on S1.
S1 is called the domain of f and S2 is called the range of f.
![Page 19: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/19.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 19
Functions (Examples)Let S1 = { a, b, c} and S2 = { 1, 2}.Let f1 = { (a, 1), (b, 1), (c, 2) }f1 is a function on S1.
Let f2 = { (a, 1), (b, 1), (b, 2), (c, 1) }f2 is not a function. Let f3 = { (a, 1), (b, 2)}f3 is not a function on S1.But it is a partial function on S1.It’s actually a function on { a, b }.
![Page 20: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/20.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 20
Properties of Functions
Let f be a function from S1 to S2.If every element of S2 appears as the second element of some ordered pair in f, then f is said to be “onto”. (It’s also said to be a surjection.)
With S1 = { a, b, c} and S2 = { 1, 2}.and f1 = { (a, 1), (b, 1), (c, 2) },f1 is onto.
Let f4 = { (a, 1), (b, 1), (c, 1) } with the same domain and range. f4 is not onto.
![Page 21: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/21.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 21
Properties of Functions (cont)Let f be a function from S1 to S2.If no two elements of S1 are paired with the same element of S2 then f is said to be “one-to-one”. (It’s also said to be a injection.)
With S1 = { a, b, c} and S2 = { 1, 2}.and f1 = { (a, 1), (b, 1), (c, 2) }, f1 is not one-to-one, since a and b are both paired with 1.
Let f5 = { (a, 1), (b, 2)} with domain { a, b}. f5 is one-to-one.
![Page 22: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/22.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 22
Properties of FunctionsLet S1 = { a, b, c} and S2 = { 1, 2}.Let f1 = { (a, 1), (b, 1), (c, 2) }f1 is a function on S1.
Let f2 = { (a, 1), (b, 1), (b, 2), (c, 1) }f2 is not a function. Let f3 = { (a, 1), (b, 2)}f3 is not a function on S1.But it is a partial function on S1.It’s actually a function on { a, b }.
![Page 23: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/23.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 23
Abstract Data Types
• Motivation• Abstract Data Types• Example• Using math. functions to describe an ADT's operations.
![Page 24: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/24.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 24
Motivation for ADTs
To organize some data, we need to say what general form it has, and what we expect to do with it.
Object-oriented programming provides one way of organizing data: using classes, with their data members and methods.
It is often helpful to specify our data without having to choose the particular data structure yet.
![Page 25: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/25.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 25
Abstract Data Type (Def.)An abstract data type consists of two parts:
a description of the general form of some data.a set of methods.
The data is usually a set of elements, but may also include relationships among the elements.
{ 2, 3, 5, 7, 11}[2 < 3, 3 < 5, 5 < 7, 7 < 11, etc.]
![Page 26: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/26.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 26
ADT Methods
Each method in an ADT names and specifies an operation. The operation can be described by a function. Normally, an instance of the ADT data is one of the arguments to the function.
Examples of methods:INSERT(x)MEMBER(x)SMALLEST( )CREATE( ) --- A "constructor" does not use an instance of the ADT, but creates one.
![Page 27: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/27.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 27
Example ADT: Stack of Integers
Data: (Ordered) list of integers.
Methods: CREATE, PUSH, POP, TOP, DESTROY
![Page 28: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/28.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 28
Using Math. Functions to Describe ADT Methods
Why? Math. can be used to give a concise and unambiguous description of a method.
What? 1. gives a clear indication of input & output. 2. clarifies how the data changes and what is returned by the operation.
![Page 29: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/29.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 29
Math. Description of Methods: Domain and Range of the Method's function
Example: the POP operation on a stack can be described by a mathematical function:
fPOP: stacks elements stacksstacks = the set of all possible stacks (according to this ADT).elements = the set of all acceptable elements in our stacks (e.g., integers). Because the operation produces an element and it causes a change to the stack, the range of fPOP is a cartesian product.
![Page 30: Mathematical Background 1](https://reader035.vdocuments.net/reader035/viewer/2022062814/56816851550346895dde5ac9/html5/thumbnails/30.jpg)
April 22, 2023 CSE 373 AU 04- Math Background 1 30
The Function's EffectNow we describe how the function changes the stack and produces a value.
fPOP : [e0,e1,...,en-1] | ( en-1, [e0,e1,...,en-2] )
The symbol " | " means "maps to". On its left side is a description of a generic domain element. On its right side is a description of the corresponding range element.
This formula indicates that the POP operation takes an n-element stack, returns the last element, and removes it from the stack.