表排序

一、表排序

定义一个指针数组作为“表”(table)

如果仅要求按顺序输出,则输出:

A[table[0]], A[table[1]] , ....., A[table[N-1]]

N个数字的排列由若干个独立的环组成

Temp = f 如何判断一个环结束? if(table[i] = i)

二、复杂度分析

最好情况:初始即有序

最坏情况:

  • 有[N/2]个环,每个环包含2个元素
  • 需要[3N/2]次元素移动

T = O(mN), m是每个A元素的复制时间

无欲速,无见小利。欲速,则不达;见小利,则大事不成。
原文地址:https://www.cnblogs.com/ch122633/p/9025534.html