给出一个由n个数组成的序列A[1…n],要求找出它的最长单调上升子序列,设m[i](1≤i≤n),表示以A[i]结尾的最长单调上升子序列的长度,则m[1]=1,m[i](1
单选题查看答案
对于给定的一个序列(a1,a2,...aN),1≤N≤1000。我们可以得到一些递增上升的子序列(ai1,ai2,...aiK),这里1≤i1〈i2〈...iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)。你的任务:就是对于给定的序列,求出最长上升子序列的长度。要求写出你设计的算法思想及递推函数的公式表达。
简答题查看答案
给定n个记录的有序序列A[n]和m个记录的有序序列B[m],将它们归并为一个有序序列,存放在C[m+n]中,试写出这一算法。
简答题查看答案
给定由n个整数(其中可能有负数)组成的序列a1,a2,...an,求该序列形如的子段和的最大值。当所有整数均为负整数时定义其最大子段和为0。依此定义,所求的最优值为: 动态规划解决方案:记,则对于n个整数序列的最大子段和问题,即为所求。 动态规划递归式: 问:对于实例:(a1,a2,...a6)=(-2,11,-4,13,-5,-2)按照前述动态规划递归式填充b数组,算法运行完毕后,请写出b数组中的数值,和最大子段和的值。
简答题查看答案
以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行排序,完成程序中的空格部分,其中n是元素个数,要求按升序排列。
简答题查看答案
有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!/[(n!)*(n!)]。
判断题查看答案
一个串的任意个连续的字符组成的子序列称为该串的(),包含该子串的串称为()。
填空题查看答案
(1)设根为第1层,对给定权值1,3,4,4,5,6,构造深度为5的哈夫曼树。 提示:构造中当出现被选的结点值有多个相等时,可尝试不同组合,以得到要求的树的深度。 (2)求树的带权路径长度。 (3)给出对上述哈夫曼树中序遍历得到的的序列 (4)一棵哈夫曼树有n个非叶结点,构造该树共有多少个权重值?简述理由?
简答题查看答案
试证明:若借助栈由输入序列12…n得到的输出序列为p1p2…pn(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着i<j<k使pj<pk<pi。
简答题查看答案