●设递增序列A为a1,a2,?,an,递增序列 B为b1,b2,?,bm,且m>n,则将这两个序列合并为一个长度为m+n的递增序列时,当 (38) 时,归并过程中元素的比较次数最少。(38)A. an >bmB.an <b1C.a1>b1D.a1<bm

题目

●设递增序列A为a1,a2,?,an,递增序列 B为b1,b2,?,bm,且m>n,则将这两

个序列合并为一个长度为m+n的递增序列时,当 (38) 时,归并过程中元素的比较次

数最少。

(38)

A. an >bm

B.an <b1

C.a1>b1

D.a1<bm


相似考题
更多“●设递增序列A为a1,a2,?,an,递增序列 B为b1,b2,?,bm,且m&gt;n,则将这两 个序列合并为一个长度为m+ ”相关问题
  • 第1题:

    对于长度为m(m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是()

    A.若入栈和入队的序列相同,则出栈序列和出队序列可能相同

    B.若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序

    C.入队序列与出队序列关系为1:1,而入栈序列和出栈序列关系是1:n(n>=1)

    D.入栈序列和出栈序列关系为1:1,而入队序列与出队序列关系是1:n(n>=1)


    正确答案:D

  • 第2题:

    ● 两个递增序列 A和 B的长度分别为 m和 n(m<n) ,将二者归并为一个长度为 m+n的递增序列时, (42) ,归并过程中元素的比较次数最少。

    (42)

    A. 当 A的最大元素大于 B 的最大元素时

    B. 当 A的最大元素小于 B 的最小元素时

    C. 当 A的最小元素大于 B 的最小元素时

    D. 当 A的最小元素小于 B 的最大元素时


    正确答案:B

  • 第3题:

    将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较(50)次。

    A.I

    B.n-1

    C.n

    D.2n


    正确答案:C
    解析:将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较n次,一个递增有序表的最小元素大于等于另一个递增有序表的最大元素。

  • 第4题:

    将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较( )次。

    A.2

    B.n-1

    C.n

    D.2n


    正确答案:C
    解析:因为两个长度为n的有序表都递增,要归并为一个有序表,最好的情况是其中一个有序表A的最后一个元素比另一个有序表B第一个元素还小,这至少需要比较n次才能确定B的第一个元素的插入位置。

  • 第5题:

    阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组 A[1:n](n≥2)中,要求寻找最长递增子序列 A[K: K+L-1] (即A[K]<A[K+1]<…<A[K+L-1])。流程图中,用 Kj 和Lj 分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标 K 和长度 L。 例如,对于序列 A={1 ,2,4,4 ,5,6,8,9,4,5,8},将输出K=4, L=5。

    【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为: 循环控制变量=初值,终值


    正确答案:(1)n-1
    (2)Lj+1→Lj        
    (3)Lj > L     
    (4)Kj
    (5)i+1

  • 第6题:

    阅读下列说明和C代码,回答问题,将解答填入答题纸的对应栏内。
    【说明】
    计算一个整数数组a的最长递增子序列长度的方法描述如下:
    假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度为 ;其中b[i]满足最优子结构,可递归定义为:

    【C代码】
    下面是算法的C语言实现。
    (1)常量和变量说明
    a:长度为n的整数数组,待求其最长递增子序列
    b:长度为n的数组,b[i]记录以a[i](0≤ilen:最长递增子序列的长度
    i, j:循环变量
    temp:临时变量
    (2)C程序

    #include int maxL(int*b, int n) {int i, temp=0;for(i=0; itemp) temp=b[i]; } return temp;}int main() { int n,a[100], b[100], i, j, len; scanf("%d", &n); for(i=0;i
    【问题1】(8分)
    根据说明和C代码,填充C代码中的空(1)~(4)。
    【问题2】(4分)
    根据说明和C代码,算法采用了 (5) 设计策略,时间复杂度为 (6) (用O符号表示)。
    【问题3】(5分)
    已知数组a={3,10,5,15,6,8},据说明和C代码,给出数组b的元素值。


    答案:
    解析:
    【问题1】
    (1)b[0]=1
    (2)j(3)a[j]<=a[i]
    (4)b[i]=len+1
    【问题2】(4分)
    (5)动态规划法
    (6)O(n2)
    【问题3】(5分)
    B={1,2,2,3,3,4}

  • 第7题:

    对于一个长度为n(n>1)且元素互异的序列,令其所有元素依次通过一个初始为空的栈后,再通过一个初始为空的队列。假设队列和栈的容量都足够大,且只要栈非空就可以进行出栈操作,只要队列非空就可以进行出队操作,那么以下叙述中,正确的是( )。

    A.出队序列和出栈序列一定互为逆序
    B.出队序列和出栈序列一定相同
    C.入栈序列与入队序列一定相同
    D.入栈序列与入队序列一定互为逆序

    答案:B
    解析:
    本题考查数据结构基础知识。栈和队列都是线性的数据结构。栈的操作要求是入栈和出栈都在表尾进行,即在栈中有多个元素时,后进去的元素先出来,特点是后进先出,元素入栈的顺序与出栈的顺序可以相同也可以不同。而队列的修改要求是在队尾加入元素,在队头删除元素,特点是先进先出,元素的入队顺序与出队顺序一定相同。将一个栈和队列连接后,进出队列的元素顺序是相同的,而进入队列的元素顺序正是从栈中出来的元素顺序,因此,正确的叙述为出队序列与出栈序列一定相同

  • 第8题:

    阅读下列说明和C代码,回答下列问题。[说明] 计算一个整数数组a的最长递增子序列长度的方法描述如下: 假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n”)为结尾元素的最长递增子序列的长度为



    其中b[i]满足最优子结构,可递归定义为:



    [C代码] 下面是算法的C语言实现。 10常量和变量说明 a:长度为n的整数数组,待求其最长递增子序列 b:长度为n的数组,b[i]记录以a[i](0≤i<n”)为结尾元素的最长递增子序列的长度,其中0≤i<n len:最长递增子序列的长度 i,j:循环变量 temp:临时变量 11C程序 # jnclude<stdio,h> mtmaxL(int*b,mt n) { mt I, temp=0 for(i=0; i<n; i++) { (b[i]>temp) temp=b[i] return temp; int main12 { int n,a[100],b[100],i,j,len; scanf(" % d",&n); for(i=0;i<n;i++) { scanf("% d",&a[i]); ___1___: for(i=1;i<n;i++) { for(j=0,len=0;___2___;j++){ if( ___3___&&len<b[j]) Ien=b[j] ___4___; } Printf("len:% d\n",maxL(b,n)) Primtf("\n") }1~4、 根据说明和C代码,填充C代码中的空______~______。5、 根据说明和C代码,算法采用了______设计策略,时间复杂度为______(用O符号表示)6、 已知数组a={3,10,5,15,6,8},据说明和C代码,给出数组b的元素值。


    答案:
    解析:
    本题考查最长递增序列问题,是一种动态规划法,也考查时间复杂度的计算。1~4、b[0]=1 j<=i a[j]<=a[i] b[i]=len+15、动态规划法 O(n2)    6、B={1,2,2,3,3,4}

  • 第9题:

    已知一个栈的输入序列为1,2,3,...,n,则其输出序列的第2个元素为n的输出序列的种数是()。


    正确答案:n—1

  • 第10题:

    广告频度从递增到递减,又由递减到递增的变化过程是()

    • A、递降序列型
    • B、波浪序列型
    • C、渐进序列型
    • D、忽升忽降型

    正确答案:B

  • 第11题:

    单选题
    内点罚函数法的罚因子为()
    A

    递增负数序列

    B

    递增正数序列

    C

    递减正数序列

    D

    递减负数序列


    正确答案: B
    解析: 暂无解析

  • 第12题:

    填空题
    已知一个栈的输入序列为1,2,3,...,n,则其输出序列的第2个元素为n的输出序列的种数是()。

    正确答案: n—1
    解析: 暂无解析

  • 第13题:

    ● 对于长度为m(m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是 (61) 。

    (61)

    A. 若入栈和入队的序列相同,则出栈序列和出队序列可能相同

    B. 若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序

    C. 入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是1:n(n≥1)

    D. 入栈序列与出栈序列关系为1:1,而入队序列与出队序列关系是1:n(n≥1)


    正确答案:D
    试题(61)分析
      本题考查数据结构基础知识。
      队列的元素按特点是先进先出。对于队列,元素的进入次序和出队的次序相同,如,入队的序列为a、b、c,则出队的序列也为a、b、c。对于栈则不同,栈的运算特点是后进先出。若入栈序列为a、b、c,则出栈序列可能为a、b、c,a、c、b,b、a、c,b、c、a或者c、b、a,而c、a、b则不行,因此,入栈序列与出栈序列关系为1:1,而入队序列与出队序列关系为1:n(n1)。
    参考答案
    (61)D

  • 第14题:

    两个递增序列A和B的长度分别为m和n(m<n),将两者归并为一个长度为m+n的递增序列时,______,归并过程中元素的比较次数最少。

    A.当A的最大元素大于B的最大元素时

    B.当A的最大元素小于B的最小元素时

    C.当A的最小元素大于B的最小元素时

    D.当A的最小元素小于B的最大元素时

    A.

    B.

    C.

    D.


    正确答案:B

  • 第15题:

    将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较(64)次。

    A.1

    B.n-1

    C.n

    D.2/9


    正确答案:C
    解析:显然当一个表的所有字符都小于另一个表的所有字符的时候,比较的次数最少。这时,只需把其中一个表的每个字符与另一个表中的每一个字符比较一次,即共需比较n次。

  • 第16题:

    将两个长度为n的递增有序表归并成一个长度为2n的递增有序表,最少需要进行关键字比较(38)次。

    A.n

    B.n2-1

    C.2n-1

    D.2n2


    正确答案:A
    解析:由于两个表有序,最少比较是一个表的最大结点,比另一个表的所有结点小。如{1,2,3}和{4,5,6}。我们只要将表中第一个结点(最小结点),和另个表中所有结点比较,比较次数为另个表的表长。

  • 第17题:

    阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。

    【说明】

    计算一个整数数组a的最长递增子序列长度的方法描述如下:

    假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长

    递增子序列的长度,则数组a的最长递增子序列的长度为器;其中b[i]满足最优子结构,可递归定义为:

    【c代码】

    下面是算法的c语言实现。

    (1)常量和变量说明

    a:长度为n的整数数组,待求其最长递增子序列

    b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,

    其中0≤i<n

    len:最长递增子序列的长度

    i.j:循环变量

    temp,临时变量

    (2)C程序

    include <stdio . h>

    int maxL (int *b. int n) {

    int i. temp =0;

    For(i = 0; i < n; i++){

    if (b[i] > temp )

    Temp= b[i];

    }

    Return temp;

    【问题l】(8分)

    根据说明和C代码,填充C代码中的空(1)~(4)。

    【问题2】(4分)

    根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示)。

    【问题3】(3分)

    已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。


    正确答案:
    本题考查算法设计与分析以及用C程序设计语言来实现算法的能力。此类题目要求考生认真阅读题目对问题的描述,理解算法思想,并会用C程序设计语言来实现。【问题1】根据题干描述,用一个数组b来记录数组a每个子数组的最长递增子序列的长度,即b[i]记录a[0..i]的最长递增子序列的长度。首先,只有一个元素的数组的最长递增子序列的长度为1,即给b[0]直接赋值1。因此,空(1)处填写“b[0]=1”。两重for循环中,第一重是从a数组的第二个元素开始,考虑每个子数组a[0....II]的最长递增子序列的长度,第二重是具体的计算过程。考虑子数组a[0..I],其最长递增于序列的长度应该等于子数组a[O.i-l]中的比元素a[i]小的元素的最长递增子序列的长度加1,当然,可能存在多个元素比元素a[i]小,那么存在多个最长递增子序列的长度,此时,取最大者。因此,空处填写j<i”,即考虑子数组a[O...i-l]。空(3)处填写“a[j]<=a[i]”,要求元素值小于等于a[i]而且目前的长度应该小于当前考虑的子数组的最长子序列长度。空(4)处填写“b[i]=len+1”。简单的说,程序是根据题干给出的公式来实现的。另外,计算的过程不是采用递归的方式,而是以一种自底向上的方式进行的【问题2】从题干说明和C程序来看,这是一个最优化问题,而且问题具有最优子结构,一个序列的最长递增子序列由其子序列的最长递增子序列构成。在计算过程中采用了自底向上的方式来进行,这具有典型的动态规划特征。因此采用的是动态规划设计策略。C程序中,有两重for循环,因此时间复杂度为。【问题3】输入数组为数组a={3.10,5,15,6,8},很容易得到,子数组a[0...0],a[0..1].…,a[0....5]的最长递增子序列的长度分别为l,2,2,3,3,4,因此答案为b={I,2,2,3,4}。该题可以根据题干说明、C代码来计算。由于输入很简单,答案也可以从输入直接许算出来。试题四参考答案【问题1】(1)b[0]=I(2)j<i(3)a[j]<=a[i](4)b[i]=len+1【问题2】(5)动态规划(6)【问题3】b={1,2,2,3,3,4}

  • 第18题:

    求解两个长度为n的序列X和Y的一个最长公共子序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCBA)可以采用多种计算方法。如可以采用蛮力法,对X的每一个子序列,判断其是否也是Y的子序列,最后求出最长的即可,该方法的时间复杂度为( )。经分析发现该问题具有最优子结构,可以定义序列长度分别为i和j的两个序列X和Y的最长公共子序列的长度为c[i,j],如下式所示。



    采用自底向上的方法实现该算法,则时间复杂度为(请作答此空)

    A.O(n^2)
    B.O(n^21gn)
    C.O(n^3)
    D.O(n2^n)

    答案:A
    解析:
    蛮力法,对X的每一个子序列,判断是否也是Y的子序列,其中,长度为n的序列X共有2^n个子序列,判断其是否是Y的子序列时间是n,因此是n*2^n;采用动态规划法自底向上实现时,根据递归公式,实际是关于i和j的两重循环,因此时间复杂度是n^2.

  • 第19题:

    两个递增序列 A 和 B 的长度分别为 m 和 n(m
    A.a1B.b1C.a1D.b1

    答案:A
    解析:
    两个递增序列A、B进行归并时,从序列的第一个元素开始,分别从这两个序列中取一个元素并进行比较,将较小者输出,然后从较小者所在序列取下一个元素再进行比较,循环往复,直到某个序列的全部元素已经输出,再将另一个序列的剩余元素依次输出即可。
    若am<b1 ,则需要依次比较 a1与b1,a2与b1,a3与b1,am-1与b1,am与b1共需要m次比较,这是归并时比较次数最少的情况。

  • 第20题:

    若一个栈初始为空,其输入序列是1,2,3,…,n-1,n,其输出序列的第一个元素为k(1≤k≤「n/2」),则输出序列的最后一个元素是()。

    • A、值为n的元素
    • B、值为1的元素
    • C、值为n-k的元素
    • D、不确定的

    正确答案:D

  • 第21题:

    对初始状态为递增序列的表按递增序列排序,最省时间的事()算法,最费时间的是()算法。


    正确答案:插入排序;快速排序

  • 第22题:

    内点罚函数法的罚因子为()

    • A、递增负数序列
    • B、递增正数序列
    • C、递减正数序列
    • D、递减负数序列

    正确答案:C

  • 第23题:

    填空题
    对初始状态为递增序列的表按递增序列排序,最省时间的事()算法,最费时间的是()算法。

    正确答案: 插入排序,快速排序
    解析: 暂无解析