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

  • 相关阅读:
    子网掩码
    IP详解
    TCP/IP模型和OSI模型的对应
    Nginx模块之请求限制
    Nginx中的压力测试工具
    Nginx服务器的处理机制
    算法笔记-动态规划
    算法笔记-分治法
    算法笔记-贪心算法
    算法笔记-乱七八糟问题
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9860002.html
Copyright © 2011-2022 走看看