算法简介

时间:2013-03-01 13:52:08

标签: algorithm

阅读本书算法简介(CLRS)如何帮助我?如何学习这门课程与理论计算机科学的其他领域有关?(我的意思是直觉和见解,如果我能得到的话)。

我对这个概念不熟悉。我对我在课程中学习的排序算法感到厌倦。我希望在学习课程时有更广阔的视野。如果我对我有帮助,你可以给我一个关于事情如何发展的结构。谢谢你提前! :)

2 个答案:

答案 0 :(得分:4)

算法是理论知识在计算机科学中的实际应用;他们是计算机科学工程方面最理论的部分,可以这么说。如果没有算法研究,软件中的任何人都会成为业余爱好者 - 因为计算在没有效率的情况下是无用的 - 或者不会产生太多任何东西,因为他必须始终专注于解决问题而不是实际编写实现众所周知,可以解决问题。

从教学的角度来看,算法是将理论知识升华为精确表达。您可以了解图形遍历是什么以及应该如何紧密连接组件;如果你试图给这些想法一个简洁的形式,最好的方法就是写下一个能做你想做的算法。

在正式层面,它们帮助我们理解我们所处理的概念;当我们声称某些问题可以在这个或那个复杂性中解决时,我们需要一个算法来证明它。例如,如果您在一般情况下读到排序在O(n log n)中,那么您可以继续相信您的教授;也许你甚至有直觉为什么那可能是真的。但要真正证明这一点,你需要一种解决排序的算法,然后在一般情况下证明它在O(n log n)中运行。因此,在理论层面,算法可以帮助我们根据问题的复杂性对问题进行分类(阅读:"难度")。

答案 1 :(得分:1)

我不确定这个问题是否有特定答案,而且这是一个正确的问题,但它仍然是一个有用的问题。除了相信那些花费了大量时间的人们指导人们学习他们将在余生中使用的技能(你的教授)之外,我一直把算法设计看作是学习如何更清晰地思考的一种方式。这是我相信每个人都可以学习的东西。

另外,当我还是学生时,有很多次我对被要求学习的东西感到沮丧(认为这是浪费)。事实上,我发现所有这些都非常有用并经常使用。回想一下,我希望我给我的一些教授更多的信任,就像我在学校时所做的那样。