其他分享
首页 > 其他分享> > 各种数据结构的优缺点

各种数据结构的优缺点

作者:互联网

数组:

 类似线性表,在内存中连续的存储多个元素的结构.内存也连续分配的,数组的元素可以通过下标访问,下标是从0开始.

数组优点:

1,支持随机访问,通过下标(索引)访问元素速度快;

2,可以通过下标进行遍历.

 

数组缺点:

1,数组在定义的时候,初始化的数组的容量大小,无法修改;

2,只能存储一种类型的数组;

3,删除,添加元素的操作慢(尾部操作除外).

栈:

  是一种特殊的线性表,只能在栈顶操作,栈底不允许操作,特点:先进后出,常用于递归.

队列:

  是一种线性表,在一端添加元素,在一端取出元素,特点:先进先出.常用于多线程阻塞队列管理

链表:

  是物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现;链表的是由节点组成的,每个节点有两部分内容,一部分是存储元素的数据域(内存空间),一部分是指向下一个节点地址的指针域.分为单链表,双向链表以及循环链表.

链表的优点:

1.不需要初始化容量,可以任意增删元素;

2.添加,删除元素简便.

链表的缺点:

1,比线性表多了指针域,占用内存会比较大;

2,不支持随机访问,查找元素需要遍历链表,速度慢耗时,而且单链表只能从头到尾遍历链表,双向链表才能双向遍历;

树:

  是一种非线性的数据结构,类似树状的结构,有唯一的根结点以及互不相见的叶子节点.最常见的有二叉树.

二叉树的特点:

1,每个节点做多只能有2个子树,左子树和右子树,节点的度最大为2;

2,若只有一个节点,也要分左子树和右子树;

优点:既有链表的优点又有数组的优点,添加,删除节点很快,查找也比较优化.

缺点:可能会出现退化,退化成链表,造成树的深度很大,查找效率变慢.

 

标签:各种,下标,线性表,元素,优缺点,链表,数组,数据结构,节点
来源: https://www.cnblogs.com/chen1425615833/p/16651488.html