1 CSCI-2200 FOUNDATIONS OF COMPUTER SCIENCE Spring 2017 March 21, 2017
2 Logistics • Prof. Stacy Patterson sep@cs.rpi.edu, pattes3@rpi.edu • Office hours: Monday 2pm – 3:30pm (or by appointment) in Lally 301 • Homework 5 is due Friday, March 24 at 11:59pm. • Today: • Review of induction and strong induction (5.1-5.2) • Recursive Definitions and Structural Induction (5.3) • Trees
3 Principle of Mathematical Induction • To prove that P ( n ) is true for all positive integers ≥ b , we complete these steps: • Basis Step : Show that P ( b ) is true • Inductive Step : Show that P ( k ) → P ( k + 1 ) is true for all positive integers k ≥ b • P(k) is the inductive hypothesis .
4 Prove that a set with n elements has n(n-1)/2 subsets with exactly 2 elements.
5
6 Why Induction Works? P (1) ∀ k ( P ( k ) → P ( k + 1)) ∀ nP ( n ) ∴ • This is a valid argument.
7
8 Graphs • A graph G=(V,E) is a set of vertices V and a set of edges E. • We study “undirected graphs”. • A path between vertices i and j is a sequence of edges that connect i and j • A connected graph is a graph in which there is a path between every pair of vertices.
9 Trees • A tree is connected graph with no cycles. • Only a single path between any pair of vertices • A rooted tree is a special type of graph. It contains a distinguished vertex called the root .
10 Recursive Definition of a Rooted Tree • Recursive definition of a rooted tree: • Basis step: A single vertex r is a rooted tree. • Recursive step: Suppose that T 1 , T 2 , …, T m are disjoint rooted trees. Then the graph formed by starting with a root r, which is not in any of T 1 , … , T m , and adding an edge from the root of each T i to r is a rooted tree.
11 Recursive Definition of a Full Binary Tree • A full binary tree is a rooted tree in which each vertex has either 0 or 2 children. • Recursive definition : • Basis step: A single vertex r is a full binary tree • Recursive step : If T 1 and T 2 are full disjoint full binary trees, there is a full binary tree, denoted T 1 T 2, consisting of a root r with edges connecting to the roots of T 1 and T 2 .
12 Number of nodes in a Full Binary Tree • Recursive definition of FBT: • Basis step: A single vertex r is a full binary tree. • Recursive step : If T 1 and T 2 are disjoint full binary trees, there is a full binary tree, denoted T 1 T 2, consisting of a root r with edges connecting to the roots of T 1 and T 2 . • Recursive definition of number of vertices in a FBT:
13 Height of a Full Binary Tree • Recursive definition of FBT: • Basis step: A single vertex r is a full binary tree • Recursive step : If T 1 and T 2 are full disjoint full binary trees, there is a full binary tree, denoted T 1 T 2, consisting of a root r with edges connecting to the roots of T 1 and T 2 . • Theorem : If T is a full binary tree, then N(T) ≥ 2H(T) + 1
14 Structural Induction • We can use structural induction to prove results about recursively defined sets and structures. • A proof by structural induction has two parts: • Basis Step: Show the result holds for the structure(s) specified in the basis step of the recursive definition. • Recursive Step: Show that if the statement is true for each structure used to construct the new structure, then it is true for the new structure.
15 • Theorem : If T is a full binary tree, then N(T) ≥ 2H(T) + 1
16 • Theorem : If T is a full binary tree, then N(T) ≥ 2H(T) + 1
17 Good Problems to Review • Section 5.2: 3, 5, 7, 13, 25, 29 • Section 5.3: 23, 25
Recommend
More recommend