7、将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度是
A.O(1)
B.O(n)
C.O(m)
D.O(m+n)
时间:2024-05-09 10:23:15
相似题目
-
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
A . q->next=s->next;s->next=p;
B . s->next=p;q->next=s->next;
C . p->next=s->next;s->next=q;
D . s->next=q;p->next=s->next;
-
在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。
A . 删除单链表中的第一个元素
B . 删除单链表中的最后一个元素
C . 在单链表第一个元素前插入一个新元素
D . 在单链表最后一个元素后插入一个新元素
-
对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为(),在表尾插入元素的时间复杂度为()。
-
在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的算法的时间复杂度为 。
-
在单链表指针为 p 的结点之后插入指针为 s 的结点,正确的操作是
-
7. 对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()。
-
6. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
-
在n个结点的单链表中删除结点p,需找到它的 ____ ,其时间复杂度为____.
-
在一个单链表中,若在指针p所指结点之后插入指针s所指结点,则相应的语句为()
A.s->next=p; p->next=s;
B.s->next=p->next; p->next=s;
C.s->next=p->next; p=s;
D.p->next=s; s->next= p->next ;
-
已知带头结点的单链表中的关键字为整数,为提高查找效率,需将它改建为采用拉链法处理冲突的散列表。设散列表的长度为m,散列函数为Hash(key)=key%m。链表的结点结构为:<img src='https://img2.soutiyun.com/ask/uploadfile/11013001-11016000/16bf319ab369c90e712d59da2fb6a090.jpg' />。请在空缺处填入适当内容,使其成为一个完整算法。
void f33(LinkList L,LinkList H[],int m)
{//由带头结点的单链表L生成散列表H,散列表生成之后原链表不再存在
int i,j;
LinkList p,q;
for(i=0;i<m;i++)
H[i]=[ (1) ];
p=L—>next;
while(p)
{
q=p—>next
j=p—>key%m;
[ (2) ];
H[j]=p;
[ (3) ];
}
free(L);
}
-
将带头指针的长度为n的单链表,链接到同样带头指针的长度为m的单链表末尾。该算法的时间复杂度为()。
A.O(m)
B.O(n)
C.O(m+n)
D.O(m*n)
-
【单选题】6. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
A.s->next=p->next;p->next=s;
B.p->next=s;s->next=p->next;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
-
在单链表指针为p的结点之后插入指针为 s的结点, 正确的操作是 ()
A.p->next=s;s->next=p->next;
B.s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
-
将长度分别为m,n的两个单链表合并为一个单链表的时间复杂度为O(m+n)。()
是
否
-
将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()
A、O(m+n)
B、O(n)
C、O(m)
D、O(1)
-
在单链表中,指针p指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()
A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p->next-p
-
在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。
A.s->next=p->next;p->next=s;
B.p->next=s;s->next=p->next;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
-
在含有n(n>1)个结点的单链表中,要删除某一指定结点,必须找到它的(①),其时间复杂度为(②)()
A.①前驱结点的地址 ②O(n)
B.1
-
4、假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点
-
将长度为m的单链表,链接到长度为n的单链表末尾。该算法的时间复杂度为()
A.O(m)
B.O(n)
C.O(m+n)
D.O(mn)
-
单链表的每个结点中包括一个指针next,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的()
A.q->next=p->next;p->next=q;
B.p->next=q->next;q=p->next
C.p->next=q;q->next=p->next;
D.q=p->next;p->next=q->next;
-
5、将带头指针的长度为m的单链表,链接到同样带头指针的长度为n的单链表末尾。该算法的时间复杂度为()。
A.O(m)
B.O(n)
C.O(m+n)
D.O(m*n)
-
13、单链表中增加的头结点也要计入链表的长度。
-
将长度为n的单链表接在长度为m的单链表之后的算法的时间复杂度为()。
A.O(1)
B.O(n)
C.O(m)
D.O(m+n)