Survey							
                            
		                
		                * Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Trees Lecture 54 Section 11.5 Fri, Apr 28, 2006 Trees A graph is circuit-free (or acyclic) if it has no nontrivial circuits.  A tree is a connected circuit-free graph.  Examples of Trees A directory structure on a hard drive is a tree structure.  Binary search tree.  Expression tree.  Huffman tree for data compression.  Parse tree in a compiler.  Directory Trees My Documents My Music My Pictures My Homework Math 262 Coms 262 Binary Search Trees 50 30 10 75 40 85 Expression Trees *  + 10 15 25 Huffman Trees Consider the message ATTACK AT DAWN  Count the frequencies of the letters.  A–4 T–3 C–1 D–1  K–1 N–1 W–1  Huffman Trees 12 7 4 A 5 3 T 3 2 2 1 W 1 1 C D 1 K 1 N Huffman Trees 0 0 A 1 1 0 0 T 0 C 1 D 1 1 0 1 W K N Huffman Trees  Encoding scheme: A = 00  T = 01  C = 1000  D = 1001  K = 110  N = 111  W = 101  Huffman Trees  Encoding of the message ATTACK AT DAWN: 0001010010001100001100100101111.  A total of 31 bits.  ASCII would require 96 bits (12 chars).  Compression ratio = 31/96 < 1/3.  Parse Trees Consider the program statement if (x > 0) y = 1  The statement includes the following “terminals.”  Keyword if  Parentheses ( and )  Relative operators > and =  Variables x and y  Numbers 0 and 1  Parse Trees  Parsing the statement uses the following “grammar” rules. stmt if ( rel-expr ) stmt  stmt  expr ;  expr  var = expr  expr  num  rel-expr  expr rel-op expr  rel-op  >  Parse Trees stmt if ( rel-expr expr rel-op expr var > num var 0 y x stmt ) expr ; = expr num 1 Tree Characteristics Theorem: A tree must have at least one vertex of degree 1.  Proof:  Suppose not.  Then each edge has degree at least 2.  Using the idea in the proof for Euler circuits, if we pursue a walk, we will hit a dead-end only at a previously visited vertex.  Proof This contradicts the property that trees are circuit free.  Therefore, there must exist a vertex of degree 1.  Tree Characteristics Theorem: If a tree has n vertices, then it has exactly n – 1 edges.  Proof by induction.  Base case: n = 1.   The tree has 1 vertex and 0 edges, so the statement is true when n = 1. Proof  Inductive case: Suppose the statement is true when n = k for some integer k  1.  Let T be a tree with k + 1 vertices.  Let v be a vertex of T of degree 1.  Create a new graph T by removing v and its one incident edge.  Then T is a tree with k vertices.  Proof By the induction hypothesis, T has k – 1 edges.  Therefore, T has k edges.   Therefore, the statement is true for all n  1. Tree Characteristics  Theorem: Let G be a graph with n vertices. If G has any two of the following three properties, then it has all three properties and G is a tree. G is circuit free.  G is connected.  G has n – 1 edges.  Rooted Binary Trees A binary tree is rooted if it has one node designated the root.  The other nodes are arranged in levels, depending on their distance from the root.  Level 0 – The root.  Level 1 – Nodes adjacent to the root.  Level n – Nodes adjacent to level n – 1 nodes (but not the level n – 2 nodes).  Counting Rooted Binary Trees How many rooted binary trees are there with n vertices?  The tree must have 1 root vertex.  That leaves n – 1 vertices for the left and right subtrees.  Counting Rooted Binary Trees  They can be divvied up in n ways: 0 on left, n – 1 on right.  1 on left, n – 2 on right.  2 on left. n – 3 on right. :  n – 1 on left, 0 on right.  Counting Rooted Binary Trees  In each case, the number of such binary trees is the number of left subtrees of size k times the number of right subtrees of size n – k – 1. Counting Rooted Binary Trees Let Cn be the number of binary trees of size n.  Then  C0  1 (by definition ) n 1 Cn   Ck Cn  k 1 , for all n  1. k 0 Counting Rooted Binary Trees The first five terms are 1, 2, 5, 14, 41.  The 6th term is 141 + 214 + 55 + 142 + 411 = 163.  Is there a non-recursive formula?  The Catalan Numbers These numbers turn out to be the Catalan numbers.  The non-recursive formula is   2n    n  Cn  n 1 Restricted Walks  How many walks are there from A to B, by going only east and north? B N A Counting Unrooted Trees How many non-isomorphic unrooted trees are there with n vertices?  n = 5: