什么是数据结构
什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
Array(数组)
最简单而且应用最广泛的数据结构之一
使用连续的内存来存储,数组中的所有元素都必须是同类型的或者类型的衍生,元素可以通过下标来访问
linkdlist(链表)
线性表的一种,最基本最简单也是最常用的数据结构之一
元素之间的关系是一对一的关系(除了第一个和最后一个元素,剩下的都是首尾相接)、顺序存储结构和链式存储结构两种存储方式
Stack(栈)
和队列相似,一个带有数据存储特性的数据结构
存储数据是先进后出的,栈只有一个出口,只能从栈顶部增加和移除元素
heap(堆)
一般情况下,又称为二叉堆,近似完全二叉树的数据结构
子节点的兼职或者索引总是小于它的父节点,每一个节点的左右子树又是一个二叉堆,根节点最大的堆叫做最大堆或者大根堆,最小的堆叫最小堆和小根堆
list(线性表)
有零或者多个数据元素组成的有限序列
线性表是一个序列,0个元素构成的线性表搜索空表。第一个元素无先驱,最后一个元素无后继,其他元素都只有一个先驱和后继,有长度,长度是元素的个数,长度有限
doubly-linked-list(双向链表)
每一个元素都是一个对象,每一个对象都有一个关键字key和两个指针(next和prev)
queue(队列)
先进先出(FIFO)、并发中使用,可以安全的将对象从一个任务传给另一个任务
set(集合)
保存不重复的元素
map(字典)
关联数组也被称之为字典或者键值对
graph(图)
通常使用邻接矩阵和邻接表来表示,前者容易实现单对于稀疏的矩阵会浪费比较多的空间,后者使用链表的方式存储信息,单对图搜索时间复杂度较高