Sorting N个整数要按O(N)排序?

Sorting N个整数要按O(N)排序?,sorting,data-structures,time-complexity,Sorting,Data Structures,Time Complexity,假设在(0,n2)范围内有n个整数 ).这些整数都是其他整数的平方根。 说明是否可以按O(n)对这些数字进行排序 我假设我们会取每个整数的平方根,但我不确定是否可以将它们按O(n)排序。如果您愿意使用O(n)空间,我们将不胜感激。是的: 您已将N个整数存储在数组A中 为位图B分配2n+1位,初始化为零 对于每个整数,将B[A[i]]=1 创建空列表: 按顺序迭代B,以便如果B[i]==1,则将i添加到列表中 它可以在时间O(2n)=O(n)内完成

假设在(0,n2)范围内有n个整数 ).这些整数都是其他整数的平方根。 说明是否可以按O(n)对这些数字进行排序


我假设我们会取每个整数的平方根,但我不确定是否可以将它们按O(n)排序。如果您愿意使用O(n)空间,我们将不胜感激。

是的:

  • 您已将N个整数存储在数组A中
  • 为位图B分配2n+1位,初始化为零
  • 对于每个整数,将B[A[i]]=1
  • 创建空列表:
  • 按顺序迭代B,以便如果B[i]==1,则将i添加到列表中
它可以在时间O(2n)=O(n)内完成