阅读本书算法简介(CLRS)对我有帮助吗?如何学习这门课程与理论计算机科学的其他领域相联系?(我的意思是说,如果有任何我可以得到的,我会提供见解和见解)。算法简介
我对这个概念很陌生。我对目前在课程中学到的排序算法感到厌倦。我想在学习课程时有更广泛的视野。这对我很有帮助,如果你能为我提供一个关于事情的结构。提前感谢! :)
阅读本书算法简介(CLRS)对我有帮助吗?如何学习这门课程与理论计算机科学的其他领域相联系?(我的意思是说,如果有任何我可以得到的,我会提供见解和见解)。算法简介
我对这个概念很陌生。我对目前在课程中学到的排序算法感到厌倦。我想在学习课程时有更广泛的视野。这对我很有帮助,如果你能为我提供一个关于事情的结构。提前感谢! :)
我不确定这个问题有一个具体的答案,这是正确的地方问它,但它仍然是一个有用的。除了相信那些花费大量生命来指导人们学习技能的人们(他们将在他们的余生(您的教授)中使用)之外,我一直将算法设计作为学习如何更清晰思考的一种方法。这是我相信每个人都可以学习的东西。另外,当我还是一名学生时,有很多次我对我被要求学习的东西感到沮丧(相信这是一种浪费)。几乎所有我发现它非常有用并且经常使用。回想起来,我希望我已经给了我的一些教授更多的学分,然后在上学的时候这样做了。
算法是理论知识在计算机科学中的实际应用;可以这么说,它们是计算机科学工程方面最理论化的部分。如果没有对算法的研究,软件中的任何人都可能是一个业余爱好者 - 因为没有效率的计算就毫无用处 - 或者不会产生太多的东西,因为他必须一直专注于解决问题,而不是实际编写已知的实现解决问题。
从教学的角度来看,算法是将理论知识升华为精确的表达。你可能会理解图遍历是什么以及应该如何强连接组件;如果你试图给这些想法提供一个简洁的形式,最好的办法是写下一个你想要的算法。
在正式的层面上,它们帮助我们理解我们应对的概念;当我们声称在这个或那个复杂性中可以解决某个问题时,我们需要一个算法来证明它。例如,如果您在一般情况下读到排序在O(n log n)中,则可以继续并相信您的教授;也许你甚至有直觉,为什么这可能是真的。但要真正证明它,你需要一个算法来解决排序问题,然后在一般情况下证明它在O(n log n)中运行。因此,在理论层面上,算法帮助我们根据问题的复杂性对问题进行分类(阅读:“难度”)。
你认为哪些“理论计算机科学的其他领域”不需要对算法分析有基本的了解? – mbeckish 2013-03-01 13:54:27
您好,欢迎您在理论上的CS stackexchange站点上找到这些问题的答案。 StackOverflow是基于您面临的实际问题的实用,可回答的问题。根据您面临的实际问题查看实用的,可回答的问题 – 2013-03-01 13:54:41