-4

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

我是这个概念的新手。我现在对我在课程中学习的排序算法感到厌烦。我想在学习课程时有更广阔的视野。如果你能提供的话,这对我很有帮助我有一个关于事情进展的结构。在此先感谢!:)

4

2 回答 2

4

算法是理论知识在计算机科学中的实际应用;可以说,它们是计算机科学工程方面最具理论性的部分。如果没有对算法的研究,软件中的任何人要么是业余爱好者——因为没有效率,计算是无用的——要么不会产生很多东西,因为他必须一直专注于解决问题,而不是实际编写已知的实现解决问题。

从教学的角度来看,算法是将理论知识升华为精确表达的过程。你可能会理解什么是图遍历,以及连接的组件应该收缩到什么程度;如果您尝试为这些想法提供简洁的形式,那么最好的方法是写下一个可以满足您需求的算法。

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

于 2013-03-01T14:43:58.537 回答
1

我不确定这个问题是否有具体的答案,并且这是问这个问题的正确地方,但它仍然是一个有用的问题。除了相信那些一生中大部分时间都在指导人们学习他们将在余生中使用的技能的人(你的教授),我一直将算法设计视为一种学习如何更清晰思考的方法. 这是我相信每个人都可以学习的。

另外,当我还是学生的时候,我有很多次对我被要求学习的东西感到沮丧(认为这是一种浪费)。我发现几乎所有这些都非常有用并且经常使用。回想起来,我希望我能给我的一些教授更多的荣誉,而不是我在学校时所做的。

于 2013-03-01T14:14:26.263 回答