程序员提升编程技能的捷径文章里面提到了数据结构的重要性,那么如何高效的学习数据结构呢?
BAT程序员总结了以下三个方面
掌握数据结构的存储特点
数据结构是通用的,无论是java、c++、python或者是未来的其他语言,在数据结构上的通用性非常强;
掌握数据结构的存储特点可以说是一种老少通吃的技术。
数据结构的本质就是数据的组织和存储
比如:
数组是在一块内存上连续存储的、通过索引访问,时间复杂度为1;链表可以连续存储也可以分散存储,相比数组,由于指针的存在,可能会多占用一点二叉树、图、队列、栈等等,他们都是怎么实现数据存储的?这是学习数据结构必学的东西
掌握数据结构的基本操作
数据结构的基本操作一般是查找、插入、删除;
不同的数据结构有不同的特点,比如队列就是先进先出的;
需要熟练掌握这些基础操作,知道其时间复杂度、空间复杂度以及具体是如何操作的。
了解数据结构的应用场景
学以致用,无论是面试过程中的算法编码,还是实际工作中,都应该了解每一种数据结构的应用场景。
比如:队列经常用于模块之间异步通信、红黑树用于高效查找,同时在读写之间有一个高效的平衡。