• What do you think? Even with these glasses on, I can see no hands up, any suggestions? Somebody help me out.

    戴着眼镜我也能看出来没人举手,有想法么?大家来帮帮我吧,你们对这个算法的增长率是怎么认为的?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • So I'm going to solve this by enumerate and check, which is an example of what's called a brute-force algorithm.

    你懂的,所以我得靠列举和检验来解决这个问题,这就是我们说的穷举算法

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • It's 33, 32, it's only 32 times and you can check that math at home but here lies the power of algorithmic thinking, of computational thinking as they say.

    你需要33,32,对,32次,你也可以在家里自己计算,但数学算法的力量是无穷的,这就是科学家们所谓的计算机思维。

    哈佛公开课 - 计算机科学课程节选

  • Therefore, for simple branching programs, the length of time, the complexity the code, is what we would call constant.

    因此,对于简单的分支程序,运行的时间长度,算法的复杂度,也就是我们说的常数。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • Cut the problem in half. Cut the problem in half again. And that's a typical characterization of a log algorithm.

    是每次除以特定的量,将问题减一半,再减一半,如此,这就是对数算法的典型特性。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • And the obvious question I could start with is, and suppose I ask you, how long does the algorithm implemented by this program take to run?

    我开始这个话题的第一个问题是,假设我问你,由这个算法实现的程序大概,要运行多久才能给出答案?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • Now, as obvious a statement as that is in this algorithm, it turns out that is the key to this whole problem being solved correctly without my algorithm looping infinitely.

    这是此算法中很明显的一句话,也是正确解决,整个问题的关键,否则此算法就会陷入死循环。

    哈佛公开课 - 计算机科学课程节选

  • And I'll remind you, we saw a set of algorithms and part of my goal was to get you to begin to recognize characteristics of algorithms that map into a particular class.

    我要提醒你们的是,我们看了很多算法,我的目标之一是让你们开始,意识到算法们的特性,并且能够一一映射到特定的分类中。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • So, the curious thing about recursion is that pretty much always can you implement this idea of doing the same thing again and again and again but with smaller bytes each time.

    可见,递归算法中新奇的一点是,为了实现一个想法,你可以一遍又一遍地做相同的事情,但每次的规模都会有所减小。

    哈佛公开课 - 计算机科学课程节选

  • One of the things we want to help you do is identify the different classes of algorithms, what their costs are, and how you can map problems into the most efficient class to do the computation.

    我们想要教会你们的事情之一就是,学会辨别不同种类的算法,它们的代价是怎么样的,以及怎么样把问题映射到,最有效的算法种类中去做计算。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • Now you might say, wait a minute. Thing's ordered, if I stop part way through and I throw away half the list, doesn't that help me? And the answer is yes, but it doesn't change the complexity.

    如果我在半路上停下来,然后不去遍历剩下的数组了,这会有帮助么?答案是有帮助,但这没法改变算法的复杂度,因为我们之前怎么说来着?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • OK. Binary search is perhaps the simplest of the divide and conquer algorithms, and what does that mean? It says, in order to solve a problem, cut it down to a smaller problem and try and solve that one.

    好了,二分搜索也许是,最简单的分治算法,这意味着什么?,也就是说,为了解决一个问题,把它切割成小的问题,然后再来一个个解决。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • And the reason for the scale is -- that as we saw last week the idea of these algorithms-- I broke the scale already.

    之所以要用到它,是因为上周我们讨论的这些算法思想-,我把天平弄坏了。

    哈佛公开课 - 计算机科学课程节选

  • Where those pieces, I would do the same thing with, I would divide them up into smaller chunks, and sort those. Is that going to give me a more efficient algorithm?

    合并起来,而那些小列表,我又会把他们拆成更小的列表,再排序,这会给我,一个更高效的算法么?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • Linear algorithms tend to be things where, at one pass-through, you reduce the problem by a constant amount by one. If you reduce it by two, 1 it's going to be the same thing.

    有问题么?,线性复杂度的算法,当进行了一个,常量级步数的操作的时候,将问题的规模缩小了一个。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • It's an example of a very common tool that's going to be really useful to us, not just for doing search, but for doing a whole range of problems. That is, in essence, the template the describes a log style algorithm.

    不仅仅是做搜索,还可以解决一整类问题,本质上,这个模板就描述了,对数形的算法,我们一会再回来。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • And we haven't seen all of these sorts, but it's actually quite neat to recognize how different the underlying work is of each of these algorithms.

    我们还没有探讨所有的排序算法,但应该很容易区分,每一种算法其内在的,不同之处。

    哈佛公开课 - 计算机科学课程节选

  • This is a very important concept, and we'll see a lot of algorithms essentially implement decision trees.

    这是一个很重要的概念,我们可以看到很多,基于决策树的算法

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • We'll see later on, there are classes of computation that are inherently much more complex. We hate them, because they're costly, but they're sometimes inherently that way.

    我们会稍后详细的讲讲这个,有许多内在更加复杂的种类的算法,我们痛恨它们,因为它们很耗时。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • The algorithm doesn't know that it's going to take this long to compute, it's just busy crunching away, trying to see if it can make it happen.

    这很可能会发生,但是你知道的,算法本身并不知道,计算这个问题需要多长的时间,它就一直忙碌的算啊算。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • So things that are good candidates for divide And conquer are problems where it's easy to figure out how to divide down, and the combination is of little complexity.

    因为适合用分治算法解决的问题,最好是能够简单的将问题进行分解,并且合并的过程不是非常的复杂,只要比线性方案要小。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • OK. At this point, if we stop, you'll think all algorithms are linear. This is really boring.

    可能我们就认为所有的解决这个问题的,算法都是线性增长的了,真很没意思,但是他们真不是对不对?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • and we like log algorithms, because they're really fast. A typical characteristic of a log algorithm is a pro-- or sorry, an algorithm where it reduces the size of the problem by a constant factor.

    并且我们也很喜欢对数算法,因为它很快,对数算法的典型特性是高速,哦,抱歉,是他能以常数因子的速度,降低问题的大小,很明显。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • What have we done over the last three or four lectures? We've started introducing you to classes of algorithms. Things that I'd like you to be able to see are how to do some simple complexity analysis.

    我们在过去三节或四节课中讲了什么?,我开始向你们,介绍算法的类型,我想你们知道的是,如何做一些简单的复杂度分析。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • I'm going to set up an index, which is going to tell me where to look, starting at the first part of the list, right?

    索引告诉我从哪里开始检索数组,对不对?,然后我会去记录下我做了多少次比较,这样我就能看到这个算法的工作量了?

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • And so ease of implementation is actually a very compelling -- metric against which to measure-- -- do you mind toning my voice down a bit-- is a very reasonable measure against which to measure the quality of an algorithm, right.

    如此简单的实现实际上是一个很牵强的,度量,与之相对的衡量是-,如果你们不介意,我降低点音量-,是一种用来度量算法质量的,合理的方法。

    哈佛公开课 - 计算机科学课程节选

  • And yeah, I know it comes built in, that's OK, what we want to do is use it as an example to look at it.

    对,我知道这个方法可以通过内置的算法,来实现,这没关系,我们只是,把它当做一个例子来讲解。

    麻省理工公开课 - 计算机科学及编程导论课程节选

  • This is really the guts of the algorithm 'cause this line here, someone pointed it out before.

    这才是算法的核心,因为在这儿,之前已经有人指出过。

    哈佛公开课 - 计算机科学课程节选

  • I ask you for the running time of this algorithm and you give me the running time in terms of the running time, right.

    我需要得到此算法的时间复杂度,那就明确地给出其,运行时间。

    哈佛公开课 - 计算机科学课程节选

  • Right. Those things are going to stack up, and eventually it's going to run out of space.

    不用占用其他空间的算法,对,这些东西在运行的过程中会累积起来。

    麻省理工公开课 - 计算机科学及编程导论课程节选

$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定