1.非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后驱。常见的非线性结构有:树(二叉树等),图(网等)。由于二叉树的存储结构中每一个存储结点有两个指针域,因此,二叉树的链式存储结构也称为二叉链表,二叉链表属于非线性结构。
2.根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以具有两个根结点的数据结构一定是非线性结构。
3.设数据元素的集合D={ 1,2,3,4,5 },则满足下列关系R的数据结构中为线性结构的是
A) R={ (1,2), (3,4), (5,1) }
B) R={ (1,3), (4,1), (3,2), (5,4) }
C) R={ (1,2), (2,3), (4,5) }
D) R={ (1,3), (2,4), (3,5) }
解析:如A:(1,2),先写下来就是12,然后看后面的(3,4),在1,2中找不到前驱和后继,只能和1,2暂时先并列,然后是5,1,这里我们已经写过12了,那么5在1前面就是512,但是34要单排,所以A就是两个根节点3和5。两个顺序是512,34。同理B就是54132;C是:123和45;D是135,24所以B正确。
4.栈是一种先进后出的线性表。队列是指允许在一端进行插入、而在另一端进行删除的线性表,队列是一种"先进先出"或"后进后出"的线性表。
5.双链表和二叉链表的结点都有两个指针域,前者是线性结构,后者是非线性结构。
6.用无向图表示的网状模型是非线性结构,它可以没有根节点和叶子节点。
7.二叉树是一种很有用的非线性结构,二叉树的存储结构一共有两种:顺序存储结构和链式存储结构,且顺序存储结构仅适用于完全二叉树。非完全二叉树只能用链式存储结构。
8.数据结构是指反映数据元素之间关系的数据元素集合的表示。更通俗地说,数据结构是指带有结构的数据元素的集合。所谓结构实际上就是指数据元素之间的前后件关系。线性结构与非线性结构都可以是空的数据结构。一个空的数据结构究竟是属于线性结构还是属于非线性结构,还要根据具体情况来确定。如果对该数据结构的运算是按线性结构的规则来处理的,则属于线性结构;否则属于非线性结构。
9.根据二叉树的性质:二叉树第i(i≥1)层上至多有2i-1个结点。得到第5层的结点数最多是16。