View
214
Download
0
Category
Tags:
Preview:
Citation preview
Mathematical Induction II
Lecture 21
Section 4.3
Mon, Feb 27, 2006
Example: Binary Search Trees
In a complete binary search tree of depth n - 1, (n rows) what is the average number of comparisons required to locate an element? (Assuming all positions are equally likely.)
Analysis Elements in row 1 require 1 comparison. Elements in row 2 require 2 comparisons. Elements in row 3 require 3 comparisons. In general, elements in row k require k
comparisons.
Example: Binary Search Trees
Further analysis Row 1 contains 1 element. Row 2 contains 2 elements. Row 3 contains 4 elements. In general, row k contains 2k - 1 elements.
Fact The average number of comparisons is the total
number of comparisons required for all elements divided by the number of elements.
Example: Binary Search Trees
The total number of elements is
1 + 2 + 4 + 8 + … + 2n – 1. The total number of comparisons is
11 + 22 + 34 + 48 + … + n2n – 1. Therefore, the average is
1
1
2421
2432211
n
nn
Example: Binary Search Trees
Prove by mathematical induction that
1 + 2 + 4 + 8 + … + 2n – 1 = 2n – 1. Prove by mathematical induction that
11 + 22 + 34 + 48 + … + n2n – 1
= (n – 1)2n + 1. Then, the average is
This is approximately equal to n – 1 (for large n).
12
12)1(
n
nn
Binary Search Trees
In reality, it often requires two comparisons at each node.Is the value less than the node?If not, is the value greater than the node?If not, then the value equals the node.
In other words, we must make a three-way decision at each node.
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
221
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
221
1 23
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
221
1 2
4
3
5
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
221
11 2 2
4
3
5
4
Binary Search Trees
So, exactly how many comparisons does it take to locate an element?
40
20
70503010
60
221
11 2 2
4
3
655
4
Binary Search Trees
It takes an average of 1.5 comparisons to move down one level.
Then it takes 2 comparisons to match a value at that level.
Level 1: 2 comparisons. Level 2: 1.5 + 2 = 3.5 comparisons. Level 3: 2(1.5) + 2 = 5 comparisons. Level n: (n – 1)(1.5) + 2 = 1.5n + 0.5.
Binary Search Trees
To find the average, we must compute
12 + 2(3.5) + 45 + … + 2n – 1(1.5n + 0.5). We could work this our from scratch… Or use what we have already worked out:
.1215.1
125.01215.1
25.025.15.05.121
1
1 1
11
n
nn
n
k
kn
k
n
k
kk
n
n
kk
Binary Search Trees
Therefore, the average is
For large n, this is approximately 1.5n – 1.
.
12
1215.1
n
nn
Binary Search Trees
What if we changed the order in which we did the comparisons at each node?Is the value equal to the node?If not, is the value less than the node?If not, then the value is greater than the
node. Will that be more or less efficient than the
previous order?
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
122
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
122
2 23
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
122
2 2
5
3
5
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
122
22 2 2
5
3
5
3
Binary Search Trees
Exactly how many comparisons does it take to locate an element?
40
20
70503010
60
122
22 2 2
5
3
555
3
Binary Search Trees
To find the average, we must compute
11 + 23 + 45 + … + 2n – 1(2n – 1). Again, we can use what we have already
worked out:
.3232
121212
2221221
1
1
1
1
1
n
nn
n
k
kn
k
kn
k
k
n
n
kk
Binary Search Trees
Therefore, the average is
For large n, this is approximately 2n – 3. This is larger (worse) than 1.5n – 1. Therefore, it is better not to check for
equality first when searching a binary tree.
.
12
3232
n
nn
Example: Recursive Sequences
Define a sequence a1 = 2, an = 2an – 1 – 1 for n 2.
Find a non-recursive formula for an and prove that it is correct.
Analysis{an} = {2, 3, 5, 9, 17, 33, …}.{an – 1} = {1, 2, 4, 8, 16, 32, …}.Conjecture that an = 2n – 1 + 1.
Example: Recursive Sequences
Proof: Basic Step
P(1) is true since a1 = 2 = 20 + 1.
Inductive StepSuppose that ak = 2k – 1 + 1 for some k 1.
Example: Recursive Sequences
Then ak + 1 = 2ak – 1 (by def.)
= 2(2k – 1 + 1) – 1 (by ind. hyp.)
= 2k + 2 – 1
= 2k + 1.Therefore, P(k + 1) is true.
Therefore, an = 2n + 1 for all n 1.
Example: Contest Problem
Let n be a positive integer. Suppose we have n red dots and n blue
dots in the plane such that no three dots are collinear.
Prove that it is possible to connect the red dots to the blue dots in distinct pairs such that none of the line segments intersect.
Example: Contest Problem
Example: Contest Problem
Example: Contest Problem
Proof: Basic Step
P(1) is obviously true since there is only one pair of dots and only one segment.
Example: Contest Problem
Proof: Basic Step
P(1) is obviously true since there is only one pair of dots and only one segment.
Example: Contest Problem
Inductive StepSuppose P(1), …, P(k) are true for some k
1.Now suppose we have a collection of k + 1
red dots and k + 1 blue dots.Consider the convex hull of this set.
Example: Contest Problem
There are two possibilities. Case 1: The dots on the convex hull are not all
the same color. Case 2: The dots on the convex hull are all the
same color.
Example: Contest Problem
There are two possibilities. Case 1: The dots on the convex hull are not all
the same color. Case 2: The dots on the convex hull are all the
same color.
Example: Contest Problem
Case 1: Suppose they are not all the same color.Choose two adjacent dots of different
colors on the convex hull and connect them with a segment.
Example: Contest Problem
Example: Contest Problem
Example: Contest Problem
Example: Contest Problem
By induction, the remaining collection of k red dots and k blue dots may be connected so that no two segments intersect.
Nor will any of those segments intersect the first segment because it is on the convex hull and no three dots are collinear.
Therefore, the entire set of dots may be connected with non-intersecting segments.
Example: Contest Problem
Example: Contest Problem
Example: Contest Problem
Case 2: Suppose they are all the same color, say red.Choose a line that is not parallel to any
segment connecting any two dots.Move the line across the set of dots, from
right to left.Keep count of the number of red dots and
the number of blue dots to the right of the line.
Example: Contest Problem
0 red dots, so far (r = 0). 0 blue dot, so far (b = 0).
Example: Contest Problem
1 red dots, so far (r = 1). 0 blue dot, so far (b = 0).
Example: Contest Problem
1 red dots, so far (r = 1). 1 blue dot, so far (b = 1).
Example: Contest Problem
2 red dots, so far (r = 2). 1 blue dot, so far (b = 1).
Example: Contest Problem
3 red dots, so far (r = 3). 1 blue dot, so far (b = 1).
Example: Contest Problem
Initially, r – b = 0. At the end, r – b = 0. Just after passing the first dot, r – b = 1. Just before passing the last dot, r – b = –1. The line meets only one dot at a time. Therefore, somewhere in between, r – b
must be 0.
Example: Contest Problem
3 red dots (r = 3). 1 blue dot (b = 1). r – b = 2.
Example: Contest Problem
3 red dots (r = 3). 2 blue dot (b = 2). r – b = 1.
Example: Contest Problem
3 red dots (r = 3). 3 blue dot (b = 3). r – b = 0.
Example: Contest Problem
Apply the induction hypothesis.The dots on the right may be connected
with non-intersecting segments.The dots on the left may be connected with
non-intersecting segments.Therefore, the entire set of dots may be
connected with non-intersecting segments.
Example: Contest Problem
Therefore, P(n) is true for all n 1.
Example: Contest Problem
Therefore, P(n) is true for all n 1.
Example: Contest Problem
Therefore, P(n) is true for all n 1.
Recommended