数据结构和算法是计算机处理信息的基础。
抛开所有的东西都不看的话,计算机做的事情就是存储,然后计算。数据结构解决存储的问题,一些算法解决计算的问题,所以程序员必须要了解必须使用数据结构和算法。
比如 Java 中的集合,链表,变量定义都是解决存储的问题,这个存储的定义不是硬件中的存储,而是存储在内存中的数据结构。
你的方法也好,算法也好,必须要拿到数据才能计算,怎么算,这个就是算法。
举个最简单的栗子,读取 CSV 文件,存入到数据库中。抽象来说就是先把 CSV 文件读取到内存中,存好。存成什么样的?你可以存为字符串,也可以进一步存为 List,也可以是 Set。
拿到这个数据后,再进行计算,有可能是去重,分组,遍历等等。这些就是算法了。
不仅仅是应付面试,程序员也好,技术研究也好,数据结构和算法是基础。这 2 样最好是需要比较熟练的掌握,哪怕是不能马上找到解决方案,至少能提供一个思路。
这个对取得面试成功会是个加分项。