zoukankan      html  css  js  c++  java
  • Algs4-2.3.9请说明Quick.sort()在处理只有两种、三种主键值时的行为

    2.3.9请说明Quick.sort()在处理只有两种主键值的数组时的行为,以及在处理只有三种主键值的数组时的行为。
    1)两种主键值时
    1.1)小元素作为分界元素,子数组剩余的元素两端也是小元素时,会进行一次交换,这是不必要的交换,这个在有重复值时也会出现这种不必要的交换。
    1.2)大元素作为分界元素,子数组剩余的元素两端也是大元素时,会进行一次交换,这是不必要的交换,这个在有重复值时也会出现这种不必要的交换。
    1.3)在有序的情况下,仍就会递归调用,使得对比次数增加,如果一开始先找到大值,然后从两端向中移动指针,当两指值指向的元素值不同时,小值放左边,大值放右边,对比次数就是线性。

    2)三种主键值时
    1.1)小元素作为分界元素,子数组剩余的元素两端也是小元素时,会进行一次不必要的交换。中元素、大元素交换到子数组右边时 中元素、大元素是无序排列。
    1.2)中元素作为分界元素,子数组剩余的元素两端也是中元素时,会进行一次不必要的交换。中元素、大元素交换到子数组右边时 中元素、大元素是无序排列。
    1.3)大元素作为分界元素,子数组剩说的元素两端也是大元素时,会进行一次不必要的交换。小元素、中心元交换到子数组左边时 小元素、中元素是无序排列。

  • 相关阅读:
    Jenkins安装及配置
    数据库命令扩展
    常用的数据库命令
    如何使用NiFi等构建IIoT系统
    云计算之概念——IaaS、SaaS、PaaS、Daas
    emqx的一个配置参数
    利用jsoup抓取网页图片
    nohup使用
    jsoup的使用
    java知识点链接
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860199.html
Copyright © 2011-2022 走看看