JS数据结构与算法概述
-
数据结构: 计算机存储, 组织数据的方式, 就像锅碗瓢盆
-
算法: 一系列解决问题的清晰指令, 就像食谱
-
两者关系: 程序 = 数据结构 + 算法
邂逅数据结构与算法
什么是数据结构与算法
什么是数据结构
- 数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。
- 数据结构是ADT(抽象数据类型Abstract Data Type )的物理实现。
- 数据结构( data structure )是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法。
数据结构就是在计算机中,存储和组织数据的方式
常见的数据结构
数组
栈
链表
图
散列表
队列
树
堆
- 每一种都有其对应的应用场景,不同的数据结构的不同操作性能是不同的
- 有的查询性能很快,有的插入速度很快,有的是插入头和尾速度很快
- 有的做范围查找很快,有的允许元素重复,有的不允许重复等等
- 在开发中如何选择,要根据具体的需求来选择
什么是算法(Algorithm)
- 一个有限指令集,每条指令的描述不依赖于语言
- 接受一些输入(有些情况下不需要输入)
- 产生输出
- 一定在有限步骤之后终止
- Algorithm这个单词本意就是解决问题的办法/步骤逻辑
- 数据结构的实现,离不开算法
生活中的数据结构与算法
数据结构与算法在生活中的使用随处可见,使用数据结构与算法会极大的提高人类生产的效率