浅谈数据结构与算法
很多时候,我们对数据结构与算法的第一印象,可能是觉得它复杂、深奥、难以理解。另外,们可能还有一个疑问:在平时的开发工作中,一个产品,从开发到上线,似乎都不会用到数据结构与算法,也就是说即使不懂数据结构与算法,也能出色地完成日常的工作任务,照样能拿到高薪。那我们为什么还要学习数据结构与算法呢?
- 技术是可以通过培训获得的,潜力却不是每一个人都拥有的。学好数据结构与算法是提升一个人长期潜力的重要途径。
- 数据结构与算法是很多名企面试的必考题。数据结构与算法功底扎实的程序员,其技术实力、业务能力、自学能力大多都不会差,而且这种问题考验的更多的是一个人的编程功底和长期积累。
什么是数据结构?
在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。数据结构可透过编程语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支持各种程序运行。
逻辑结构、物理结构:
- 逻辑结构:是指数据对象中数据元素之间的相互关系。包括集合结构、线性结构、树形结构、图形结构。
- 物理结构:是指数据的逻辑结构在计算机中的存储形式。顺序存储和链式存储。
什么是算法?
算法是对特定问题纠结步骤的一种描述,它是指令的有限序列,其中每条指令表示一个或多个操作。
算法的好坏评定标准:
- 时间复杂度:是指执行算法所需要的计算工作量。
- 空间复杂度:是指执行这个算法所需要的内存空间。
总结
在计算机编程领域,数据结构与算法的应用是无处不在。比如图像视频处理、数据库、游戏开发、编译器、搜索引擎、AR、VR、人工智能、区块链等领域,都是以数据结构算法为基石。
扎实的数据结构与算法功底,能让我们站在更高的角度去思考代码、写出性能更优的程序,能让我们更快速地学习上手各种新技术(比如人工智能、区块链等),能让我们敲开更高级编程领域的大门。如果你想在IT路上走得更远,站得更高,那就必须掌握数据结构与算法。
下一篇:数据结构与算法二、常见排序算法