Ta上传的资源 (0)

已知(k1,k2,…,kp)是堆,则可以写一个时间复杂度为O(logn)的算法,将(k1,k2,…,kp,kp+1)调整为堆。试编写“从p=1起,逐个插入建堆”的算法,并讨论由此方法建堆的时间复杂度。

设计算法,在先序后继线索二叉树T中,查找给定结点*p在先序序列中的后继(假设二叉树T的根结点未知)。

顺读和逆读相同的字符序列称为回文,例如“abcba”是回文,而“ababab”不是回文。试设计算法,判别读入的一个以“#”为结束符的字符序列是否为回文。

设稀疏矩阵A和B均以三元组顺序表作为存储结构。试设计算法,计算A+B,并将运算结果存于三元组顺序表C中。

整数因子分解问题:给定正整数n,编写递归算法,计算n共有多少种不同的分解式,并输出这些分解式。

设有一个仅由红、白、蓝三种颜色的条块组成的序列。试设计一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。

给定正整数m和容量为k的循环队列Q,试设计求k阶Fibonacci序列的算法Fn-k+1,…,Fn,要求Fn≤m且Fn+1>m,并将序列的最后k项存放在队列Q中。