数据结构八大类型

常见的八种数据结构

  • 数组
  • 队列
  • 链表
  • 哈希表

数组
数组的常见类型:
一维数组
多维数组
优点:
根据索引查找元素方便
缺点:
数组大小确定后就无法扩容了
添加、删除操作慢,因为要改变数组顺序,移动其他元素

先进后出,栈顶允许操作,栈底不允许操作,像经常用的撤销操作,就是用栈的原理实现的。
在这里插入图片描述
队列
先进先出,也是一种线性结构,从一端入队,从另一端出队。
链表
链表元素有两个结点,一个是存储元素的数据域,另一个是存放指向下一个结点的指针域。根据指针的指向,链表能分为单向链表、双向链表、循环链表等。
在这里插入图片描述

堆中的某结点值总是不大于或者总是不小于其父节点的值
推永远是一个完全二叉树
在这里插入图片描述
哈希表
根据关键码和值对应的一种数据结构,key是唯一的,根据键值对组成的集合被称为“字典”。
散列数据结构的性能取决于以下三个因素:
哈希函数
哈希表的大小
碰撞处理方法

图是一组以网络形式相互连接的节点。节点也称为顶点。 一对节点(x,y)称为边(edge),表示顶点x连接到顶点y。边可以包含权重/成本,显示从顶点x到y所需的成本。
图结构分为:
有向图
无向图
在这里插入图片描述

树形结构是一种层级式的数据结构,由顶点(节点)和连接它们的边组成。 树类似于图,但区分树和图的重要特征是树中不存在环路。

二叉树是树的特殊一种,具有如下特点:
1、每个结点最多有两颗子树,结点的度最大为2。
2、左子树和右子树是有顺序的,次序不能颠倒。
3、即使某结点只有一个子树,也要区分左右子树。