ee 360c lec01

28
EE 360C - ALGORITHMS Lecture 1 Nur A. Touba University of Texas at Austin

Upload: asdfasdfasdf

Post on 04-Jan-2016

226 views

Category:

Documents


0 download

DESCRIPTION

Algorithms, Set Definitions, University of Texas at Austin, Electrical and Computer Engineering, EE 360C

TRANSCRIPT

Page 1: EE 360C Lec01

EE 360C - ALGORITHMS

Lecture 1

Nur A. Touba

University of Texas at Austin

Page 2: EE 360C Lec01

SET DEFINITIONS

Set – Collection of distinguishable objects

Called members or elements

x element of set S: x S

x not element of set S: x S

Two sets equal (i.e., A = B) if

Contain exactly same elements

Special sets:

- set with no elements

Z - set of integer elements

R - set of real number elements

N - set of natural number elements

Page 3: EE 360C Lec01

SET OPERATORS

Subset

if x A implies x B, then A B

Proper Subset

if A B and A B then A B

Intersection

A B = {x : x A and x B}

Union

A B = {x : x A or x B}

Difference

A – B = {x : x A and x B}

Page 4: EE 360C Lec01

RELATIONS DEFINTIONS

Binary Relation R on Sets A and B

Subset of Cartesian Product A B

If (a,b) R, sometimes written as a R b

Reflexive

R A A reflexive if a R a for all a A

Symmetric

R symmetric if a R b implies b R a

Transitive

R transitive if a R b and b R c imply a R c

Antisymmetric

R antisymmetric if a R b and b R a imply a = b

Page 5: EE 360C Lec01

EQUIVALENCE RELATION

Equivalence Relation

Relation that is reflexive, symmetric, and transitive

Equivalence Class

If R equivalence relation on set A then

• for a A, equivalence class of a is set

[a] = {b A : a R b}

Page 6: EE 360C Lec01

EXAMPLE

Consider R = {(a,b) : a,b N and a + b is even number}

Is it reflexive?

Is it symmetric?

Is it transitive?

Page 7: EE 360C Lec01

PARTIAL ORDER

Partial Order

Relation that is reflexive, antisymmetric, and

transitive

Total Order

Partial Order on A where

• for all a,b A, either a R b or b R a hold

Page 8: EE 360C Lec01

FUNCTION DEFINITIONS

Function f

Binary Relation on A B where

• for a A, there exists exactly one b B such

that (a,b) F

Set A is Domain of f (a is argument to function)

Set B is Co-domain of f (b is value of function)

Function often written as

• f : A B

• if (a,b) F, b = f(a)

Function assigns element of B to each element of A

• No a assigned to two different b

• Same b can be assigned to two different a

Page 9: EE 360C Lec01

SEQUENCE

Sequence – ordered set

Finite Sequence

Function whose domain is {0, 1, …, n-1}

• Often written as f(0), f(1), …, f(n-1)

Infinite Sequence

Function whose domain is N, set of natural numbers

When Domain of f is Cartesian Product, A=A1A2…An

Often write f(a1,a2,…,an) instead of f((a1,a2,…,an))

Each ai called argument of f

• Even though argument really n-tuple (a1,a2,…,an)

Page 10: EE 360C Lec01

FUNCTION DEFINITIONS

Image

If f : A B is function and b = f(a)

• b called image of a under f

Range of f

Image of its domain (i.e., f(A))

Surjection (aka Mapping A onto B)

Function whose range is its co-domain

• f(n) = n/2 – surjective function from N to N

• f(n) = 2n – not surjective function from N to N

–surjective function from N to even numbers

Page 11: EE 360C Lec01

FUNCTION DEFINITIONS

Injection (aka one-to-one function)

Distinct arguments to f produce distinct values

• a a’ implies f(a) f(a’)

f(n) = n/2 – not injective function

f(n) = 2n – injective function

Bijection (aka one-to-one correspondence)

Function that is both injective and surjective

Page 12: EE 360C Lec01

TYPES OF GRAPHS

Directed Graph (aka Digraph)

Pair (V,E) where V is finite set (“vertices”) and E

(“edges”) is subset of VV

Page 13: EE 360C Lec01

TYPES OF GRAPHS

Undirected Graph

Pair (V,E) where V is finite set (“vertices”) and E

(“edges”) is unordered pair (u,v) where u v

Page 14: EE 360C Lec01

PROPERTIES OF EDGES

Edge (u,v) in Diagraph

Incident from or leaves u

Incident to or enters v

v adjacent to u

Edge (u,v) in Undirected Graph

Incident to both u and v

u and v adjacent

Page 15: EE 360C Lec01

PROPERTIES OF EDGES

Degree of Vertex in Undirected Graph

Number of edges incident to it

Same as number of adjacent vertices

In-degree of Vertex in Digraph

Number of edges entering it

Out-degree of Vertex in Digraph

Number of Edges leaving it

