如果只说数据结构和算法的话,肯定会有《算法导论》这个回答。
但是就算完全看完《算法导论》,很多 LeetCode 题目应该还是不会做吧?
比如说有些用到单调栈的数据结构来解题的,《算法导论》中有吗?
我确实不清楚,不然也不会问这个问题了,下同。
比如有些使用滑窗思想的(双指针、快慢指针),
比如求解 [最长子序列] ,将暴力 O(n^2) 解法,通过 Patient Sorting 算法,降为 O(nlogn),
等等等...
当然,从刷题可以逐步地接触到这些算法;
但是从我个人的角度触发,刷题接触算法太零散了,就算将使用相同的数据结构、算法、思路放到一起归类, 还是很零散,就感觉有些看到某个算法,你不知道这个算法和其它算法有什么“血源”关系。
因为,我感觉一个没学过的算法,不肯能是从石头里蹦出来的吧?
重归和某些其它算法有一些什么逻辑关系。
所以,我的意思就是,基于类似这中逻辑关系脉络,来系统性地学习数据结构与算法,有什么资料、途径和方法吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.