链表:
非连续,非线性存储结构。
包括:存储数据元素的数据域 和 存储下一个指针的指针域。
双向链表和循环链表都属于线性表。(只从逻辑上区分,而不是物理位置。)
队列:
只允许从表的前端(队头)删除,表的后端(队尾)插入。
属于受限的线性表。
堆:
先进先出。
栈:
先进后出。只能从栈顶对数据进行删除和插入。
向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
属于受限线性表。
字符串:
存储上类似字符数组。
属于受限线性表。
数组:
在C,Java语言中,数组是相同数据类型的元素按一定顺序排列的集合。
在JavaScript中,是为了使用单独变量名来存储一系列的值。(JavaScript是弱类型语言,在数组中也并没有要求是同类型数据。)
树:
二叉树:每个节点最多有两个子树的结构。
图:
元素间多对多关系的数据结构。