第1题:下列叙述中错误的是( ) 。
A、循环链表中有一个表头结点
B、循环链表的存储空间是连续的
c、循环链表的表头指针与循环链表中最后一个结点的指针均指向表头结点
D、循环链表实现了空表与非空表运算的统一
参考解析∶线性表链式存储结构的特点是,用一组不连续的存储单元存储线性表中的各个元素。线性链表的存储单元是任意的,即各数据结点的存储序号可以是连续的,也可以是不连续的。循环链表采用链式存储结构,因此存储空间也可以是不连续的。本题笞案为B选项。
第⒉题:带链栈空的条件是( )。
A、top=bottom=-1
B、top=-1且bottom=NULL
c、top=NULL且bottom=-1
D、top=bottom=NULL
参考解析:带链的栈是具有栈属性的链表。线性链表的存储单元是不连续的。因为是不连续的存储空间,所以指针将不会有规律地连续变化。当top=bottom=NULL时,栈为空;当top=bottom且不等于NULL时,核中存在一个元素,其他情况无法判断。本题笞案为D选项。
第3题:带链队列空的条件是( )。
A、front=rear=NULL
B、front=-1且rear=NULL
C、front=NULL且rear=-1
D、front=rear=-1
参考解析:带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NULL时,队为空;当front=rear且不等于NULL时,队列中存在一个元素,其他情况无法判断。本题答案为A选项。
第4题:在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为()。
A、0
B、1
c、0或1
D、队列满
参考解析:带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NUL时,队为空;当front=rear且不等于NULL时,队列中只存在一个元素,其他情况无法判断。本题答案为C选项。
第5题:在带链栈中,经过一系列正常的操作后,如果top=bottom,则栈中的元素个数为( )。
A、0
B、1
c、0或1
D、栈满
参考解析:带链的栈是具有栈属性的链表。线性链表的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当top=bottom=NULL时,栈为空;当top=bottom且不等于NULL时,核中存在一个元素,其他情况无法判断。本题答案为C选项。
第6题:某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=10,rear=5。该队列中的元素个数为( )。
A、4
B、5
c、6
D、不确定
参考解析:带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NULL时,队为空;当front=rear且不等于NULL时,队列中存在一个元素,其他情况无法判断。本题答案为D选项。
第7题:从表中任何一个结点位置出发就可以不重复地访问到表中其他所有结点的链表是()。
A、循环链表
B、双向链表
c、单向链表
D、二叉链表
参考解析∶在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发不重复地访问到表中其他所有的结点。单向链表只有从头指针开始,沿各结点的指针扫描链表中的所有结点。双向链表从住何一个结点位需出发就可以访问到表中其他所有结点,但会出现重复访问。二叉链表从根结点开始可以访问树中所有结点,但是从其他结点位需出发,只能访问到它后面的结点,无法访问前面的结点。本题答案为A选项。
第8题:某带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=bottom=20。该栈中的元素个数为( )。
A、0
B、1
c、20
D、不确定
参考解析∶带链的栈是具有栈属性的链表。链表的存储单元是不连续的,由于是不连续的存储空间,所以指针将不会有规律地连续变化。当top=bottom=NULL时,为栈空;当top=bottom且不等于NULL时,栈中存在一个元素,其他情况无法判断。本题答案为B选项。
第9题:某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=rear=10。该队列中的元素个数为( )。
A、0
B、1
c、1或0
D、不确定
参考解析︰带链的队列是采用链式存储结构表示的队列。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化。当front=rear=NULL时,为队空;当front=rear且不等于NULL时,队列中存在一个元素,其他情况无法判断。本题答案为B选项。
第10题:下列叙述中错误的是( )。
A、循环队列是队列的存储结构
B、具有两个指针域的链表不一定是线性结构
c、具有两个指针域的链表不一定是非线性结构
D、循环链表是循环队列的链式存储结构
参考解析:【解析】循环链表采用链式存储结构,循环队列是队列的一种顺序存储结构,A选项叙述正确,D选项叙述错误。二叉链表具有两个指针域,属于非线性结构,B选项叙述正确。双向链表具有两个指针域,属于线性结构,C选项叙述正确。本题答案为D选项。
第11题:非空循环链表所表示的数据结构( )。
A、没有根结点但有叶子结点
B、有根结点也有叶子结点
c、有根结点但没有叶子结点
D、没有根结点也没有叶子结点
参考解析:在线性单链表的第一个结点前增加一个表头结点,头指针指向表头结点,最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。循环链表是线性结构,有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件。循环链表表头结点为根结点﹔链表的最后一个结点为叶子节点,虽然它含有一个指向表头结点的指针,但是表头结点并不是它的一个后件。本题答案为B选项。
第12题:下列叙述中错误的是( )。
A、栈是线性结构
B、二叉链表是二叉树的存储结构
c、循环链表是循环队列的存储结构
D、循环队列是队列的存储结构
参考解析:循环链表是一种链式存储结构,循环队列是队列的一种顺序存储结构。本题答案为C选项。
第13题:下列叙述中正确的是( )。
A、线性链表可以有多个指针域
B、有两个以上指针域的链表是非线性结构
c、只有一个指针域的链表一定是线性结构
D、线性链表最多可以有两个指针域
参考解析:多重链表具有两个及两个以上的指针域,但多重链表既可以表示线性结构,也可以表示非线性结构,A选项叙述正确,B选项叙述错误。一个非空线性结构应满足两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。不满足以上两个条件的数据结构就称为非线性结构。只有一个指针域的链表中存在这样的链表:两个或以上的结点的指针域指向同一个结点,即存在某结点有两个及以上的前件,不满足条件②,属于非线性结构,C选项叙述错误。线性链表是指线线性表的链式存储结构,是否为线性链表与指针域的个数无关,D选项叙述错误。本题答案为A选项。
第14题:下列叙述中正确的是( )。
A、线性表链式存储结构的存储空间一般要少于顺序存储结构
B、线性表链式存储结构与顺序存储结构的存储空间都是连续的
C、线性表链式存储结构的存储空间可以是连续的,也可以是不连续的
D、线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
参考解析:在线性表链式存储结构中,为了表示每个元素与其后继元素之间的逻辑关系,每个元素除了需要存储自身的信息外,还要存储一个指示其后件的信息,即后件元素的存储位器,所以链式存储结构所需要的存储空间一般要多于顺序存储结构,A、D两项错误。线性链表的存储单元是任意的,即各数据节点的存储序号可以是连续的,也可以是不连续的,B选项错误,c选项正确。本题答案为C选项。
第15题:下列叙述中正确的是( )。
A、链式存储结构比顺序存储结构节省存储空间
B、顺序存储结构能存储有序表,链式存储结构不能存储有序表
c、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
D、顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
参考解析∶链式存储结构除了需要存储自身的信息外,还要存储一个指示其后件的信息,所需的存储空间更大,A选项错误。链式存储结构也可以存储有序表,B选项错误。顺序存储结构可以存储非线性结构(如满二叉树和完全二叉树),链式存储结构也可以存储线性结构(如栈和队列),C选项错误。本题答案为D选项。
第16题:下列叙述中正确的是( )。
A、带链栈的栈底指针是随栈的操作而动态变化的
B、若带链队列的队头指针与队尾指针相同,则队列为空
c、若带链队列的队头指针与队尾指针相同,则队列中至少有一个元素
D、带链栈的栈底指针是固定的
参考解析:带链找栈的栈底指针在栈空时值为nul,在栈不为空时指向栈底结点,值为其地址,A选项正确,D选项错误。带链队列是采用链式存储结杓表示的队列,链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指钎将不会有规律地连续变化。当front=rear=NULL时,为队空;当front=rear且不等于NULL时,队列中只存在一个元素,其他情况无法判断,B、C两项错误。本题答案为A选项。
第17题:下列叙述中正确的是( )。
A、双向链表有两个头指针
B、双向链表有两个头结点
c、循环链表中至少有一个结点
D、循环链表是循环队列的链式存储结构
参考解析:每个存储结点有两个指针域,一个指针域存放前件的地址,称为左指针(Llink),另一个指针域存放后件的地址,称为右指针(Rlink),这样的链表称为双向链表。双向链表属于性结构,只有一个头指针,也只有一个头结点,A、B两项错误。面于表头结点是循环链表所固有的结点,因此,即使在表中没有数据元素的情况下,表中也至少有一个结点(表头结点)存在,从而使空表和非空表的运算统一,C选项正确。循环链表是链式存储结构,循环队列是队列的一种顺序存储结构,D选项错误。本题答案为C选项。
第18题:下列叙述中正确的是( )。
A、线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针
B、线性表的链式存储结构中,每个结点只能有一个指向后件的指针
C、线性表的链式存储结构中,叶子结点的指针只能是空
D、链表结点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构
参考解析∶单链表只有一个指针域,存储指示其后件的信息,A选项错误。双向链表的每个存储结点有两个指针域,一个指针域存放前件的地址,称为左指针(Llink),另一个指针域存放后件的地址,称为右指针(Rlink),B选项错误。在双向链表中,叶子结点的右指针为空,左指针不为空;循环链表中,叶子结点的指针指向头结点,不为空,C选项错误。双向链表具有两个指针域,属于线性结构;二叉链表也具有两个指针域,属于非线性结构,D选项正确。本题答案为D选项。