假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为()。A、 1, 3, 5, 7, 9, 12B、 1, 3, 5, 9, 7, 12C、 1, 5, 3, 7, 9, 12D、 1, 5, 3, 9, 12, 7

假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为()。

  • A、 1, 3, 5, 7, 9, 12
  • B、 1, 3, 5, 9, 7, 12
  • C、 1, 5, 3, 7, 9, 12
  • D、 1, 5, 3, 9, 12, 7

相关考题:

元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是( )(进栈出栈可以交替进行)。 A.7,5,3,1B.7,5,1,3C.3,1,7,5D.1,3,5,7

请写出用冒泡排序法对序列(5,1,7,3,1,6,9,3,2,7,6)进行第-遍扫描后的中间结果是________。

若一组记录的排序码为(7,9,3,5,1,2,10),则利用堆排序的方法建立的初始堆为()A.10,7,9,3,5,1,2B.10,9,7,5,1,2,3C.10,9,7,5,3,2,1D.10,9,7,3,2,1,5

若将元素10插入到堆A=(15,13,9,5,12,8,7,4,0,6,2,1)中,调用maxHeaplnsert函数进行操作,则新插入的元素在堆A中第(9)个位置(从1开始)。

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列{6,8,9,1,2,5,4,7,3}经重排后成为{3,4,5,2,1,6,8,9,7}【函数】include < stdio. h >include < conio. h >void jsValue( int a [10] [9] ){ int i,j,k,n,temp;int b[9];for(i=0;i<10;i++){ temp=a[i] [0];k=8;n=0;for(j=8;j=0;j--){ if(temp < a[i] [j]) (1)=a[i][j];if(temp >a[i] [j]) (2)=a[i][j];if(temp =a[i] [j]) (3)= temp;}for(j=0;j<9;j++) a[i][j] =b[j];}}void main( )int a[10] [9] = {{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},{8,2,1,9,3,5,4,6,7}, {3,5,1,2,9,8,6,7,4},{4,7,8,9,1,2,5,3,6}, {4,7,3,5,1,2,6,8,9},{9,1,3,5,8,6,2,4,7}, {2,6,1,9,8,3,5,7,4},{5,3,7,9,1,8,2,6,4}, {7,1,3,2,5,8,9,4,6}};int i,j;(4);for(i=0;i<10;i++) {for(j=0;j<9;j++) {printf("%d",a[i] [j] );if((5))printf(",");}printf(" \n" );}getch( );}

对有18个元素的有序表做折半查找,则查找A[3]的比较序列的下标依次为(13)。A.1-2-3B.9-5-2-3C.9-5-3D.9-4-2-3

下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现以上功能,最后调用函数writeDat(),将新序列输出到文件out.dat中。说明:程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9] 中,分别求出这10个新序列。例如:序列{6, 8, 9, 1, 2, 5, 4, 7, 3}重排后为{3, 4, 5, 2, 1, 6, 8, 9, 7}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#includestdio.hvoid jsValue(int a[10][9]){ } void main(){ int a[10][9]={{6,8,9,1,2,5,4,7,3} {3,5,8,9,1,2,6,4,7} {8,2,1,9,3,5,4,6,7} {3,5,1,2,9,8,6,7,4} {4,7,8,9,1,2,5,3,6} {4,7,3,5,1,2,6,8,9} {9,1,3,5,8,6,2,4,7} {2,6,1,9,8,3,5,7,4} {5,3,7,9,1,8,2,6,4} {7,1,3,2,5,8,9,4,6} }; int i,j; jsValue(a); for(i=0;i10;i++){ for(j=0;j9;j++) { printf("%d",a[i][j]); if(j=7) printf(","); } printf("\n");}writeDat(a);}void writeDat(int a[10][9]){ FILE *fp; int i,j; fp=fopen("out.dat","w"); for(i=0;i10;i++){ for(j=0;j9;j++){ fprintf(fp,"%d",a[i][j]); if(j=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}

