关于在代码中实现算法的一些指示

时间:2009-04-28 23:28:34

标签: algorithm

前几天我以为我会尝试在我的代码中创建Fibonacci算法,但我从未擅长数学。

我最后用循环编写自己的方法,但它看起来效率低或不是'正确的方法'。

有没有人有关于在代码中实现算法的任何建议/阅读材料?

5 个答案:

答案 0 :(得分:4)

我发现Project Euler对这类事情很有用。它迫使您考虑算法然后实现它。然后,许多问题就如何解决问题(从天真的解决方案到一些非常巧妙的解决方案)进行了广泛的讨论,你可以用它们来看看你做对了什么。

在讨论主题中,您也可以找到来自不同语言的其他人的各种实现。自己提出解决方案然后将其与其他人的解决方案进行比较是(imho)学习的好方法。

答案 1 :(得分:1)

这两本介绍性书籍都有关于此类事情的良好信息: How To Design Programs以及更多Structure and Interpretation of Computer Programs

两者都有点功能(和方案),但这很适合这些问题。

最重要的是,您可能会从Project Euler

中获得相当多的收益

答案 2 :(得分:1)

继续浏览youtube并查看有关算法简介的一些讲座。有一些非常非常好的讲座可以分解一些最常见的算法,比如Fibonacci系列以及如何优化它们。

开始阅读有关O符号的内容,这样您就可以了解算法如何通过可变大小输入增长,以及如何对算法的运行时间进行分类。

从这个视频系列开始,我找到了关于这个主题的优秀材料:

Algorithms Lecture

答案 3 :(得分:1)

导出您的算法测试驱动。通过使用TDD,我能够比以前更正确地编写更复杂的算法。

答案 4 :(得分:0)

如果你不能将斐波纳契函数的伪代码翻译成你的语言,那么你应该去找一个基本的语言教程,因为你似乎还没有掌握它的基本习语。

如果您有一个可行的解决方案,但对此感到不安全,请将其显示给其他人进行审核。