hw2-sol - Homework 2 Solutions February 21, 2010 Problem 1a...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Homework 2 Solutions February 21, 2010 Problem 1a (3 points) Precondition: N > 1 is a natural number. A is an array of N elements. Each element is either red or blue. Postcondition: A contains the same number of red and blue elements, and all the red elements come before all blue elements. Problem 1b (4 points) Denote by i k and j k the values of i and j after the k th iteration. The loop invariant is 1. If j k > 1, then A [1 ...j k - 1] contains only red elements 2. If i k > j k , then A [ j k ...i k - 1] contains only blue elements. We prove this by induction. The base case is the first iteration, or k = 1. In the case that A [1] is red, then i 1 = 2 and j 1 = 2, so to prove the LI we just need to show that A [1] is red. The swap operation does not affect the array since i 0 = j 0 . Therefore, the value of A [1] does not change and remains red. In the case that A [1] is blue, then i 1 = 2 and j 1 = 1, so to prove the LI we need to show that A [1] is blue. Since the if condition fails, A is not affected and A [1] remains blue. For the general case, we will show that the loop invariants holds after k + 1 iterations. First consider the case that A [ i k ] = red . The only changes to A in iteration k + 1 are that the values of A [ i k ] and A [ j
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 3

hw2-sol - Homework 2 Solutions February 21, 2010 Problem 1a...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online