设有初始序列(8,5,2,12,7,1,6,10,9,3,4,11),排序后产生新序列(4,5,2, 3,7,1,6,8,9,10,12,11),问采用的是下列哪一个排序算法一趟扫描的结果?( )A.堆排序B.初始步长为4的希尔排序C.二路归并排序D.以8为分界元素的快速排序

设有关键码序列(Q;G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是( )。A)1B)3C)7D)9

对关键字序列(6,1,4,3,7,2,8,5)进行快速排序时,以第1个元素为基准的一次划分的结果为 ( )A.(5,1,4,3,6,2,8,7)B.(5,1,4,3,2,6,7,8)C.(5,1,4,3,2,6,8,7)D.(8,7,6,5,4,3,2,1)

● 假设有 8 个记录,它的初始关键字序列为{5,7,3,8,2,9,1,4},用冒泡排序对它进行排序,第5次排序结果为 (44) 。(44)A. 5,3,7,2,8,1,4,9B. 2,1,3,4,5,7,8,9C. 3,2,5,1,4,7,8,9D. 1,2,3,4,5,7,8,9

元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。A、7,5,3,1B、7,5,1,3C、3,1,7,5D、1,3,5,7

若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};A、10B、9C、6D、5

若有以下数组a,数组元素:a[0]~a[9],其值为 9  4  12  8  2  10  7  5  1  3   该数组的元素中,数值最大的元素的下标值是()

假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为()。A、 2B、 3C、 4D、 5

假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找。若查找元素54,需依次与哪些元素比较?

对有18个元素的有序表作二分(折半)查找,则查找A[3]的比较序列的下标为()。A、 1、2、3B、 9、5、2、3C、 9、5、3D、 9、4、2、3

元素1,3,5,7按顺序依次入队列,按该队列的出队序列进栈,该栈的可能输出序列是()A、7,5,1,3B、7,3,1,5C、5,1,3,7D、7,5,3,1

假定一个初始堆为(1, 5, 3, 9, 12, 7, 15, 10),则进行第一趟堆排序后得到的结果为()。A、 3, 5, 7, 9, 12, 10, 15, 1B、 3, 5, 9, 7, 12, 10, 15, 1C、 3, 7, 5, 9, 12, 10, 15, 1D、 3, 5, 7, 12, 9, 10, 15, 1

若有以下数组a,数组元素:a[0]~a[9],其值为   9  4  12  8  2  10  7  5  1  3  该数组可用的最小下标值是()

若有以下数组a,数组元素:a[0]~a[9],其值为 9  4  12  8  2  10  7  5  1  3  该数组中下标最大的元素的值是()

对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列为()A、  1, 3, 5, 7, 9B、  9, 7, 5, 3, 1C、  5, 3, 1, 7, 9D、  5, 7, 9, 1, 3

F12L413柴油机的发火顺序是()。A、1-5-3-8-10-7-6-11-2-9-4-12B、1-8-5-10-3-7-6-11-2-9-4-12C、1-10-3-8-7-11-6-9-2-4-12-5D、1-8-5-10-7-3-6-11-2-9-4-12

单选题假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为()。A 2B 3C 4D 5

单选题对下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该次划分过程中需要移动元素次数最多的序列为()A  1, 3, 5, 7, 9B  9, 7, 5, 3, 1C  5, 3, 1, 7, 9D  5, 7, 9, 1, 3

单选题假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为()。A 1, 3, 5, 7, 9, 12B 1, 3, 5, 9, 7, 12C 1, 5, 3, 7, 9, 12D 1, 5, 3, 9, 12, 7

单选题假定一个初始堆为(1, 5, 3, 9, 12, 7, 15, 10),则进行第一趟堆排序后得到的结果为()。A 3, 5, 7, 9, 12, 10, 15, 1B 3, 5, 9, 7, 12, 10, 15, 1C 3, 7, 5, 9, 12, 10, 15, 1D 3, 5, 7, 12, 9, 10, 15, 1

单选题元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。A7,5,3,1B7,5,1,3C3,1,7,5D1,3,5,7