【问题标题】:What is the Space Complexity of Bit Sorting?位排序的空间复杂度是多少?
【发布时间】:2020-03-10 10:47:09
【问题描述】:

位排序的空间复杂度是多少?根据其最佳和平均情况,它是 O(n)。我想知道它的空间复杂度是多少

来源标题:位排序:排序的新技术

IEEE 研究只关注时间复杂度。

谢谢!

【问题讨论】:

    标签: arrays sorting time-complexity space space-complexity


    【解决方案1】:

    它是O(n),因为您没有在某个变量的函数中创建任何新元素。只需检查它的位表示和交换位置。所以基本上,在这些步骤中:

    Step 1: convert all elements into binary form but converted elements are in same BIT
    sequence form.
    Step 2: find elements whose first leftmost bit is 1
    Step 3: repeat step 2 to all selected elements until get single BIT sequence number
    Step 4: swap selected BIT sequence with last element of an array
    Step 5: repeat step2, step3 and step4 until all elements are sorted
    Step 6: convert sorted BIT sequence elements into decimal number
    

    理论上,当您可以直接访问给定元素的位值时,您没有任何新元素。

    但是,如果您确实在其位表示中创建给定元素的深层副本,然后再次转换回元素,它仍然是O(n)(只是3*n)。现在与元素的深层副本交换,您仍然需要最多 n 新的内存空间(n 是当您在交换时总是在内存中占用新空间)。与深拷贝交换的最佳情况是您只需要一个内存空间。指针交换也是如此。所以总的来说,它是O(n)

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2014-01-01
      • 2015-06-06
      • 2011-09-25
      • 1970-01-01
      • 2015-01-20
      相关资源
      最近更新 更多