zoukankan      html  css  js  c++  java
  • Algs4-2.1.2在选择排序中,一个元素最多可能会被交换多少次?

     2.1.2在选择排序中,一个元素最多可能会被交换多少次?平均可能会被交换多少次?
    答:
    1)设对N个元素进行排序,那么有N个位置用来摆放这N个元素。一个元素无论在排序前还是在交换后所处的位置只可能在1至N的某一个位置上,而排序后这个元素也一定在1至N的某个位置k上,当排序前和交换后这个元素没有在排序后的位置k上时就需要进行一次交换,那么一个元素最多交换的次数是指尽可能的在排序前和交换后使这个元素不在位置k上,而这样的位置个数为:除开排序后所在的1个位置的所有其他位置,即N-1个位置。由于算法2.1中的代码中元素自身可以交换,所以最多有N次交换。
    例如一个未排序的序列:5 1 2 3 4中元素5就是一个需要最多次交换才能处在排序后的位置的元素。
    5 1 2 3 4

    1 5 2 3 4
    1 2 5 3 4
    1 2 3 5 4
    1 2 3 4 5
    1 2 3 4 5

    2)对N个元素进行排序时,最多进行N次交换,每个元素平均交换1次。

  • 相关阅读:
    记录:2019-06-15
    安卓APP环境搭建
    delphi 各版本的特性
    php.ini文件下载
    mysql数据库目录my.ini的内容
    Windows2008 R2 X64 PHP环境搭建步骤
    窗口关闭时弹出内存不能为read
    Delphi编译选项
    Android中EditText无法再次获得焦点
    Android设置分隔线
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860002.html
Copyright © 2011-2022 走看看