数据结构学习分两块,大体上分为数据结构的实现和应用。数据结构的具体实现细节比如对于c++语言来说基础的都在stl里面就有。应用这一块通常需要做一些算法习题来提高熟练度。
实现细节比较吃语言基本功,所以建议将一门语言的基础部分学扎实。
顺序方面,如果你的各项基础都是0,那么我的建议是。 第一,买一本浙大的算法笔记,配套的还有一本习题与解答。把上面不论是语言的习题还是数据结构与算法的习题认认真真一道一道的在oj上敲一遍保证全部ac。其实能完成8成你的水平就会有很大的提高了。
第二,完成算法导论clrs中除了高级专题部分的经典算法的实现,里面有很多经典的例子和算法的伪代码,用语言去实现一下,适度的做一些习题,量力而行,这本书的重点在于这些伪代码可以帮助你更好的理解一些基础数据结构的实现思想以及经典的数据结构应用于解决实际问题的案例。
第三,如果在这个基础上你还有兴趣继续研究和追求数据结构的话。数据结构c++语言版 邓俊辉是一个不错的选择,里面关于数据结构的直接实现有着很好的指导效果。而且通过上两本书获得的基础,你看这本书不会有特别大的困难,前提是你的语言能力过关。前两本书只需要懂得一些c语言就可以 这本书学习之前最好能学习完c++primer。
第四,如果你还对数据结构与算法这一块有浓厚的兴趣。那么 挑战程序设计竞赛(这本也许都满足不了你) 算法竞赛进阶指南 (这本足够了)可以让你能够对算法的一些更加高深的应用的理解。
如果想就业,那么leetcode是你不错的oj选择
如果想搞竞赛,acm 什么的可以试试codeforce什么的。这个时候你已经有了很强的独立学习能力 应该已经不会再为了一棵小小的二叉树感到迷茫和彷徨了。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3f81f119c101a18bf0eb1247ae2f0761/4c474c086e061d95be2e400d3df40ad162d9ca66.jpg?tbpicau=2024-09-19-05_58a4fac5747f35fe1da03c3c36c2fc74)
实现细节比较吃语言基本功,所以建议将一门语言的基础部分学扎实。
顺序方面,如果你的各项基础都是0,那么我的建议是。 第一,买一本浙大的算法笔记,配套的还有一本习题与解答。把上面不论是语言的习题还是数据结构与算法的习题认认真真一道一道的在oj上敲一遍保证全部ac。其实能完成8成你的水平就会有很大的提高了。
第二,完成算法导论clrs中除了高级专题部分的经典算法的实现,里面有很多经典的例子和算法的伪代码,用语言去实现一下,适度的做一些习题,量力而行,这本书的重点在于这些伪代码可以帮助你更好的理解一些基础数据结构的实现思想以及经典的数据结构应用于解决实际问题的案例。
第三,如果在这个基础上你还有兴趣继续研究和追求数据结构的话。数据结构c++语言版 邓俊辉是一个不错的选择,里面关于数据结构的直接实现有着很好的指导效果。而且通过上两本书获得的基础,你看这本书不会有特别大的困难,前提是你的语言能力过关。前两本书只需要懂得一些c语言就可以 这本书学习之前最好能学习完c++primer。
第四,如果你还对数据结构与算法这一块有浓厚的兴趣。那么 挑战程序设计竞赛(这本也许都满足不了你) 算法竞赛进阶指南 (这本足够了)可以让你能够对算法的一些更加高深的应用的理解。
如果想就业,那么leetcode是你不错的oj选择
如果想搞竞赛,acm 什么的可以试试codeforce什么的。这个时候你已经有了很强的独立学习能力 应该已经不会再为了一棵小小的二叉树感到迷茫和彷徨了。
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3f81f119c101a18bf0eb1247ae2f0761/4c474c086e061d95be2e400d3df40ad162d9ca66.jpg?tbpicau=2024-09-19-05_58a4fac5747f35fe1da03c3c36c2fc74)