矩阵连乘问题:下图是动态规划算法计算6个矩阵A1A2A3A4A5A6连乘所生成的信息表(a)表描述了计算顺序(b)表是m[i][j]的最优值表(c)表是辅助信息表(断开位置)分析表格,给出A2A3A4A5A6五个矩阵连乘所需要的最少数乘次数,并用加括号的方法表示出其乘法顺序()。
A.15125,(A2A3)((A4A5)A6)B.10500,(A2(A3A4))(A5A6)C.15125,(A2(A3A4))(A5A6)D.10500,(A2A3)((A4A5)A6)
单项选择题动态规划解题的步骤分为四步:(1)分析最优解的结构(2)建立递归关系(3)计算最优值(4)构造最优解关于这四个步骤的内容描述不正确的是哪个?()
A.计算最优值:以自顶往下的方法计算问题的最优值,也就是先求解规模较大的问题的最优值B.构造最优解:根据计算最优值时得到的信息构造出问题的最优解,通常是用递归算法完成最优解的构造C.建立递归关系:建立关于问题最优值的递归定义,即问题的最优值通过子问题的最优值合并得到D.分析最优解的结构:一个一般化问题可以分解为几个性质相同的子问题,并且问题的最优解可以通过子问题的最优解合并得到,也就是要满足最优子结构性质
单项选择题给定n个正整数组成的无序序列,要找到该序列的中位数,解决该问题的最优算法的时间复杂性是()。
A.O(n)B.O(nlogn)C.O(logn)D.O(n2)
单项选择题下面哪些不是递归算法的特点?()
A.结构清晰B.容易用数学归纳法证明算法的正确性C.递归算法耗费的时间和占用的内存空间要比解决同一问题的非递归算法要少D.可读性强
单项选择题猜数游戏:随机选择一个0~100内的整数,让你猜。猜对了,你赢了,游戏结束。如果没有猜对,会告诉你猜大了,还是猜小了。当然,越早猜对越好。问最少需要猜多少次,就能保证一定能猜对?()
A.6B.101C.51D.7
单项选择题快速排序和归并排序是常用的排序算法,也都是采用分治法解决的问题。快速排序的时间复杂性为O(n2),而归并排序的时间复杂性为O(nlogn),究其原因,下面的解释哪个正确?()
A.这是因为归并排序把问题划分为子问题时的时间复杂性是O(1),而快速排序划分为子问题是使用partition()函数,其时间复杂性是O(n)B.因为归并排序把问题划分为两个子问题时其规模大致相等,是原来规模的n/2,而快速排序划分为子问题是使用partition()函数,划分为子问题时不能保证二个子问题的规模大致相同,在极端状况下,每次都只划分为1个子问题,其规模为原问题规模n-1,因此快速排序在极端状况下的时间复杂性的递归定义为T(n)=T(n-1)+O(n)C.因为快速排序将问题划分为子问题的个数比归并排序要多D.归并排序的分和合的时间复杂性之和低于快速排序的分和合的时间复杂性之和