数据结构与算法:为什么要学习数据结构与算法

数据结构与算法:为什么要学习数据结构与算法

数据结构与算法到底是什么
数据结构

​ 数据结构指的是计算机中数据的组织形式,分为逻辑结构和物理结构两个维度。其中,逻辑结构是对数据组织形式在逻辑上的抽象,物理结构则是基于存储设备对数据真实的组织管理,因此又被成为存储结构。学习和研究数据结构,就是研究数据的逻辑结构、物理结构及二者之间的关系。因此,数据结构中的”结构“二字,可以理解为数据之间存在的关系。

算法

​ 算法在计算机领域指的是对特定问题的解决方案的一系列指令化描述。算法必须是明确且有穷的,即一个算法必须要有明确的定义,一定的输入在有限的步骤内可以获得要求的输出。

数据结构与算法的关系

​ 算法是对一定的数据结构进行的特定操作,数据结构是算法的基础。在解决问题时,没有最好的算法,只有最合适的算法,数据结构也是。

为什么要学习数据结构与算法

​ 知道了什么是数据结构与算法,接下来聊聊为什么要学习它。

​ 首先,最现实的问题是无论校招还是社招,技术面试中多多少少都会问到数据结构与算法相关的问题。例如最直接的一种,面试官上来就让手写一个快排的代码,或者给一段代码,要求分析时间复杂度和空间复杂度。

​ 其次,日常繁杂的业务工作往往容易让人忽略程序实现细节和原理。就 Java 来说,无论是其自身的基础 API,还是第三方提供的开源框架,都糅合很多优秀的数据结构和算法的设计思想。

​ 最后,如果不重视程序的性能好坏,日复一日业务开发显然无法持续提升个人的编程和设计能力。而提升代码质量的第一步,就是建立起时间复杂度、空间复杂度的意识。

​ 综上,扎实的数据结构与算法基础,能大大提升面试通过率,大大提升对语言、框架和工具的理解层次,大大提升编程和设计能力。

你可能感兴趣的:(数据结构与算法篇)