试题详情
- 简答题编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。
- voidlinklist_c(Lnode*heaD.
{Lnode*p;p=head;
if(!p)returnERROR;
while(p->next!=NULL)
p=p->next;
p->next=head;
}
设单链表的长度(数据结点数)为N,则该算法的时间主要花费在查找链表最后一个结点上(算法中的while循环),所以该算法的时间复杂度为O(N)。 关注下方微信公众号,在线模考后查看
热门试题
- 对于前序遍历与中序遍历结果相同的二叉树为
- 给出不同的输入序列建造二叉排序树,一定得
- 假定一个有向图的顶点集为{a,b,c,d
- 举例说明顺序队列的“假溢出”现象。
- 栈的删除运算通常称为退栈或出栈。
- 若查找每个记录的概率均等,则在具有n个记
- 给定结点的关键字序列为:47,7,29,
- 对于下面的带权图,若从顶点v0
- 在单链表中,头指针的作用是()
- 设森林F对应的二叉树为B,它有m个结点,
- 设指针变量front表示链式队列的队头指
- 试写一算法,实现顺序表的就地逆置,即利用
- 试利用循环队列编写求k阶菲波那契序列中前
- 在一棵二叉树中,度为0的结点的个数是n0
- 下列四种排序中()的空间复杂度最大。
- 设数组A[m]为循环队列Q的存储空间,f
- 设长度为n的链队用单循环链表表示,若设头
- 利用树的孩子兄弟表示法存储,可以将一棵树
- 在长度为n的字符串S的第i个位置插入另外
- 已知哈希表地址空间为A[0..8],哈希