数据结构:是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。(描述对象之间的逻辑关系)
常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示。
数据存储结构:它是一个概念,简单的说:描述数据在计算机中的存储方式,常用的数据存储方式就两种,顺序存储和 非顺序存储。
1:顺序存储:把数据存储在一块连续的存储介质上,比如硬盘或者内存.。数组就是典型的顺序存储
2:非顺序存储:各个数据不一定在一个连续的位置上,只要每个数据hi到它前面的数据和后面的数据,就能把所有数据记录起来。 链表就是典型的非顺序存储。
3:数组属于顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间是相同的,链表属于数据的链接存储,由于每个元素的存储位置是保存在它的前驱或者后继节点中的,所以只有当访问到其前驱节点或者后继节点,才能够按指针访问到自己。
其实我们可以将数据结构按照:线性表和非线性表来划分。
线性表包括:数组,栈,链表,队列
非线性表包括:树,图,堆
线性表:零个或者多个数据元素的有限序列 ,每个线性表上的数据最多只有前和后两个方向
非线性表:它是和线性表相对的概念,之所以叫非线性表,是因为元素之间并不是简单的前后关系。