数据结构链表

链表:linked list,由一系列结点node (链表中每一个元素称为结点)组成,结点可以在运行时i动态生成。

每个结点包括两个部分︰一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

查询侵:链表中地址不是连续的,每次查询元素都必须从头开始查询
增删快:链表结构,增加/删除一个元素对链表的整体结构没有影响,所以增删快

双向链表:

链表中的每一个元素也称之为—个节点
一个结点包含了一个数据源(存储致组),两个指针域(存储地址)

mysql 链表 红黑树 链表和红黑树区别_结点

 

 

 单向链表:链表中只有一条链子,不能保证元素的顺序(存储元素和取出元素的顺序有可能不一致)

双向链表:链表中有两条链子,有一条链子是专门记录元素的顺序,是一个有序的集合

mysql 链表 红黑树 链表和红黑树区别_子节点_02

 

 

 

 

 

 

 

 

数据结构红黑树

 二叉树:binary tree ,是每个结点不超过2的有序树( tree ) 。

简单的理解,就是一种类似于我们生活中树的结构,只不过每个结点上都最多只能有两个子结点。

二叉树是每个节点最多有两个子树的树结构。顶上的叫根结点,两边被称作"左子树"和"右子树"。

mysql 链表 红黑树 链表和红黑树区别_链表_03

 

 

红黑树本身就是一颗二叉树,将节点插入后,该树仍然是一颗二叉查找树,也就意味着该树的键值仍然是有序的。

特点::趋*与*衡树,查询的速度非常快,查询叶子节点最大次数和最小次数不能超过两倍

约束:

1.节点可以是红色的或者黑色的

2.根节点是黑色的

3.叶子节点(空节点)是黑色的

4.每个虹色的节点的子节点都是黑色的

5.任何一个节点到其每一个叶子节点的所有路径上黑色节点致相同

mysql 链表 红黑树 链表和红黑树区别_结点_04