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)大元素作为分界元素,子数组剩说的元素两端也是大元素时,会进行一次不必要的交换。小元素、中心元交换到子数组左边时 小元素、中元素是无序排列。

  • 相关阅读:
    R
    R 包的安装,使用,更新
    R 安装 简单实用
    R 介绍
    mongo:用户管理
    MySQL 书籍
    mongo: 索引
    blog
    游标处理
    如何在ASP.NET的web.config配置文件中添加MIME类型
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860199.html
Copyright © 2011-2022 走看看