正确答案:
B
解析:
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。A项,线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。也就是说,只能顺着指针向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点;C项,双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找。在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描。这样,部分结点就要被遍历两次;D项,二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历,其他部分的结点无法访问。答案选择B选项。