数据结构分类无非是下面这几种。
学习的顺序:数组 》栈 》队列 》链表 》树 》散列表 》堆 》图
难易程度也是前面最简单,后面稍难。
每种数据结构只是需要了解数据的存储结构特征、操作方式、优缺点和常用的场景。
学习每种数据结构的时候,不要急着扩展。先把基本的、典型的先学了来。比如二叉树就有有很多扩展的数据结构,包括平衡二叉树、红黑树、B+树等。这是就要要典型的基本的二叉树数据结构学扎实,再对比其他数据结构。
如果你要找书籍,我可以推荐两本。
第一本:
原书名:Data Structures and Algorithms Analysis in C/C++/JAVA
中文名:数据结构与算法分析——C语言描述/C++描述/Java语言描述
你是学Java的,可以看《数据结构与算法分析——Java语言描述》(Data Structures and Algorithms Analysis in Java)第二版,Mark Allen Weiss著,天津师范大学冯舜玺译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一,比较不错。
第二本:
原书名:Introduction to Algorithms
中文名:算法导论
全书内容全面,结构清晰,6个部分1000多页把数据结构算法的主要内容都包含了。作者用图表,伪码解释每一个算法,通俗易懂。
最后
我不建议一开始就去找这些书籍来读。一点基础都没有,看这些书籍都比较吃力。建议先找些数据结构的视频、文章来看看,有个大体的了解。明白大概的意思后,再去啃书。