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次。

  • 相关阅读:
    CFgym102394I
    Infinite Fraction Path (后缀数组)
    2016ACM/ICPC亚洲区沈阳站-重现赛
    2sat学习笔记
    bzoj4176
    bzoj3309
    6C
    3U
    3T
    3R
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860002.html
Copyright © 2011-2022 走看看