from above_


And that's both the cursing and the bless of being a computer scientist. It's the curse
because, you can't fake it, right? And that's one of the reasons that many students
end up spending a lot of time in a course like 6.00. Because they know whether or
not their program works. When you write a proof in math, you can delude we into
thinking it's a solid proof, when it isn't. When you write an essay, you can delude
yourself into thinking it's brilliant, when it isn't. But here, you look at what it does,
and it either did what you thought it would do or didn't. And so that means you
sometimes have to work extra hard, but the blessing is, when it's done, you really
know you've done it. And you've got something useful. And that's because


So some examples of computational thinking. How difficult is this problem? That's
what we talked about when we talked about complexity. And we talked about, for
many problems, for all problems, there's an intrinsic difficulty of solving the problem
with the computation. Independent of how efficient your particular solution is. And
then the question is, how can I best solve it? Theoretical computer science has given
us precise meaning to these and related questions. Thinking recursively, another
good example. Where we take a seemingly difficult problem, and reformulate it into
one which we know how to solve. Very often, it's a smaller instance of the original
problem. And we say, gosh, this is hard to solve. But then we think, well suppose the
list only had two elements in it, would I know how to sort it? Yeah. Well, then we can
build up and say, therefore I can use that idea to sort a list of any size.

we use dynamic programming to actually do
this. So the key idea in our method depends upon dynamic programming.

What next? Well, many of you, almost all of you, have worked very hard this
semester. I hope you feel that you've got a return on your investment. Only you
know that. As I said earlier, take a look at the problem sets, and see whether you
think you've learned anything. I'd like you to remember after you leave this course,
that you've got a skill you can use to solve problems. And when you sit down, and
there's some issue that you don't know, just knock out a program to get your
answer. I do it all the time, and it's very useful.

原文地址:https://www.cnblogs.com/aprilapril/p/2369298.html