基础数据结构
数据结构,数据存储的方法,包括数据对象,和操作集,不包括具体实现。具体实现是算法
数组
检索简单,增删难
集合
Set,不重复的数组
链表
增删简单,检索难。插入删除内存和时间消耗小,查询消耗大,适合插入多,查询少的情景
广义表:是线性表的推广,元素可以是另一个广义表
多重链表:节点可能属于多个链表,双向链表不是多重链表。树和图就是用多重链表实现
稀疏矩阵用多重链表存储。
栈
先进后出
表达式求值,递归,函数调用,深度优先搜索,回溯算法
具有一定操作约束的线性表
栈的实现
一维数组和一个记录栈顶元素位置的变量
链表实现,从头部插入
队列
也是一种受限制的线性表,先进先出
普通线性表在所有位置都可以增删,堆栈只在顶部增删,队列只在头尾增删
用链表实现的时候,因为链表的尾部不能执行删除操作,所以队列的头部只能是链表的头部
典型问题
- 优先队列
- 循环队列
文章标题:基础数据结构
本文作者:Benny
发布时间:2020-06-08, 19:49:33
最后更新:2018-06-14, 10:56:38
原始链接:https://benny233.github.io/2020/06/08/基础数据结构/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。