当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《给定一个未排序的python列表,我如何找到排序所需的最小移动集》经验,为你挑选了0个好方法。

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

move item1 before item2
move item3 after item2

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

[1,3,2,7,6,0,4]

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

move 2 before 3
move 7 after 6
move 0 before 1
move 4 before 6

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

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

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

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有