php常用数据结构

# 常用数据结构

--------------------------------------------------------------------------------

## 树(Tree)

- 概念:树是n(n>=0)个节点的有限集T,T为空时称为空树,否则他满足如下两个条件:

  - 有且仅有一个特定的根(root)节点
  - 其余的节点可以分为m(m>=0)个互不相交的子集T1,T2,T3...Tm,其中每个子集本身又是一棵树,称之为子树(SubTree)

- 特性:一棵非空树是由若干棵子树构成的,而子树又可由若干棵更小的子树构成。而这里的子树可以是叶子也可以是分支

- 二叉树: 就是每个节点最多有两个子树的树结构

  - 满二叉树:除最后一层无子节点,每一层的所有节点都有两个子节点
  - 完全二叉树:只有最下面的两层子节点能小于2,且最下面一层只能空缺右边节点

## 链表

- 链表由一系列结点组成,每个结点包含两部分:一是储存数据元素的数据域,二是储存下一个结点地址的指针域

## 数组

- 概念:元素按序排列的集合

## 堆/栈

- 堆:树形数据结构
- 栈:先进后出特殊线性表

## 队列

-概念:表尾插入并表头删除的先进先出的特殊线性表

## 图
- 概念:图是由非空的顶点集合和一个描述顶点之间的关系——边(或弧)的集合组成。

## 散列表

原文地址:https://www.cnblogs.com/lxwphp/p/15454920.html