什么是学习C语言算法的最佳场所或链接?在看问题时如何知道何时何地使用算法实现?
如果想要实现常用算法的合理(虽然远非完美)C语言书籍,可以尝试Sedgewick的 Algorithms in C。请注意,对于任何技术主题,纸质书籍可能会比网络资源更加优秀。
至于如何知道何时使用特定算法,恐怕这取决于经验。
对于算法方面的文本,Cormen、Leiserson和Rivest的'算法导论'是一个不错的起点。伪代码实现很容易转换为C语言。两个网络资源提供了许多有关算法和示例实现的文档链接:
话说回来:我在私人使用中主要编写了许多C语言的一次性程序,而这本书C: A reference Manual对于我来说既是帮助我摆脱一些糟糕的编码习惯的好工具,又是一本极佳的C语言参考书。这让我想起我应该去购买一本。
维基百科算法列表也是非常方便的参考资料。
如果你想更深入地了解编程,可以看看《计算机程序设计艺术》(维基百科参考)。
最好在已经提到多个答案中的Robert Sedgewick书籍之后阅读。
在编程中,我们需要经验来确定使用哪种算法解决特定问题。明确目标是有帮助的。速度、内存、健壮性、解决方案质量等因素都会影响我们选择使用哪些算法。在不同的因素和场景下,我们可以为同一个问题设计出不同的解决方案。