试题详情
- 简答题在单链表、双链表和单循环表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少?
- 1.单链表。当我们知道指针p指向某结点时,能够根据该指针找到其直接后继,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前趋。因此无法删去该结点。
2.双链表。由于这样的链表提供双向链接,因此根据已知结点可以查找到其直接前趋和直接后继,从而可以删除该结点。其时间复杂度为O(1)。
3.单循环链表。根据已知结点位置,我们可以直接得到其后相邻的结点位置(直接后继),又因为是循环链表,所以我们可以通过查找,得到p结点的直接前趋。因此可以删去p所指结点。其时间复杂度应为O(n)。 关注下方微信公众号,在线模考后查看
热门试题
- 完全二叉树就是满二叉树。
- 串是由字符组成的,长度为1的串和字符是否
- 某二叉树的中序序列为ABCDEFG,后序
- 允许在线性表的一端插入,另一端进行删除操
- 在下面的排序方法中,平均时间复杂度为O(
- 数据的存储结构
- 已知一个有向图的邻接矩阵表示,计算第j个
- 对如图所示的3阶B-树,依次执行下列操作
- 假定front和rear分别为一个链式队
- 给出如下关键字序列{321,156,57
- 在单链表中,头指针的作用是()
- 线性结构中,无需为表中的元素之间的逻辑关
- 排序方法中,从未排序序列中依次取出元素与
- 设S为C语言的语句,计算机执行下面算法时
- 在决定选取何种存储结构时,一般不考虑各结
- 直接插入排序在最好情况下的时间复杂度为(
- 阅读下列算法,并回答下列问题: 该算法采
- 对于栈和队列,无论它们采用顺序存储结构还
- 具有什么特征的数据结构被称为线性表?
- 稳定排序