求循环链表中当前结点的后继和前驱的时间复杂度分别是()。
A.O(n)和O(1)
B.O(1)和O(1)
C.O(1)和O(n)
D.O(n)和O(n)
A.O(n)和O(1)
B.O(1)和O(1)
C.O(1)和O(n)
D.O(n)和O(n)
针对一棵前序线索二叉树:
(1)仿照中序线家二叉树,定义前序线索二叉树的类结构;
(2)编写算法,实现二叉树到前序线索二叉树的转换;
(3)编写算法,在以1为根的子树中求指定结点p的父结点;
(4)编写算法,求以t为根的子树的前序下的第一个结点
(5)编写算法,求以t为根的子树的前序下的最后一个结点;
(6)编写算法,求结点t的前序下的后继结点:
(7)编写算法,求结点t的前序下的前驱结点;
(8)编写算法,实现前序线索二叉树的前序遍历.
已知P结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。
a.在P结点后插入S结点的语句序列是________。
b.在P结点前插入S结点的语句序列是________。
c.删除P结点的直接前驱结点的语句序列是________。
d.删除P结点的直接后继结点的语句序列是________。
e.删除P结点的语句序列是________。
(1) P->next=P->next->next;
(2) P->prio u=P->prio u->prio u;
(3) P->next=S;
(4) P->prio u=S;
(5) S->next=P;
(6) S->prio u=P;
(7) S->next=P->next;
(8) S->prio u=P->prio u;
(9) P->prio u->next=P->next;
(10) P->prio u->next=P;
(11) P->next->prio u=P;
(12) P->next->prio u=S;
(13) P->prio u->next=S;
(14) P->next->prio u=P->prio u;
(15) Q=P->next;
(16) Q-P->prio u;
(17) free(P) ;
(18) free(Q) ;
非空的循环单链表head的尾结点(由指针p所指)满足()
A.p—>next=NULL
B.p=NULL
C.p—>next=head
D.p=head
O(n)的算法:将L改造为I.=(a1,a3,…,an,…,a4,a2)。
以二叉链表作为二叉树的存储结构,编写以下算法:
(1)统计二叉树的叶结点个数。
(2)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(3)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
(4)用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
(5)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
(6)输出二叉树中从每个叶子结点到根结点的路径。