也许你们中的一些人在这个论坛上不会发现这个问题不合适,但我真诚地需要一些指导。我最近一直致力于算法和数据结构,因为算法我一直在topcoder和codechef上练习解决问题,这对我理解算法很有帮助。但是大多数问题都集中在算法上,我仍然没有遇到很多问题,我必须关注哪个数据结构。因此,任何人都可以推荐一些网站或其他工具,专注于开发选择数据结构及其实现的正确直觉。
答案 0 :(得分:1)
第一步是实现不同的数据结构,以便您了解它们支持的操作。您还应该根据它们支持的操作及其复杂性制作一个表格。写一本关于算法和数据结构的书,并实现其中的所有数据结构并解决问题。
一旦你很好地理解了数据结构,你就可以从做难题和寻找聪明的解决方案中获得更多。如果你看到一个你熟悉的数据结构的巧妙使用,那么你通常会更加惊讶,你会记住解决方案。
另一个重要的一点是,如果您通常使用特定的编程语言,请确保您知道其标准库提供的数据结构,并确保您知道标准(或文档)对其实现的说明(即复杂程度)边界不同的操作保证等。)。