Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Published byModified over 6 years ago
Presentation on theme: "Graphs and Trees This handout: Trees Minimum Spanning Tree Problem."— Presentation transcript:
1 Graphs and TreesThis handout:TreesMinimum Spanning Tree Problem
2 Terminology of Graphs: Cycles, Connectivity and Trees A path that begins and ends at the same node is called a cycle.Example:Two nodes are connected if there is a path between them.A graph is connected if every pair of its nodes is connected.A graph is acyclic if it doesn’t have any cycle.A graph is called a tree if it is connected and acyclic.
3 Examples/Applications of Trees Family treeEvolutionary treePossibility treePrime number factorization treeSpanning tree of a telecom network(considered later in this handout)Hydrocarbon molecules
4 Properties of Trees Definition: Let T be a tree. If T has at least 3 nodes, thenA node of degree 1 in T is called a leaf (or a terminal node).A node of degree greater than 1 is called an internal node.Lemma: Every tree with more than one nodehas at least one leaf.Theorem: For any positive integer n,any tree with n nodes has n-1 edges.Proof by induction (blackboard).
5 Properties of Trees Lemma: If G is any connected graph, C is a cycle in G,and one of the edges of C is removed from G,then the graph that remains is still connected.Theorem: For any positive integer n,if G is a connected graph with n vertices and n-1 edges, then G is a tree.if G is an acyclic graph with n vertices and n-1 edges,then G is a tree.Proofs on blackboard.
6 Rooted TreesDefinition: A rooted tree is a tree in which one vertex is distinguished from the others and is called the root.The level of a vertex is the number of edges along the unique path between it and the root.The height of a rooted tree is the maximum level to any vertex of the tree.The children of a vertex v are those vertices that are adjacent to v and one level farther away from the root than v.When every vertex in a rooted tree has at most two children, the tree is called a binary tree.rabcd
7 Minimum Spanning Tree Problem Given: Graph G=(V, E), |V|=nCost function c: E R .Goal: Find a minimum-cost spanning tree for Vi.e., find a subset of arcs E* E whichconnects any two nodes of Vwith minimum possible cost.Example:Min. span. tree: G*=(V,E*)G=(V,E)234578234578ebcdaebcdaRed bold arcs are in E*
8 Algorithm for solving the Minimum Spanning Tree Problem Initialization: Select any node arbitrarily,connect to its nearest node.RepeatIdentify the unconnected nodewhich is closest to a connected nodeConnect these two nodesUntil all nodes are connectedNote: Ties for the closest node are broken arbitrarily.
9 The algorithm applied to our example Initialization: Select node a to start.Its closest node is node b. Connect nodes a and b.Iteration 1: There are two unconnected node closest to a connected node: nodes c and d(both are 3 units far from node b).Break the tie arbitrarily byconnecting node c to node b.234578ebcdaRed bold arcs are in E*;thin arcs represent potential links.234578ebcda
10 The algorithm applied to our example Iteration 2: The unconnected node closest to a connected node is node d (3 far from node b). Connect nodes b and d.Iteration 3: The only unconnected node left is node e. Its closest connected node is node c(distance between c and e is 4).Connect node e to node c.All nodes are connected. The boldarcs give a min. spanning tree.234578ebcda234578ebcda