binary search merge sort mesh generation recursion · answer: repeated halving to find the page...
TRANSCRIPT
![Page 1: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/1.jpg)
24. Divide and Conquer Algorithms
Binary SearchMerge SortMesh GenerationRecursion
![Page 2: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/2.jpg)
QuestionThe Manhattenphone book has1,000,000+ entries.
How is it possible to locate a nameby examining just atiny , tiny fractionof those entries?
![Page 3: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/3.jpg)
Answer: Repeated HalvingTo find the page containing Derek Jeter’snumber…
while (Phone book is longer than 1 page)
Open to the middle page.
if “Jeter” comes before the first name,
Rip and throw away the 2nd half.
else
Rip and throw away the 1st half.
end
end
![Page 4: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/4.jpg)
What Happens toPhone Book Length…
Original: 3000 pages
After 1 rip: 1500 pages
After 2 rips: 750 pages
After 3 rips: 375 pages
After 4 rips: 188 pages
After 5 rips: 94 pages
After 12 rips: 1 page
![Page 5: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/5.jpg)
Binary SearchThe idea of repeatedly halving the size of the “search space” is the main idea behind the method of binary search.
An item in a sorted array of length ncan be located with just log2 n comparisons.
![Page 6: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/6.jpg)
Problem
Search a Sorted ArrayFor a Given Value
(We assume that the array has no repeated elements.)
![Page 7: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/7.jpg)
12 15 3533 42 45 51 7362 75 86 98
Binary Search: a = 70
x:
L:
Mid:
R:
1
6
12
1 2 3 4 5 6 7 8 9 10 11 12
x(Mid) <= a
So throw away theleft half…
![Page 8: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/8.jpg)
12 15 3533 42 45 51 7362 75 86 98
Binary Search: a = 70
x:
L:
Mid:
R:
6
9
12
1 2 3 4 5 6 7 8 9 10 11 12
a < x(Mid)
So throw away theright half…
![Page 9: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/9.jpg)
12 15 3533 42 45 51 7362 75 86 98
Binary Search: a = 70
x:
L:
Mid:
R:
6
7
9
1 2 3 4 5 6 7 8 9 10 11 12
x(Mid) <= a
So throw away theleft half…
![Page 10: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/10.jpg)
12 15 3533 42 45 51 7362 75 86 98
Binary Search: a = 70
x:
L:
Mid:
R:
7
8
9
1 2 3 4 5 6 7 8 9 10 11 12
x(Mid) <= a
So throw away theleft half…
![Page 11: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/11.jpg)
12 15 3533 42 45 51 7362 75 86 98
Binary Search: a = 70
x:
L:
Mid:
R:
8
8
9
1 2 3 4 5 6 7 8 9 10 11 12
Done becauseR-L = 1
![Page 12: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/12.jpg)
function L = BinarySearch(a,x)% x is a row n-vector with x(1) < ... < x(n)% x(1) <= a <= x(n)
% x(L) <= a <= x(L+1)
L = 1; R = length(x);% x(L) <= a <= x(R)
while R-L > 1mid = floor((L+R)/2);
% Note that mid does not equal L or R.if a < x(mid)
% x(L) <= a <= x(mid)R = mid;
else% x(mid) <= a <== x(R)
L = mid;end
end
![Page 13: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/13.jpg)
Next Problem
Sort the values in an array so that they are arranged from smallest t o biggest.
Chosen Method: Merge Sort
This technique is an excellent example of a divide and conquer procedure.
![Page 14: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/14.jpg)
Motivation
A plan if you have two “helpers”:
Split the array and have each helper sort his/her half.
Merge the two sorted subarrays.
And what if those two helpers each had two sub-helpers? Etc
![Page 15: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/15.jpg)
Subdivide the Sorting Task
J NR CP DF LA QB KM GH E
A QB KM GH E J NR CP DF L
![Page 16: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/16.jpg)
Subdivide Again
A QB KM GH E J NR CP DF L
M GH E A QB K P DF L J NR C
![Page 17: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/17.jpg)
And Again
M GH E A QB K P DF L J NR C
M GH E A QB K P DF L J NR C
![Page 18: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/18.jpg)
And One Last Time
J NR CP DF LA QB KM GH E
![Page 19: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/19.jpg)
Now Merge
G ME H A QB K D PF L J NC R
J NR CP DF LA QB KM GH E
![Page 20: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/20.jpg)
And Merge Again
H ME G K QA B L PD F N RC J
G ME H A QB K D PF L J NC R
![Page 21: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/21.jpg)
And Again
M QH KE GA B P RL NF JC D
H ME G K QA B L PD F N RC J
![Page 22: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/22.jpg)
And One Last Time
M QH KE GA B P RL NF JC D
E FC DA B J KG H N PL M Q R
![Page 23: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/23.jpg)
Done!
E FC DA B J KG H N PL M Q R
![Page 24: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/24.jpg)
function y = MergeSort(x)% x is a column n-vector.% y is a column n-vector consisting% of the values in x sorted% from smallest to largest.
n = length(x);if n==1
y = x;else
m = floor(n/2);y1 = MergeSort(x(1:m));y2 = MergeSort(x(m+1:n));y = Merge(y1,y2);
end
![Page 25: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/25.jpg)
Important Sub-Problem
Merging Two Sorted ArraysInto a
Single Sorted Array
![Page 26: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/26.jpg)
Example
12 33 4535
15 42 6555 75
12 15 3533 42 45 55 7565
![Page 27: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/27.jpg)
12 33 4535
15 42 6555 75
x:
y:
z:
1
1
1
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 28: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/28.jpg)
12 33 4535
15 42 6555 75
12
x:
y:
z:
1
1
1
ix:
iy:
iz:
Merge
x(ix) <= y(iy) yes
![Page 29: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/29.jpg)
12 33 4535
15 42 6555 75
12
x:
y:
z:
2
1
2
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 30: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/30.jpg)
12 33 4535
15 42 6555 75
12 15
x:
y:
z:
2
1
2
ix:
iy:
iz:
Merge
x(ix) <= y(iy) no
![Page 31: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/31.jpg)
12 33 4535
15 42 6555 75
12 15
x:
y:
z:
2
2
3
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 32: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/32.jpg)
12 33 4535
15 42 6555 75
12 15 33
x:
y:
z:
2
2
3
ix:
iy:
iz:
Merge
x(ix) <= y(iy) yes
![Page 33: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/33.jpg)
12 33 4535
15 42 6555 75
12 15 33
x:
y:
z:
3
2
4
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 34: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/34.jpg)
12 33 4535
15 42 6555 75
12 15 3533
x:
y:
z:
3
2
4
ix:
iy:
iz:
Merge
x(ix) <= y(iy) yes
![Page 35: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/35.jpg)
12 33 4535
15 42 6555 75
12 15 3533
x:
y:
z:
4
2
5
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 36: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/36.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42
x:
y:
z:
4
2
5
ix:
iy:
iz:
Merge
x(ix) <= y(iy) no
![Page 37: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/37.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42
x:
y:
z:
4
3
5
ix:
iy:
iz:
Merge
x(ix) <= y(iy) ???
![Page 38: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/38.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45
x:
y:
z:
4
3
5
ix:
iy:
iz:
Merge
x(ix) <= y(iy) yes
![Page 39: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/39.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45
x:
y:
z:
5
3
6
ix:
iy:
iz:
Merge
ix > 4
![Page 40: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/40.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45 55
x:
y:
z:
5
3
6
ix:
iy:
iz:
Merge
ix > 4
![Page 41: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/41.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45 55
x:
y:
z:
5
4
8
ix:
iy:
iz:
Merge
ix > 4
![Page 42: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/42.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45 55 65
x:
y:
z:
5
4
8
ix:
iy:
iz:
Merge
ix > 4
![Page 43: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/43.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45 55 65
x:
y:
z:
5
5
9
ix:
iy:
iz:
Merge
ix > 4
![Page 44: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/44.jpg)
12 33 4535
15 42 6555 75
12 15 3533 42 45 55 7565
x:
y:
z:
5
5
9
ix:
iy:
iz:
Merge
ix > 4
![Page 45: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/45.jpg)
function z = Merge(x,y)n = length(x); m = length(y); z = zeros(1,n+m);ix = 1; iy = 1;for iz=1:(n+m)
if ix > n z(iz) = y(iy); iy = iy+1;
elseif iy>mz(iz) = x(ix); ix = ix + 1;
elseif x(ix) <= y(iy)z(iz) = x(ix); ix = ix + 1;
elsez(iz) = y(iy);iy = iy + 1;
endend
![Page 46: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/46.jpg)
New Problem
Recursive Mesh Generation
![Page 47: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/47.jpg)
Divide and ConquerMethods Also Show Upin Geometric Situations
Chop a Regionup into triangleswith smnallertriangles in “areas of interest”.
![Page 48: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/48.jpg)
Mesh Generation
Step One in simulating flow around an airfoil is to generate a mesh and (say) estimate velocity at each mesh point.
AnAreaOf
Interest
![Page 49: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/49.jpg)
Mesh Generation in 3D
![Page 50: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/50.jpg)
Why is Mesh Generationa Divide & Conquer Process?
Let Us Draw this Graphic:
![Page 51: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/51.jpg)
The Basic Operation
if the triangle is big enough
Connect the midpoints.
Color the interior triangle mauve.
else
Color the whole triangle yellow.
end
![Page 52: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/52.jpg)
At the Start…
![Page 53: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/53.jpg)
Recur On this Idea
Apply sameidea to lower left triangle
![Page 54: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/54.jpg)
Recur Again
![Page 55: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/55.jpg)
Recursion And Again
![Page 56: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/56.jpg)
![Page 57: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/57.jpg)
Now, Climb Your Way Out.
![Page 58: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/58.jpg)
Etc
![Page 59: Binary Search Merge Sort Mesh Generation Recursion · Answer: Repeated Halving To find the page containing Derek Jeter’s number… while (Phone book is longer than 1 page) Open](https://reader036.vdocuments.mx/reader036/viewer/2022062603/5f03b8937e708231d40a718e/html5/thumbnails/59.jpg)
function DrawTriangle(x,y,level)if level ==5fill(x,y,'y')
else% Draw the triangle...
plot([x x(1)],[y y(1)],'k')% Determine the midpoints...
a = [(x(1)+x(2))/2 (x(2)+x(3))/2 (x(3)+x(1))/2];b = [(y(1)+y(2))/2 (y(2)+y(3))/2 (y(3)+y(1))/2];
% Color the interior triangle...pausefill(a,b,'m')pause
% Apply the process to the three "corner" triangles...DrawTriangle([x(1) a(1) a(3)],[y(1) b(1) b(3)],level+1)DrawTriangle([x(2) a(2) a(1)],[y(2) b(2) b(1)],level+1)DrawTriangle([x(3) a(3) a(2)],[y(3) b(3) b(2)],level+1)
end