小编Rea*_*ist的帖子

给定一个未排序的python列表,我如何找到排序所需的最小移动集

我有一个存储在远程数据库中的项目列表,可能是未分类的,我想对它们进行排序.数据库接受它们的命令:

move item1 before item2
move item3 after item2
Run Code Online (Sandbox Code Playgroud)

因此,给出一个表单列表:

[1,3,2,7,6,0,4]
Run Code Online (Sandbox Code Playgroud)

......我怎样才能得到一系列动作:

move 2 before 3
move 7 after 6
move 0 before 1
move 4 before 6
Run Code Online (Sandbox Code Playgroud)

我假设对bubblesort算法的修改可行,但我特别寻找仍然是pythonic的最有效的实现,并且生成最少的移动命令.

更新:列表长度为1000-10000,所有项目都是唯一的 - 没有重复.只有极少数项目 - 1-10 - 在任何给定时间都会出错.时间是一个问题 - 它应该需要几秒钟,而不是几分钟 - 但它不一定非常快.

更新2:我还想将每个项目仅移动一次

python sorting

7
推荐指数
1
解决办法
1124
查看次数

标签 统计

python ×1

sorting ×1