数据结构
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。
数据结构分类
线性结构
数组 - 动态数组
链表 - 双向链表 - 循环链表 - 双向循环链表
栈
队列 - 循环队列 - 双向队列
树形结构
二叉树
多叉树
图形结构
常见数据结构
常见的数据结构有数组,链表,队列,栈,树,hash表
数组
数组是一串连续的地址存储数据的结构,其中存储的元素可以通过下标快速访问。
优点:查找速度度,方便遍历
缺点:扩容不方便,只能存储一种类型的数据。为了让数组内元素下标有序,增删时需要移动数据,所以增删速度慢
使用场景:查询多,增删少的情况。如 tableview数据源
链表
链表是一串通过指针相连接的数据。每个数据结点内部有一个指向下一个数据结点的指针。链表数据非顺序存储,所以无法通过下标读取,查询数据需要从根结点往下依次查找。但是增删数据只有操作前后数据的指针即可,不需要移动数据,所以增删速度快。
其中有单向链表,双向链表,循环链表
优点:增删速度快,不需要初始化容量,无需扩容操作
缺点:查询速度慢
使用场景:数据量小,需要频繁增删操作的场景
散列表,哈希表
通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素
网友评论