单选题在下列链表中,能够从任意一个结点出发遍历访问到所有结点的是( )。A单链表B循环链表C双向链表D二叉链表
单选题
在下列链表中,能够从任意一个结点出发遍历访问到所有结点的是( )。
A
单链表
B
循环链表
C
双向链表
D
二叉链表
参考解析
解析:
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。A项,线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。也就是说,只能顺着指针向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点;C项,双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找。在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描。这样,部分结点就要被遍历两次;D项,二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选项。
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。A项,线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。也就是说,只能顺着指针向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点;C项,双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找。在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描。这样,部分结点就要被遍历两次;D项,二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选项。
相关考题:
下列关于链表结构的叙述正确的是( )A.线性链表、带链的栈和带链的队列的结点的结构都是相同的B.双向链表也就是循环链表C.线性链表与带链的栈的结点的结构是不同的D.在循环链表中通过任意一个结点可以找到链表中其他所有的结点,而在双向链表中做不到这一点
下列叙述中错误的是()。A.在双向链表中,可以从任何一个结点开始直接遍历到所有结点B.在循环链表中,可以从任何一个结点开始直接遍历到所有结点C.在线性单链表中,可以从任何一个结点开始直接遍历到所有结点D.在二叉链表中,可以从根结点开始遍历到所有结点
线性表采用单循环链表存储的主要优点是( )A.从表中任一结点出发都能遍历整个链表B.可直接荻取指定结点的直接前驱和直接后继结点C.在进行删除操作后,能保证链表不断开D.与单链表相比,更节省存储空间
以下说法中不正确的是()。A双向循环链表中每个结点需要包含两个指针域B已知单向链表中任一结点的指针就能访问到链表中每个结点C顺序存储的线性链表是可以随机访问的D单向循环链表中尾结点的指针域中存放的是头指针
单选题以下说法中不正确的是()。A双向循环链表中每个结点需要包含两个指针域B已知单向链表中任一结点的指针就能访问到链表中每个结点C顺序存储的线性链表是可以随机访问的D单向循环链表中尾结点的指针域中存放的是头指针
单选题若线性表最常用的操作是在最后一个元素之后插入一个结点和删除最后一个结点,则采用()存储方式节省时间。A单链表;B双向链表;C单循环链表;D带头结点的双循环链表;