![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
[单选题]
(数据结构)与单向链表相比,双向链表的优点之一是
A.更节省存储空间
B.便于进行随机访问
C.更容易访问相邻结点
D.可以省略头指针和尾指针
查看答案
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
A.更节省存储空间
B.便于进行随机访问
C.更容易访问相邻结点
D.可以省略头指针和尾指针
A.粒度太粗,节点读写一致性不能保证
B.粒度太粗,线程不必要的等待
C.粒度太细,加解锁开销大
D.粒度太细,总体读写一致性不能保证
二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中的结点指针的指向。比如输入图4.12中左边的二叉搜索树,则输出转换之后的排序双向链表。
二叉树结点的定义如下:
struct BinaryTreeNode
{
int m_ nValue;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};
A.数组适合用于最大元素个数容易确定的情况
B.存储相同的元素,单向链表比数组占用的存储空间要多
C.查找特定元素时,使用单向链表比使用数组方便
D.对于需要频繁添加删除元素的情况,使用单向链表比使用数组合适
面试题:在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除链表结点。链表结点与函数的定义如下:
struct List Node
{
int m_n Value;
ListNode* m_pNext;
};
void DeleteNode (listNode** plistHead, ListNode* pToBeDeleted);