itgle.com
更多“将数组{8,23,4,16,77,-5,53,100}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换()次。A、4B、5C、6D、7”相关问题
  • 第1题:

    将数组{1,1,2,4,7,5}从小到大排序,若采用(62)排序算法,则元素之间需要进行的比较次数最少,

    A.直接插入

    B.归并

    C.堆

    D.快速


    正确答案:A
    本题主要考查排序算法。本题给出的数组如果采用直接插入排序,那么其排序过程如下:首先1和1比较找到合适的插入位置,然后2和1比较,找到合适的插入位置;然后4和2比较,找到4的合适插入位置,然后7和4比较,找到7的合适插入位置,然后5和7比较,因为5比7小,因此要与4比较,然后就找到了5的合适位置,整个排序过程结束。总的比较次数为1+1+1+1+2=6次。归并排序的算法思想是将两个相邻的有序子序列归并为一个有序序列,然后再将新产生的相邻序列进行归并,当只剩下一个有序序列时算法结束。其过程如下:1和1比较,然后归并,2和4比较,然后归并,7和5比较,然后归并,解析来将再将[1,1]和[2,4]归并,用2分别与两个1比较得到[1,1,2,4],然后再用[1,1,2,4]与[5,7]归并。这时,用5与[1,1,2,4]中每个元素分别比较一次,最后即可得到整个有序序列。总的比较次数为:1+1+1+2+4=9次。堆排序的基本思想是先将序列建立堆,然后输出堆顶元素,再将剩下的序列建立堆,然后再输出堆顶元素,依此类推,直到所有元素均输出为止。因此在堆排序过程中,最重要的就是建堆。本题中给出的数组序列就是一个小顶堆,然后输出堆顶,将剩下的部分调整为小顶堆,调整的过程为,首先将最后一个元素5置换到堆顶,然后用5与左孩子结点比较,由于大于左孩子,因此与其置换位置,然后值为5的结点仍然大于其左孩子结点,再置换位置,这样就得到了新的小顶堆,这个过程总共比较2次。后面的排序过程是同样的道理。本题采用堆排序算法总共的比较次数为7次。快速排序的基本思想是:①以某个元素为支点(通常是第一个元素),通过比较关键码和交换记录,将待排序的序列分成两个区间。其中左区间中所有元素的关键字均不大于支点元素的关键字,而右区间中所有元素的关键字均不小于支点元素的关键字。称此过程为一次划分;②分别对左右区间的待排序序列,再按照以上方法进行划分,直到整个序列按关键字有序为止。由于本题给出的例子基本是从小到大有序,不适合采用快速排序发,其总共需要的比较次数为15次。

  • 第2题:

    试题一(共 15 分)

    阅读以下说明和流程图,填补流程图中的空缺(1)~(9) ,将解答填入答题纸的对应栏内。

    [说明]

    假设数组 A 中的各元素 A(1),A(2) ,…,A(M)已经按从小到大排序(M≥1) ;数组 B 中的各元素 B(1),B(2),…,B(N)也已经按从小到大排序(N≥1) 。执行下面的流程图后, 可以将数组 A 与数组 B 中所有的元素全都存入数组 C 中, 且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序) 。例如,设数组 A 中有元素:2,5,6,7,9;数组B 中有元素:2,3,4,7;则数组 C 中将有元素:2,2,3,4,5,6,7,7,9。

    [流程图]


    正确答案:

  • 第3题:

    阅读以下说明和流程图,填补流程图中的空缺(1)~(9),将解答填入对应栏内。1、【说明】 假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序 (注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5, 6,7,9;数组B中有元素2,3,4,7:则数组C中将有元素:2,2,3,4,5,6,7, 7, 9。【流程图】


    答案:
    解析:
    (1)1(2)A(i)(3)B(j)(4)i(5)j(6)B(j)(7)A(i)(8)j(9)i
    【解析】

    这是最常见的一种合并排序方法。为对较大的序列进行排序,先将其分割成容量相当的几个部分,分别进行排序,最后再合并在一起。当然,这些排序要么都是升序,要么都是降序。本题全部是按升序排序的。 例如,为了将整副扑克牌按升序进行排序,先将其分割成两个部分(数量大致相当),对每个部分完成升序排序后,就形成了两叠已排序的牌。如何将其合并呢?办法如下。 每次都比较各叠最上面的两张牌,取出比较小的,放入新堆,再继续比较。直到其中一堆空了,就将另一堆剩余的牌逐张放入新堆。新堆就是合并后的已完成排序的序列。 在数据排序时,遇到相同的数比较时,任取一个就可以了。 对本题来说,i、j、k是数组A、B、C的下标,初始时,都应该是1。因此,空(1)处应填写1。 将A(i)与B(j)进行比较后,如果A(i)≤B(j),那么应该将A(i)→C(k)。这是升序的要求。因此,空(2)处应填A(i)。如果A(i)>B(j),则应将B(j)→C (k)。因此,空(3)处应填B(j)。 在A(i)→C(k)后,i应增加1,为下次取A(i)再比较做准备(k也需要增加1,为下次存入C(k)做准备)。这时,需要比较数组A是否已经取完,即判断i>M是否成立。如果i>M,则表示数组A中的元素已经全部取出,需要将数组B中剩余的元素逐个移入C(k)。因此,空(4)处应填i,空(6)处应填B(j)。数组B处的元素何时移完呢?这就需要判断i>N是否成立。因此,空(8)处应填j。 同样,空(3)处将B(j)存入C(k),直到,j>N时数组B中的元素取完。此时,需要将数组A中剩余的元素逐个移入C(k),直到i>M时全部完成。因此,空(5)处应填j,空(7)处应填A(i),空(9)处应填i。

  • 第4题:

    将数组{1,1,2,4,7,5}从小到大排序,若采用(请作答此空)排序算法,则元素之间需要进行的比较次数最少,共需要进行( )次元素之间的比较。

    A.直接插入
    B.归并
    C.堆
    D.快速

    答案:A
    解析:
    直接插入排序算法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第1趟比较前两个数,然后把第2个数按大小插入到有序表中;第2趟把第3个数据与前两个数从前向后扫描,把第3个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为(n2),空间复杂度为0(1)。依题意,将数组{1,1,2,4,7,5}从小到大排序,若采用直接插入排序算法,则元素之间需要进行的比较次数最少,共需要进行6次元素之间的比较。

  • 第5题:

    利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素30要进行()次元素间的比较。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:B

  • 第6题:

    数组是相同类型的数据元素的集合,数据元素的类型可以是任意的,可以创建数值数组、()、字符数组和()。


    正确答案:布尔数组;簇数组

  • 第7题:

    任一队在每半场的前()次累计犯规,守方可以排人墙,任意球可以直接得分。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:B

  • 第8题:

    在高锰酸根(MnO4-)离子中,元素锰(Mn)的氧化数为()

    • A、+4
    • B、+5
    • C、+6
    • D、+7

    正确答案:D

  • 第9题:

    char s[]="where";则s数组的的长度是()。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:C

  • 第10题:

    设变量定义为char format[]=“s=%d/n”;则数组format中有()个元素。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:C

  • 第11题:

    数组定义为inta[6],数组a中有()个元素。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:C

  • 第12题:

    单选题
    将数组{8,23,4,16,77,-5,53,100}中的元素按从小到大的顺序排列,每次可以交换任意两个元素,最少需要交换()次。
    A

    4

    B

    5

    C

    6

    D

    7


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

  • 第13题:

    ● 将数组{1,1,2,4,7,5}从小到大排序,若采用(62)排序算法,则元素之间需要进行的比较次数最少,共需要进行(63)次元素之间的比较。 A.直接插入 B.归并 C.堆 D.快速 A.5 B.6 C.7 D.8


    正确答案:A,B
    试题62、63分析本题主要考查排序算法。本题给出的数组如果采用直接插入排序,那么其排序过程如下:首先1和1比较找到合适的插入位置,然后2和1比较,找到合适的插入位置;然后4和2比较,找到4的合适插入位置,然后7和4比较,找到7的合适插入位置,然后5和7比较,因为5比7小,因此要与4比较,然后就找到了5的合适位置,整个排序过程结束。总的比较次数为1+1+1+1+2=6次。归并排序的算法思想是将两个相邻的有序子序列归并为一个有序序列,然后再将新产生的相邻序列进行归并,当只剩下一个有序序列时算法结束。其过程如下:1和1比较,然后归并,2和4比较,然后归并,7和5比较,然后归并,解析来将再将[1,1]和[2,4]归并,用2分别与两个1比较得到[1,1,2,4],然后再用[1,1,2,4]与[5,7]归并。这时,用5与[1,1,2,4]中每个元素分别比较一次,最后即可得到整个有序序列。总的比较次数为:1+1+1+2+4=9次。堆排序的基本思想是先将序列建立堆,然后输出堆顶元素,再将剩下的序列建立堆,然后再输出堆顶元素,依此类推,直到所有元素均输出为止。因此在堆排序过程中,最重要的就是建堆。本题中给出的数组序列就是一个小顶堆,然后输出堆顶,将剩下的部分调整为小顶堆,调整的过程为,首先将最后一个元素5置换到堆顶,然后用5与左孩子结点比较,由于大于左孩子,因此与其置换位置,然后值为5的结点仍然大于其左孩子结点,再置换位置,这样就得到了新的小顶堆,这个过程总共比较2次。后面的排序过程是同样的道理。本题采用堆排序算法总共的比较次数为7次。快速排序的基本思想是:(1)以某个元素为支点(通常是第一个元素),通过比较关键码和交换记录,将待排序的序列分成两个区间。其中左区间中所有元素的关键字均不大于支点元素的关键字,而右区间中所有元素的关键字均不小于支点元素的关键字。称此过程为一次划分;(2)分别对左右区间的待排序序列,再按照以上方法进行划分,直到整个序列按关键字有序为止。由于本题给出的例子基本是从小到大有序,不适合采用快速排序发,其总共需要的比较次数为15次。参考答案(62)A(63)B

  • 第14题:

    阅读下列说明和流程图,填补流程图中的空缺(1)~(9),将解答填入答题纸的对应栏内。【说明】假设数组A中的各元素A⑴,A (2),…,A (M)已经按从小到大排序(M>1):数组B中的各元素B(1) , B (2) . B (N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素: 2,5,6,7,9;数组B中有元素: 2,3,4,7;则数组C中将有元素: 2,2,3,4,5,6,7,7,9.


    答案:
    解析:
    (1)1 (2)A (i) (3) B (j)⑷ i (5)J(6) B (j)(7) A (i)(8) j(9) i

  • 第15题:

    将数组{1,1,2,4,7,5}从小到大排序,若采用( )排序算法,则元素之间需要进行的比较次数最少,共需要进行(请作答此空)次元素之间的比较。

    A.5
    B.6
    C.7
    D.8

    答案:B
    解析:
    直接插入排序算法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第1趟比较前两个数,然后把第2个数按大小插入到有序表中;第2趟把第3个数据与前两个数从前向后扫描,把第3个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为(n2),空间复杂度为0(1)。依题意,将数组{1,1,2,4,7,5}从小到大排序,若采用直接插入排序算法,则元素之间需要进行的比较次数最少,共需要进行6次元素之间的比较。

  • 第16题:

    解析法相对定向中,一个像对所求的相对定向元素共有()个。

    A:4
    B:5
    C:6
    D:7

    答案:B
    解析:
    相对定向包含5个定向元素。故选B。

  • 第17题:

    儿童家具中木家具表面涂层有()个可迁移元素。

    • A、4
    • B、5
    • C、6
    • D、8

    正确答案:D

  • 第18题:

    用下面语句定义的数组所包含的数组元素的个数是() Dim A(5)as Integer

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:C

  • 第19题:

    锰族元素的最高氧化数是()。

    • A、+4
    • B、+5
    • C、+6
    • D、+7

    正确答案:D

  • 第20题:

    在快速排序方法中,进行每次划分时,是从当前待排序区间的()向()依次查找出处于逆序的元素并交换之,最后将基准元素交换到一个确定位置,从而以该位置把当前区间划分为前后两个子区间。


    正确答案:两端;中间

  • 第21题:

    $arr = range(1,5),$arr数组有几个元素()。

    • A、4
    • B、5
    • C、6
    • D、7

    正确答案:B

  • 第22题:

    冒泡排序(BubbleSort)如果一个数组有10个元素,那么要从小到大排列,利用冒泡排序法需要几趟比较过程()

    • A、10次
    • B、8次
    • C、7次
    • D、9次

    正确答案:D

  • 第23题:

    下列有关数组中元素位置交换的描述,错误的是()。

    • A、位置交换的过程中需要借助一个中间变量
    • B、位置交换的过程至少需要三步
    • C、位置交换后数组的角标顺序发生了改变
    • D、位置交换后数组的角标顺序不会发生改变

    正确答案:C