什么是线性结构、非线性结构
数据结构分类大多可以有三种分类方式,分别是逻辑结构、物理结构、存储结构。一般来讲大多数都是以逻辑结构进行划分的。
线性结构
简单地说,线性结构就是表中各个结点具有线性关系。如果从数据结构的语言来描述,线性结构应该包括如下几点:
1、线性结构是非空集。
2、线性结构有且仅有一个开始结点和一个终端结点。
3、线性结构所有结点都最多只有一个直接前趋结点和一个直接后继结点。
数组(Array)、栈( Stack)、队列(Queue)、链表( Linked List)等数据的逻辑结构都属于线性表。
非线性结构
简单地说,非线性结构就是表中各个结点之间具有多个对应关系。如果从数据结构的语言来描述,非线性结构应该包括如下几点:
1、非线性结构是非空集。
2、非线性结构的一个结点可能有多个直接前趋结点和多个直接后继结点。
树( Tree)、图(Graph)、堆(Heap)、散列表(Hash)等数据的逻辑结构都属于非线性结构。