我一直难以找到最佳的解决方案,以解决访调员提出的数据结构和算法问题。我想知道你们如何解决这些问题。仅仅是练习解决各种问题以获得经验,还是你们有系统的方法来识别某些类型的问题?您能推荐对我有帮助的书吗?我已经阅读了CLRS的许多算法简介,而且我确定我可以刷新基本的CS概念。
我已经在识别问题类型方面有了一些常识。例如。如果我能够认识到问题的后续迭代的解决方案取决于过去的解决方案,并且最终源自已知的基本解决方案,那么我知道这是一个动态编程问题。也许我需要学习更多以进一步发展这种常识。
感谢阅读。
我不确定SO是否是解决此问题的最佳地点,但我建议您通过Gayle Laakmann McDowell进行“ Cracking the Coding Interview”。
关于算法的经典书籍是可以的,但是它们侧重于更基础和“学术”的东西。 CCI特别专注于解决面试问题。
我注意到并非所有算法教科书的结构都相同。它们似乎分为两种,一种似乎比另一种更好,因为它可以帮助读者识别针对特定问题使用的解决方案:
和
[第一种方式,将算法作为隔离方法进行讲授,以应用于某些随机数据集(“此处向您展示如何对其进行排序,此处向我们展示如何对其进行搜索”),而在第二种方式中,算法作为解决现实世界问题的工具而被教授(“这里,我们向您展示解决特定类型问题的各种技术”)。
[我发现第二本书对于帮助我识别在哪种情况下使用哪种算法以及长期保留信息更好。