|
本题添加时间:2023/4/3 12:59:00 |
|
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号) |
56. (问答题) 在单链表、双向循环链表和单循环链表中,若仅知道指针 p 指向某结点,不知道头指针,能否将结点 p 从相应的链表中删除?若可以,时间复杂度各为多少。(本题2.0分)
|
答案是:标准答案: 要实现删除 p 结点的操作,必须找到其前驱结点,修改其指针域的值使其指向 p 的后继结点,以实现删除结点 p 。单链表不行,因此不知道头指针就无法找到结点 p 的前驱结点。双向循环链表和单循环链表可以可以实现删除 p 结点。单循环链表删除 p 结点的时间复杂度为 O(n) ,双循环链表删除 P 结点的时间复杂度为 O(1)
出自
河南工学院数据结构 青书学堂系统
河南工学院
|
更多试题>>>>
1、55. (问答题) 若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用何种存储结构,为什么?(本题2.0分)
2、数据结构和数据类型两个概念之间有区别吗?(本题2.0分)
3、设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。(本题10.0分)
A、 5
B、 6
C、 7
D、 8
4、对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有( )个,(本题10.0分)
A、 1
B、 2
C、 3
D、 4
5、对n个记录的文件进行快速排序,所需要的辅助存储空间大致为(本题10.0分)
A、 O(1)
B、 O(n)
C、 O(1og2n)
D、 O(n2)
|
|