【问题标题】:What Abstract Data Type (ADT) is used to implement steinhaus-johnson-trotter (permutations) algorithm in Python?什么抽象数据类型(ADT)用于在 Python 中实现 steinhaus-johnson-trotter(排列)算法?
【发布时间】:2016-04-01 15:36:41
【问题描述】:

什么抽象数据类型 (ADT) 用于实现 steinhaus-johnson-trotter algorithm 以在 Python 中生成对象排列?

我特别担心在数据的任何位置插入的复杂性成本:

1

12
21

123
132
312

来自llist 模块的双向链表是一个不错的选择吗?

【问题讨论】:

    标签: algorithm python-2.7 permutation doubly-linked-list


    【解决方案1】:

    您不需要在序列中插入新元素,每次只需要交换两个元素。这在阵列上很快。标准的 Python 列表是作为数组实现的,参见https://wiki.python.org/moin/TimeComplexity,所以我认为它是用于此目的的最佳数据结构。

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 2012-05-03
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多