1. 每次找剩下序列中的最大值,可以进行pancake sort,时间复杂度是O(n^2);

2. 求最少交换次数进行pancake sort的问题是个NP问题,搜索的时候,upper bound是2(n-1)次,而lowwer bound(即至少需要的步数)是剩下的序列中相邻两个元素不是排好序的个数,根据上面的两个bound可以进行剪纸,也可以考虑寻找状态重复情况,不过当n比较大时,就没有办法记录了吧;

3. 若Flip的复杂度是O(1),则可以使用插入排序的算法,遍历序列中的元素,然后在排好序的序列中二分查找后,通过几次Flip操作将序列调整成有序的,复杂度是O(nlgn)。

相关文章:

  • 2021-12-24
  • 2022-02-07
  • 2021-08-17
  • 2021-12-21
  • 2022-12-23
  • 2021-06-24
猜你喜欢
  • 2021-08-23
  • 2021-08-07
  • 2021-11-25
  • 2021-09-28
  • 2022-01-25
  • 2022-01-14
  • 2022-01-23
相关资源
相似解决方案