各种数据结构的优缺点
作者:互联网
数组:
类似线性表,在内存中连续的存储多个元素的结构.内存也连续分配的,数组的元素可以通过下标访问,下标是从0开始.
数组优点:
1,支持随机访问,通过下标(索引)访问元素速度快;
2,可以通过下标进行遍历.
数组缺点:
1,数组在定义的时候,初始化的数组的容量大小,无法修改;
2,只能存储一种类型的数组;
3,删除,添加元素的操作慢(尾部操作除外).
栈:
是一种特殊的线性表,只能在栈顶操作,栈底不允许操作,特点:先进后出,常用于递归.
队列:
是一种线性表,在一端添加元素,在一端取出元素,特点:先进先出.常用于多线程阻塞队列管理
链表:
是物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现;链表的是由节点组成的,每个节点有两部分内容,一部分是存储元素的数据域(内存空间),一部分是指向下一个节点地址的指针域.分为单链表,双向链表以及循环链表.
链表的优点:
1.不需要初始化容量,可以任意增删元素;
2.添加,删除元素简便.
链表的缺点:
1,比线性表多了指针域,占用内存会比较大;
2,不支持随机访问,查找元素需要遍历链表,速度慢耗时,而且单链表只能从头到尾遍历链表,双向链表才能双向遍历;
树:
是一种非线性的数据结构,类似树状的结构,有唯一的根结点以及互不相见的叶子节点.最常见的有二叉树.
二叉树的特点:
1,每个节点做多只能有2个子树,左子树和右子树,节点的度最大为2;
2,若只有一个节点,也要分左子树和右子树;
优点:既有链表的优点又有数组的优点,添加,删除节点很快,查找也比较优化.
缺点:可能会出现退化,退化成链表,造成树的深度很大,查找效率变慢.
标签:各种,下标,线性表,元素,优缺点,链表,数组,数据结构,节点 来源: https://www.cnblogs.com/chen1425615833/p/16651488.html