数据结构与算法第一天(了解什么是数据结构和算法)
客服系统:用户排队模块
方案一:数据库(不太合适)
排队列表:实时排队模块、内存中完成
方案二:数组去实现
要考虑数组的长度
方案三:队列
队列是一种受限制的线性表,它遵循一个原则:FIFO
只允许在表的前端进行删除操作,在表的后端进行插入(新增)操作
数据结构:
时空复杂度的意识
程序设计 = 数据结构 + 算法
四种逻辑结构:集合结构、线性结构、树形结构、图形结构
集合结构:同属于一个集合,没有其他关系了
线性结构:最典型的数据关系一对一,线性结构是一种有序数据集合,行因素(必存在第一个元素和最后一个元素,除最后一个元素外均有一个唯一的后续,除第一个元素之外均有一个前趋)
数组:就是一个线性结构,栈,队列。
树形结构:一对多的关系
图形结构:多对多的关系
物理结构:数据元素存储到计算机中的存储器。内存
数据的存储结构应该正确的反映数据元素之间的逻辑关系
顺序存储、链式存储
算法:
数组:
Js的数组不是真正意义上的数组
数组是相同类型数据元素的有序集合
优点:
- 按照索引查询元素的时候速度很快
- 存储大量的数据
- 按照索引去遍历数组
- 定义方便、访问很灵活
缺点: - 根据内容查找会很慢
- 数组的大小一经缺点不能改变,不适合动态存储