Title: { 1
1(No Transcript)
2(No Transcript)
3(No Transcript)
4(No Transcript)
5(No Transcript)
6Example 1 11 50 6 8 1 Use Bubble Sort
(sort in increasing order After first pass -11
1 6 8 1 50 After Second Pass -11 1 6 -1
8 50 After Third Pass -11 1 -1 6 8
50 After Fourth Pass -11 -1 1 6 8
50 After Fifth Pass -11 -1 1 6 8
50 Done
7(No Transcript)
8Example 1 11 50 6 8 1 Use Insertion
Sort (sort in increasing order After first
pass -11 1 50 6 8 -1 After Second
Pass -11 1 50 6 8 -1 After Third
Pass --11 1 6 50 8 -1 After Fourth Pass -
11 1 6 8 50 -1 After Fifth Pass -11 -1
1 6 8 50 Done
9(No Transcript)
10Example 1 11 50 6 8 1 Use Selection
Sort (sort in increasing order After first pass
( -11 1 50 6 8 -1 After Second Pass -11
-1 50 6 8 1 ( -11 1 6 50 8 1, -11
1 1 50 8 6 After Third Pass --11 -1 1
50 8 6 After Fourth Pass - 11 -1 1 6 50
8 After Fifth Pass -11 -1 1 6 8 50 Done
11(No Transcript)
12(No Transcript)
13(No Transcript)
14An example of greedy algorithm Solution is in
steps and every step you pick the best solution
for that step.
15(No Transcript)
16(No Transcript)
17Compare your solution (using the greedy
algorithm) with the best solution (the one gives
you the fewest number of coins). Both will have
the same number of quarters .. ( of your
quarters gt of best solutions quarters). If
the inequality is strict, then of coins in the
best solution will be greater than yours . From
so the changes in dimes, nickels and pennies in
both solutions are the same (the remainder of the
change divided by 25c). So both solution will
have the same number of coins. Suppose now you
only use quarters, dims and pennies. Do you
think the greedy algorithm work? What is the
result of the greedy algorithm for 30c? Is this
the optimal solution? (The fewest coins)? Why?
18(No Transcript)
19Halting Problem
- Does there exist a procedure (algorithm or
program) that can tell a given program with a
given input will stop (halt) after a finite
number of steps. - A Fundamental and interesting (theoretical)
problem in computer science.
20(No Transcript)
21More Specifically Let H(P, Q) be the halting
program (it returns two values halt and loop
forever). Define a new program K, taking input
P(any program) K(P) K(P) will loop forever if
H(P, P) return halt K(P) will halt if H(P, P)
return loop forever Then, H(P, Q) does not
work for K. If H(K, K) return halt, by definition
K(K) will loop forever If H(K, K) return loop
forever, by definition K(K) will halt.