参考答案和解析
正确答案:B
更多“写快速排序可以用()方式实现。”相关问题
  • 第1题:

    以下排序方法中,稳定的排序方法是()。

    :A直接插入排序和希尔排序

    B直接插入排序和冒泡排序

    C希尔排序和快速排序

    D冒泡排序和快速排序


    参考答案:B

  • 第2题:

    有一个元素数很大的无序序列,现希望从中选出最大的5各元素,下列哪种方式效率最高? ( )

    A.堆排序

    B.快速排序

    C.基数排序

    D.起泡排序


    正确答案:A
    解析:对于一个待排序序列的键值,首先将其按堆定义建立一个堆,若采用根结点值大于左右孩子结点值的方法,首先就找到最大的键值,然后在剩下的键值中继续建堆的过程,就又找到次大的键值,如此反复,直到找到最小键值就完成了建堆的过程。

  • 第3题:

    设有1000个无序的元素,希望用最快的方式挑选出其中前10个最大元素,效率最高的排序方法是( )。

    A.堆排序

    B.快速排序

    C.基数排序

    D.起泡排序


    正确答案:A

  • 第4题:

    为实现快速排序算法,待排序列适合采用( )。

    A.顺序存储
    B.链式存储
    C.散列存储
    D.索引存储

    答案:A
    解析:
    快速排序的基本思想是:通过一趟排序将待排的记录划分为独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行快速排序,以达到整个序列有序。一趟快速排序的具体做法是:附设两个位置指示变量i和j,它们的初值分别指向序列的第一个记录和最后一个记录。设枢轴记录(通常是第一个记录)的关键字为pivotkey,则首先从j所指位置起向前搜索,找到第一个关键字小于pivotkey的记录,将其向前移,然后从i所指位置起向后搜索,找到第一个关键字大于pivotkey的记录,将其向后移,重复这两步直至i与j相等为止。显然,上述的过程需要顺序存储,以利于对元素迅速地定位。

  • 第5题:

    我们可以用()、()、()等方式写观察日记。


    正确答案:文字;图画;照片

  • 第6题:

    在直接插入排序、冒泡排序、简单选择排序和快速排序方法中,能在第一趟排序结束后就得到最大(或最小)元素的排序方法是()。

    • A、冒泡排序和快速排序
    • B、直接插入排序和简单选择排序
    • C、冒泡排序和简单选择排序
    • D、直接插入排序和快速排序

    正确答案:C

  • 第7题:

    下列关于排序方式叙述中错误的是()。

    • A、排序对话框中可以选择排序方式只有递增和递减两种
    • B、执行“格式”菜单中的“排序”命令,可以实现对工作表数据的排序功能
    • C、对工作表数据对象进行筛选,可以通过自动筛选和高级筛选实现
    • D、执行“数据”菜单中的“分类汇总”命令,可以实现对工作薄数据的分析和汇总

    正确答案:B

  • 第8题:

    简单选择排序、快速排序都是不稳定排序。


    正确答案:正确

  • 第9题:

    梁的“平法”施工图上的平面注写方式,既有集中注写,也有原位注写,他们有以下特点()

    • A、集中注写的是通用信息,原位注写的是特殊信息
    • B、集中注写了的信息,在某处不适用时,要作原位注写
    • C、集中注写的信息与原位注写的信息不一致时,应以集中注写的为准
    • D、梁的截面尺寸,只能用集中注写方式注写
    • E、梁的下部纵筋,可以用集中注写方式,也可用原位注写方式注写

    正确答案:A,B,E

  • 第10题:

    单选题
    就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是(  )。
    A

    堆排序<快速排序<归并排序

    B

    堆排序<归并排序<快速排序

    C

    堆排序>归并排序>快速排序

    D

    堆排序>快速排序>归并排序E.以上答案都不对


    正确答案: D
    解析:

  • 第11题:

    单选题
    写快速排序可以用()方式实现。
    A

    插入

    B

    递归

    C

    选择

    D

    都不对


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

  • 第12题:

    单选题
    在直接插入排序、冒泡排序、简单选择排序和快速排序方法中,能在第一趟排序结束后就得到最大(或最小)元素的排序方法是()。
    A

    冒泡排序和快速排序

    B

    直接插入排序和简单选择排序

    C

    冒泡排序和简单选择排序

    D

    直接插入排序和快速排序


    正确答案: A
    解析: 冒泡排序第一趟排序结束后,将关键字最大(或最小)的记录安置到最后一个记录的位置上。简单排序:在进行每趟排序时,从无序的记录中选择出关键字最小(或最大)的记录,将其插入到有序序列(初始时为空)的尾部。快速排序:第一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,但并未将其中最小(或最大)的记录选择出来。直接插入排序:是将一个记录直接插入已排好的有序表中,得到一个新的、记录数增1的有序表,并没有比较最大(或最小)关键字。

  • 第13题:

    以下关于快速排序的叙述正确的是()

    A.快速排序在所有排序方法中最快,而且所需辅助空间最少

    B.在快速排序中,不可以用队列替代栈

    C.快速排序的空间复杂度为O(n))

    D.快速排序在待排序的数据随机分布时效率最高


    参考答案:D

  • 第14题:

    排序都有哪几种方法?请列举。用JAVA实现一个快速

    排序。


    正确答案:

     

    本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:

    public class QuickSort {

    /**

    * 快速排序

    * @param strDate

    * @param left

    * @param right

    */

    public void quickSort(String[] strDate,int left,int right){

    String middle,tempDate;

    int i,j;

    i=left;

    j=right;

    middle=strDate[(i+j)/2];

    do{

    while(strDate[i].compareTo(middle)<0&& i<right)

    i++; //找出左边比中间值大的数

    while(strDate[j].compareTo(middle)>0&& j>left)

    j--; //找出右边比中间值小的数

    if(i<=j){ //将左边大的数和右边小的数进行替换

    tempDate=strDate[i];

    strDate[i]=strDate[j];

    strDate[j]=tempDate;

    i++;

    j--;

    }

    }while(i<=j); //当两者交错时停止

    if(i<right){

    quickSort(strDate,i,right);//从

    }

    if(j>left){

    quickSort(strDate,left,j);

    }

    }

    /**

    * @param args

    */

    public static void main(String[] args){

    String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"};

    QuickSort sort=new QuickSort();

    sort.quickSort(strVoid,0,strVoid.length-1);

    for(int i=0;i<strVoid.length;i++){

    System.out.println(strVoid[i]+" ");

    }

    }

    }

    7、有数组a[n],用java 代码将数组元素顺序颠倒

    package cn.itcast.lecture2;

    import java.util.Arrays;

    import java.util.Collections;

    public class ReverseTest {

    public static void main(String [] args)

    {

    //产生若干0到1000的随机数,作为数组的初始值

    int data[] = new int[]{

    (int)(Math.random() * 1000),

    (int)(Math.random() * 1000),

    (int)(Math.random() * 1000),

    (int)(Math.random() * 1000),

    (int)(Math.random() * 1000),

    (int)(Math.random() * 1000),

    (int)(Math.random() * 100),

    };

    System.out.println(Math.random());

    System.out.print("交换前的数据:");

    System.out.println(

    Arrays.toString(data));

    reverse(data);

    System.out.print("交换后的数据:");

    System.out.println(Arrays.toString(data));

    }

    //方法执行完后,参数data中的数据顺序即被颠倒

    //实现思路是第1个和第n个交换,第2个和第n-1个交换,依次类推...

    public static void reverse(int[] data)

    {

    int len = data.length;

    for(int i=0;i<len/2;i++)

    {

    int temp = data[i];

    data[i] = data[len-1-i];

    data[len-1-i] = temp;

    }

    }

    }

    2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:

    (¥1011)->(一千零一拾一元整)输出。

    public class RenMingBi {

    /**

    * @param args add by zxx ,Nov 29, 2008

    */

    private static final char[] data = new char[]{

    '零','壹','贰','叁','肆','伍','陆','柒','捌','玖'

    };

    private static final char[] units = new char[]{

    '元','拾','佰','仟','万','拾','佰','仟','亿'

    };

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    System.out.println(

    convert(135689123));

    }

    public static String convert(int money)

    {

    StringBuffer sbf = new StringBuffer();

    int unit = 0;

    while(money!=0)

    {

    sbf.insert(0,units[unit++]);

    int number = money%10;

    sbf.insert(0, data[number]);

    money /= 10;

    }

    return sbf.toString();

    }

    }

  • 第15题:

    栈结构不适用于下列________应用。

    A.表达式求值

    B.冒泡排序法的实现

    C.二叉树对称序周游算法的实现

    D.快速排序算法的实现


    正确答案:B
    解析:栈是一种特殊的线性表,限定仅在表的一端进行插入和删除运算的线性表,这一端称为栈顶(top),另一端则称为栈底(bottom)。表中无元素时称为空栈;最后进入栈顶的数据元素称为栈顶元素,新元素进栈要置于栈顶之上,删除或退栈必须先对栈顶进行。因此栈就形成了“后进先出” (LIFO)的操作原则。栈是使用最广泛的数据结构之一,表达式求值、递归过程实现都是栈应用的典型例子,二叉树周游具有后进先出的特性,即最先进入的左子树的周游最后完成,最后进入的左子树的周游最先完成,与栈的后进先出特性相符合。快速排序是在待排序序列中任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的一个部分,关键码值比它大的在另一个部分,再分别对两个部分实施上述过程,一直重复到排序完成, 因此快速排序也是一个递归的过程,可以递归调用的算法来实现,属于栈的应用之一。所以A、C、D选项是适用的。

  • 第16题:

    Excel数据清单的筛选可以通过()形式实现。

    A、快速筛选
    B、高级筛选
    C、自定义排序
    D、查找

    答案:A,B
    解析:
    Excel数据清单的筛选可以通过快速筛选和高级筛选形式实现。

  • 第17题:

    数据结构与算法中,快速排序的特性描述正确的是()。

    • A、快速排序是稳定排序
    • B、快速排序不稳定排序
    • C、快速排序的时间复杂度是O(nlog2n)
    • D、快速排序的时间复杂度是O(n*n)

    正确答案:B,C

  • 第18题:

    在Word使用中,可以用“自动编写摘要”功能来实现对文档的快速查阅。


    正确答案:正确

  • 第19题:

    下述排序方法中,比较次数与待排序记录的初始状态无关的是()。

    • A、插入排序和快速排序
    • B、归并排序和快速排序
    • C、选择排序和归并排序
    • D、插入排序和归并排序

    正确答案:C

  • 第20题:

    快速排序是稳定排序。


    正确答案:错误

  • 第21题:

    填空题
    我们可以用()、()、()等方式写观察日记。

    正确答案: 文字,图画,照片
    解析: 暂无解析

  • 第22题:

    多选题
    数据结构与算法中,快速排序的特性描述正确的是()。
    A

    快速排序是稳定排序

    B

    快速排序不稳定排序

    C

    快速排序的时间复杂度是O(nlog2n)

    D

    快速排序的时间复杂度是O(n*n)


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

  • 第23题:

    单选题
    下述排序方法中,比较次数与待排序记录的初始状态无关的是()。
    A

    插入排序和快速排序

    B

    归并排序和快速排序

    C

    选择排序和归并排序

    D

    插入排序和归并排序


    正确答案: D
    解析: 选择排序在最好、最坏、平均情况下的时间性能均为O(n2),归并排序在最好、最坏、平均情况下的时间性能均为O(nlog2n)。