Page 16: EE 360C Lec01

PATHS IN GRAPHS

Path from Vertex u to Vertex v

Sequence of vertices v0, v1, …, vk

u = v0, v = vk, and (vi-1,vi) E

Path “contains” vertices v0, v1, …, vk

Length of Path

Number of edges in path

v is “reachable” from u if path from u to v

Simple Path

All Vertices Distinct

Page 17: EE 360C Lec01

PATHS IN GRAPHS

Subpath of Path P

Subset of edges in path P

Cycle in v0, v1, …, vk

In Digraph

• v0 = vk and k 1

• Simple Cycle if all vertices distinct

In Undirected Graph

• v0 = vk and k 3 and all vertices distinct

Acyclic Graph

No cycles

Page 18: EE 360C Lec01

CONNECTIVITY IN GRAPH

Connected Undirected Graph

Each pair of vertices connected by path

Connected Components

Equivalence Class of vertices under “Is Reachable

From” Relation

Strongly Connected Components of Digraph

Equivalence Class of vertices under “are mutually

reachable” relation

Strongly Connected Directed Graph

Every two vertices reachable from one another

Exactly one strongly connected component

Page 19: EE 360C Lec01

GRAPH ISOMORPHISM

G = (V,E) Isomorphic to G’ = (V’,E’)

If exists one-to-one function f : V V’ such that

(u,v) E if and only if (f(u),f(v)) E’

Conceptually G relabelled to get G’

Page 20: EE 360C Lec01

SUBGRAPHS AND TRANSFORMATIONS

Graph G’ = (V’,E’) is “Subgraph” of G = (V,E)

If V’ V and E’ E

Given V’ V, “Subgraph Induced by” V’ is

• G’ = (V’, (V’V’) E)

• or equivalently, E’ = {(u,v) E : u,v V’}

Directed Version of Undirected Graph G = (V,E)

G’ = (V,E’) where (u,v) E’ if and only if (u,v) E

Conceptually, two edges introduced for each

original edge

Page 21: EE 360C Lec01

SUBGRAPHS AND TRANSFORMATIONS

Undirected Version of Directed Graph G = (V,E)

G’ = (V,E’) where (u,v) E’ if and only if u v and

(u,v) E

Conceptually, directionality and self-loops removed

Page 22: EE 360C Lec01

SPECIAL GRAPHS

Complete Graph

Undirected graph with every pair of vertices

adjacent

Bipartite Graph

Undirected graph in which vertex set partitioned

into two sets V1 and V2 such that every edge of

form (x,y) where x V1 and y V2

Forest – Acyclic Undirected Graph

Tree – Connected, Acyclic Undirected Graph

Dag – Directed Acyclic Graph

Page 23: EE 360C Lec01

SPECIAL GRAPHS

Page 24: EE 360C Lec01

SPECIAL GRAPHS

Multigraph

Like undirected graph, but can have multiple edges

between vertices and self-loops

Hypergraph

Like undirected graph, but each hyperedge can

connect arbitrary number of vertices

Page 25: EE 360C Lec01

TREES

Theorem (Property of Trees)

Let G = (V,E) be undirected graph

Following are Equivalent Statements

• G is Tree

• Any Two Vertices of G Connected by Unique

Simple Path

• G is Connected, but if any edge removed from E,

resulting graph will not be connected

• G is Connected and |E| = |V| - 1

• G is Acyclic and |E| = |V| - 1

• G is Acyclic, but if any edge added to E,

resulting graph contains cycle

Page 26: EE 360C Lec01

ROOTED TREE Rooted Tree

Tree in which one vertex distinguished from others

Distinguished vertex called root

Vertex in rooted tree often called node

Let r by root of rooted tree

For any node x, unique path exists from r to x

Any node y on path from r to x is “ancestor” of x

If y is ancestor of x, then x is “descendant” of y

Every node is its own ancestor and descendant

Proper ancestor (or descendant)

• Ancestor (descendant) that is not node itself

Subtree rooted at x

• Tree induced by decendants of x

Page 27: EE 360C Lec01

ROOTED TREE

If last edge on path from r to x is (y,x)

y “parent” of x, and x “child” of y

Root is only node with no parent

Siblings – Two nodes with same parent

Leaf – Node with no children (aka external node)

Internal Node – Non-leaf node

Degree of x – Number of children of node x

Depth of x – Length of path from r to x

Height of Tree T – Largest depth of any node in T

Ordered Tree

Rooted Tree where Children at Each Node Ordered

Page 28: EE 360C Lec01

BINARY TREES

Binary Trees (Defined Recusively)

Structure defined on finite set of nodes that either

• Contain no nodes (“empty” or “null” or “NIL”)

• Composed of three disjoint sets of nodes

–Root node, left subtree, and right subtree

If left (right) subtree of binary tree non-empty

Root called left (right) child

Full Binary Tree

Each node either leaf or has degree 2