什么是数据结构 数据结构有哪些

什么是数据结构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

Array(数组)

最简单而且应用最广泛的数据结构之一
使用连续的内存来存储,数组中的所有元素都必须是同类型的或者类型的衍生,元素可以通过下标来访问

linkdlist(链表)

线性表的一种,最基本最简单也是最常用的数据结构之一
元素之间的关系是一对一的关系(除了第一个和最后一个元素,剩下的都是首尾相接)、顺序存储结构和链式存储结构两种存储方式

Stack(栈)

和队列相似,一个带有数据存储特性的数据结构
存储数据是先进后出的,栈只有一个出口,只能从栈顶部增加和移除元素

heap(堆)

一般情况下,又称为二叉堆,近似完全二叉树的数据结构
子节点的兼职或者索引总是小于它的父节点,每一个节点的左右子树又是一个二叉堆,根节点最大的堆叫做最大堆或者大根堆,最小的堆叫最小堆和小根堆

list(线性表)

有零或者多个数据元素组成的有限序列
线性表是一个序列,0个元素构成的线性表搜索空表。第一个元素无先驱,最后一个元素无后继,其他元素都只有一个先驱和后继,有长度,长度是元素的个数,长度有限

doubly-linked-list(双向链表)

每一个元素都是一个对象,每一个对象都有一个关键字key和两个指针(next和prev)

queue(队列)

先进先出(FIFO)、并发中使用,可以安全的将对象从一个任务传给另一个任务

set(集合)

保存不重复的元素

map(字典)

关联数组也被称之为字典或者键值对

graph(图)

通常使用邻接矩阵和邻接表来表示,前者容易实现单对于稀疏的矩阵会浪费比较多的空间,后者使用链表的方式存储信息,单对图搜索时间复杂度较高

赞(1) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » 什么是数据结构

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